dump compiled

This commit is contained in:
DieMyst
2021-10-19 13:25:29 +03:00
parent cc595d3a93
commit e25bbc43f6
43 changed files with 2884 additions and 3347 deletions

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,24 +11,21 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
// Functions // Functions
export function put_value(initial_peer: string, value: string, config?: { ttl?: number }): Promise<string>;
export function put_value( export function put_value(initial_peer: string, value: string, config?: {ttl?: number}): Promise<string>;
peer: FluencePeer, export function put_value(peer: FluencePeer, initial_peer: string, value: string, config?: {ttl?: number}): Promise<string>;
initial_peer: string,
value: string,
config?: { ttl?: number },
): Promise<string>;
export function put_value(...args: any) { export function put_value(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let initial_peer: any; let initial_peer: any;
@ -50,8 +47,7 @@ export function put_value(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -112,12 +108,8 @@ export function put_value(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'initial_peer', () => { h.on('getDataSrv', 'initial_peer', () => {return initial_peer;});
return initial_peer; h.on('getDataSrv', 'value', () => {return value;});
});
h.on('getDataSrv', 'value', () => {
return value;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -130,10 +122,10 @@ export function put_value(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for put_value'); reject('Request timed out for put_value');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -142,23 +134,10 @@ export function put_value(...args: any) {
return promise; return promise;
} }
export function registerKeyPutValue(
node_id: string,
key: string, export function registerKeyPutValue(node_id: string, key: string, value: string, relay_id: string | null, service_id: string | null, config?: {ttl?: number}): Promise<string[]>;
value: string, export function registerKeyPutValue(peer: FluencePeer, node_id: string, key: string, value: string, relay_id: string | null, service_id: string | null, config?: {ttl?: number}): Promise<string[]>;
relay_id: string | null,
service_id: string | null,
config?: { ttl?: number },
): Promise<string[]>;
export function registerKeyPutValue(
peer: FluencePeer,
node_id: string,
key: string,
value: string,
relay_id: string | null,
service_id: string | null,
config?: { ttl?: number },
): Promise<string[]>;
export function registerKeyPutValue(...args: any) { export function registerKeyPutValue(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let node_id: any; let node_id: any;
@ -189,8 +168,7 @@ export function registerKeyPutValue(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -257,21 +235,11 @@ export function registerKeyPutValue(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'node_id', () => { h.on('getDataSrv', 'node_id', () => {return node_id;});
return node_id; h.on('getDataSrv', 'key', () => {return key;});
}); h.on('getDataSrv', 'value', () => {return value;});
h.on('getDataSrv', 'key', () => { h.on('getDataSrv', 'relay_id', () => {return relay_id === null ? [] : [relay_id];});
return key; h.on('getDataSrv', 'service_id', () => {return service_id === null ? [] : [service_id];});
});
h.on('getDataSrv', 'value', () => {
return value;
});
h.on('getDataSrv', 'relay_id', () => {
return relay_id === null ? [] : [relay_id];
});
h.on('getDataSrv', 'service_id', () => {
return service_id === null ? [] : [service_id];
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -284,10 +252,10 @@ export function registerKeyPutValue(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for registerKeyPutValue'); reject('Request timed out for registerKeyPutValue');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -296,13 +264,10 @@ export function registerKeyPutValue(...args: any) {
return promise; return promise;
} }
export function getNeighbours(node_id: string, topic: string, config?: { ttl?: number }): Promise<string[]>;
export function getNeighbours(
peer: FluencePeer, export function getNeighbours(node_id: string, topic: string, config?: {ttl?: number}): Promise<string[]>;
node_id: string, export function getNeighbours(peer: FluencePeer, node_id: string, topic: string, config?: {ttl?: number}): Promise<string[]>;
topic: string,
config?: { ttl?: number },
): Promise<string[]>;
export function getNeighbours(...args: any) { export function getNeighbours(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let node_id: any; let node_id: any;
@ -324,8 +289,7 @@ export function getNeighbours(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -366,12 +330,8 @@ export function getNeighbours(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'node_id', () => { h.on('getDataSrv', 'node_id', () => {return node_id;});
return node_id; h.on('getDataSrv', 'topic', () => {return topic;});
});
h.on('getDataSrv', 'topic', () => {
return topic;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -384,10 +344,10 @@ export function getNeighbours(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for getNeighbours'); reject('Request timed out for getNeighbours');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -396,37 +356,10 @@ export function getNeighbours(...args: any) {
return promise; return promise;
} }
export function findSubscribers(
node_id: string,
topic: string, export function findSubscribers(node_id: string, topic: string, config?: {ttl?: number}): Promise<{ peer_id: string; relay_id: string[]; service_id: string[]; set_by: string; timestamp_created: number; value: string; weight: number; }[]>;
config?: { ttl?: number }, export function findSubscribers(peer: FluencePeer, node_id: string, topic: string, config?: {ttl?: number}): Promise<{ peer_id: string; relay_id: string[]; service_id: string[]; set_by: string; timestamp_created: number; value: string; weight: number; }[]>;
): Promise<
{
peer_id: string;
relay_id: string[];
service_id: string[];
set_by: string;
timestamp_created: number;
value: string;
weight: number;
}[]
>;
export function findSubscribers(
peer: FluencePeer,
node_id: string,
topic: string,
config?: { ttl?: number },
): Promise<
{
peer_id: string;
relay_id: string[];
service_id: string[];
set_by: string;
timestamp_created: number;
value: string;
weight: number;
}[]
>;
export function findSubscribers(...args: any) { export function findSubscribers(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let node_id: any; let node_id: any;
@ -445,21 +378,10 @@ export function findSubscribers(...args: any) {
} }
let request: RequestFlow; let request: RequestFlow;
const promise = new Promise< const promise = new Promise<{ peer_id: string; relay_id: string[]; service_id: string[]; set_by: string; timestamp_created: number; value: string; weight: number; }[]>((resolve, reject) => {
{
peer_id: string;
relay_id: string[];
service_id: string[];
set_by: string;
timestamp_created: number;
value: string;
weight: number;
}[]
>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -535,12 +457,8 @@ export function findSubscribers(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'node_id', () => { h.on('getDataSrv', 'node_id', () => {return node_id;});
return node_id; h.on('getDataSrv', 'topic', () => {return topic;});
});
h.on('getDataSrv', 'topic', () => {
return topic;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -553,10 +471,10 @@ export function findSubscribers(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for findSubscribers'); reject('Request timed out for findSubscribers');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -565,23 +483,10 @@ export function findSubscribers(...args: any) {
return promise; return promise;
} }
export function initTopicAndSubscribe(
node_id: string,
topic: string, export function initTopicAndSubscribe(node_id: string, topic: string, value: string, relay_id: string | null, service_id: string | null, config?: {ttl?: number}): Promise<void>;
value: string, export function initTopicAndSubscribe(peer: FluencePeer, node_id: string, topic: string, value: string, relay_id: string | null, service_id: string | null, config?: {ttl?: number}): Promise<void>;
relay_id: string | null,
service_id: string | null,
config?: { ttl?: number },
): Promise<void>;
export function initTopicAndSubscribe(
peer: FluencePeer,
node_id: string,
topic: string,
value: string,
relay_id: string | null,
service_id: string | null,
config?: { ttl?: number },
): Promise<void>;
export function initTopicAndSubscribe(...args: any) { export function initTopicAndSubscribe(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let node_id: any; let node_id: any;
@ -612,8 +517,7 @@ export function initTopicAndSubscribe(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -677,22 +581,14 @@ export function initTopicAndSubscribe(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'node_id', () => { h.on('getDataSrv', 'node_id', () => {return node_id;});
return node_id; h.on('getDataSrv', 'topic', () => {return topic;});
h.on('getDataSrv', 'value', () => {return value;});
h.on('getDataSrv', 'relay_id', () => {return relay_id === null ? [] : [relay_id];});
h.on('getDataSrv', 'service_id', () => {return service_id === null ? [] : [service_id];});
h.onEvent('callbackSrv', 'response', (args) => {
}); });
h.on('getDataSrv', 'topic', () => {
return topic;
});
h.on('getDataSrv', 'value', () => {
return value;
});
h.on('getDataSrv', 'relay_id', () => {
return relay_id === null ? [] : [relay_id];
});
h.on('getDataSrv', 'service_id', () => {
return service_id === null ? [] : [service_id];
});
h.onEvent('callbackSrv', 'response', (args) => {});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -701,10 +597,10 @@ export function initTopicAndSubscribe(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for initTopicAndSubscribe'); reject('Request timed out for initTopicAndSubscribe');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,28 +11,26 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
export interface ComplexServiceDef { export interface ComplexServiceDef {
call: ( call: (d: { otherValue: number; value: string; }, sd: { complex: { someNum: number; someStr: string; }; value: string; }, callParams: CallParams<'d' | 'sd'>) => { someNum: number; someStr: string; };
d: { otherValue: number; value: string }, identity: (callParams: CallParams<null>) => { complex: { someNum: number; someStr: string; }; value: string; };
sd: { complex: { someNum: number; someStr: string }; value: string },
callParams: CallParams<'d' | 'sd'>,
) => { someNum: number; someStr: string };
identity: (callParams: CallParams<null>) => { complex: { someNum: number; someStr: string }; value: string };
} }
export function registerComplexService(service: ComplexServiceDef): void; export function registerComplexService(service: ComplexServiceDef): void;
export function registerComplexService(serviceId: string, service: ComplexServiceDef): void; export function registerComplexService(serviceId: string, service: ComplexServiceDef): void;
export function registerComplexService(peer: FluencePeer, service: ComplexServiceDef): void; export function registerComplexService(peer: FluencePeer, service: ComplexServiceDef): void;
export function registerComplexService(peer: FluencePeer, serviceId: string, service: ComplexServiceDef): void; export function registerComplexService(peer: FluencePeer, serviceId: string, service: ComplexServiceDef): void;
export function registerComplexService(...args: any) { export function registerComplexService(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -48,7 +46,7 @@ export function registerComplexService(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'op-ha'; serviceId = "op-ha"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -56,7 +54,7 @@ export function registerComplexService(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -66,10 +64,7 @@ export function registerComplexService(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['call', 'identity']); const incorrectServiceDefinitions = missingFields(service, ['call', 'identity']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service ComplexService: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service ComplexService: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -82,21 +77,22 @@ export function registerComplexService(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
d: req.tetraplets[0], d: req.tetraplets[0],sd: req.tetraplets[1]
sd: req.tetraplets[1],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.call(req.args[0], req.args[1], callParams); resp.result = service.call(req.args[0], req.args[1], callParams)
} }
if (req.fnName === 'identity') { if (req.fnName === 'identity') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.identity(callParams); resp.result = service.identity(callParams)
} }
next(); next();
@ -104,30 +100,12 @@ export function registerComplexService(...args: any) {
} }
// Functions // Functions
export type DoSmthArgD = { otherValue: number; value: string; }
export function doSmth( export type DoSmthArgD2 = { otherValue: number; value: string; }
d: { otherValue: number; value: string }, export type DoSmthArgSd = { complex: { someNum: number; someStr: string; }; value: string; }
d2: { otherValue: number; value: string }, export type DoSmthResult = { complex: { otherValue: number; value: string; }; value: string; }
sd: { complex: { someNum: number; someStr: string }; value: string }, export function doSmth(d: DoSmthArgD, d2: DoSmthArgD2, sd: DoSmthArgSd, c: (arg0: { someNum: number; someStr: string; }, arg1: { complex: { someNum: number; someStr: string; }; value: string; }, callParams: CallParams<'arg0' | 'arg1'>) => { complex: { otherValue: number; value: string; }; value: string; }, config?: {ttl?: number}): Promise<DoSmthResult>;
c: ( export function doSmth(peer: FluencePeer, d: DoSmthArgD, d2: DoSmthArgD2, sd: DoSmthArgSd, c: (arg0: { someNum: number; someStr: string; }, arg1: { complex: { someNum: number; someStr: string; }; value: string; }, callParams: CallParams<'arg0' | 'arg1'>) => { complex: { otherValue: number; value: string; }; value: string; }, config?: {ttl?: number}): Promise<DoSmthResult>;
arg0: { someNum: number; someStr: string },
arg1: { complex: { someNum: number; someStr: string }; value: string },
callParams: CallParams<'arg0' | 'arg1'>,
) => { complex: { otherValue: number; value: string }; value: string },
config?: { ttl?: number },
): Promise<{ complex: { otherValue: number; value: string }; value: string }>;
export function doSmth(
peer: FluencePeer,
d: { otherValue: number; value: string },
d2: { otherValue: number; value: string },
sd: { complex: { someNum: number; someStr: string }; value: string },
c: (
arg0: { someNum: number; someStr: string },
arg1: { complex: { someNum: number; someStr: string }; value: string },
callParams: CallParams<'arg0' | 'arg1'>,
) => { complex: { otherValue: number; value: string }; value: string },
config?: { ttl?: number },
): Promise<{ complex: { otherValue: number; value: string }; value: string }>;
export function doSmth(...args: any) { export function doSmth(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let d: any; let d: any;
@ -152,12 +130,10 @@ export function doSmth(...args: any) {
} }
let request: RequestFlow; let request: RequestFlow;
const promise = new Promise<{ complex: { otherValue: number; value: string }; value: string }>( const promise = new Promise<DoSmthResult>((resolve, reject) => {
(resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -192,26 +168,19 @@ export function doSmth(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'd', () => { h.on('getDataSrv', 'd', () => {return d;});
return d; h.on('getDataSrv', 'd2', () => {return d2;});
}); h.on('getDataSrv', 'sd', () => {return sd;});
h.on('getDataSrv', 'd2', () => {
return d2;
});
h.on('getDataSrv', 'sd', () => {
return sd;
});
h.use((req, resp, next) => { h.use((req, resp, next) => {
if (req.serviceId === 'callbackSrv' && req.fnName === 'c') { if(req.serviceId === 'callbackSrv' && req.fnName === 'c') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0],arg1: req.tetraplets[1]
arg1: req.tetraplets[1],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = c(req.args[0], req.args[1], callParams); resp.result = c(req.args[0], req.args[1], callParams)
} }
next(); next();
}); });
@ -228,15 +197,14 @@ export function doSmth(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for doSmth'); reject('Request timed out for doSmth');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
}, });
);
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return promise; return promise;
} }

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,24 +11,26 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
export interface OpHaDef { export interface OpHaDef {
array: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string[]; array: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string[];
identity: (a: string, callParams: CallParams<'a'>) => string; identity: (a: string, callParams: CallParams<'a'>) => string;
} }
export function registerOpHa(service: OpHaDef): void; export function registerOpHa(service: OpHaDef): void;
export function registerOpHa(serviceId: string, service: OpHaDef): void; export function registerOpHa(serviceId: string, service: OpHaDef): void;
export function registerOpHa(peer: FluencePeer, service: OpHaDef): void; export function registerOpHa(peer: FluencePeer, service: OpHaDef): void;
export function registerOpHa(peer: FluencePeer, serviceId: string, service: OpHaDef): void; export function registerOpHa(peer: FluencePeer, serviceId: string, service: OpHaDef): void;
export function registerOpHa(...args: any) { export function registerOpHa(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -44,7 +46,7 @@ export function registerOpHa(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'op'; serviceId = "op"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -52,7 +54,7 @@ export function registerOpHa(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -62,10 +64,7 @@ export function registerOpHa(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['array', 'identity']); const incorrectServiceDefinitions = missingFields(service, ['array', 'identity']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service OpHa: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service OpHa: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -78,23 +77,22 @@ export function registerOpHa(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
a: req.tetraplets[0], a: req.tetraplets[0],b: req.tetraplets[1]
b: req.tetraplets[1],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.array(req.args[0], req.args[1], callParams); resp.result = service.array(req.args[0], req.args[1], callParams)
} }
if (req.fnName === 'identity') { if (req.fnName === 'identity') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
a: req.tetraplets[0], a: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.identity(req.args[0], callParams); resp.result = service.identity(req.args[0], callParams)
} }
next(); next();
@ -102,9 +100,10 @@ export function registerOpHa(...args: any) {
} }
// Functions // Functions
export type DoSmthArgArg = { value: string; }
export function doSmth(arg: { value: string }, config?: { ttl?: number }): Promise<string[]>; export function doSmth(arg: DoSmthArgArg, config?: {ttl?: number}): Promise<string[]>;
export function doSmth(peer: FluencePeer, arg: { value: string }, config?: { ttl?: number }): Promise<string[]>; export function doSmth(peer: FluencePeer, arg: DoSmthArgArg, config?: {ttl?: number}): Promise<string[]>;
export function doSmth(...args: any) { export function doSmth(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let arg: any; let arg: any;
@ -123,8 +122,7 @@ export function doSmth(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -150,9 +148,7 @@ export function doSmth(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'arg', () => { h.on('getDataSrv', 'arg', () => {return arg;});
return arg;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -165,10 +161,10 @@ export function doSmth(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for doSmth'); reject('Request timed out for doSmth');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,30 +11,21 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
// Functions // Functions
export function passFunctionAsArg(
node: string, export function passFunctionAsArg(node: string, str: string, c: (arg0: string, callParams: CallParams<'arg0'>) => string, config?: {ttl?: number}): Promise<void>;
str: string, export function passFunctionAsArg(peer: FluencePeer, node: string, str: string, c: (arg0: string, callParams: CallParams<'arg0'>) => string, config?: {ttl?: number}): Promise<void>;
c: (arg0: string, callParams: CallParams<'arg0'>) => string,
config?: { ttl?: number },
): Promise<void>;
export function passFunctionAsArg(
peer: FluencePeer,
node: string,
str: string,
c: (arg0: string, callParams: CallParams<'arg0'>) => string,
config?: { ttl?: number },
): Promise<void>;
export function passFunctionAsArg(...args: any) { export function passFunctionAsArg(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let node: any; let node: any;
@ -59,8 +50,7 @@ export function passFunctionAsArg(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -110,27 +100,25 @@ export function passFunctionAsArg(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'node', () => { h.on('getDataSrv', 'node', () => {return node;});
return node; h.on('getDataSrv', 'str', () => {return str;});
});
h.on('getDataSrv', 'str', () => {
return str;
});
h.use((req, resp, next) => { h.use((req, resp, next) => {
if (req.serviceId === 'callbackSrv' && req.fnName === 'c') { if(req.serviceId === 'callbackSrv' && req.fnName === 'c') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = c(req.args[0], callParams); resp.result = c(req.args[0], callParams)
} }
next(); next();
}); });
h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('callbackSrv', 'response', (args) => {
});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -139,10 +127,10 @@ export function passFunctionAsArg(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for passFunctionAsArg'); reject('Request timed out for passFunctionAsArg');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface CoServiceDef { export interface CoServiceDef {
call: (callParams: CallParams<null>) => string; call: (callParams: CallParams<null>) => string;
} }
export function registerCoService(service: CoServiceDef): void; export function registerCoService(service: CoServiceDef): void;
export function registerCoService(serviceId: string, service: CoServiceDef): void; export function registerCoService(serviceId: string, service: CoServiceDef): void;
export function registerCoService(peer: FluencePeer, service: CoServiceDef): void; export function registerCoService(peer: FluencePeer, service: CoServiceDef): void;
export function registerCoService(peer: FluencePeer, serviceId: string, service: CoServiceDef): void; export function registerCoService(peer: FluencePeer, serviceId: string, service: CoServiceDef): void;
export function registerCoService(...args: any) { export function registerCoService(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerCoService(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'coservice-id'; serviceId = "coservice-id"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerCoService(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerCoService(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['call']); const incorrectServiceDefinitions = missingFields(service, ['call']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service CoService: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service CoService: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -76,10 +75,12 @@ export function registerCoService(...args: any) {
if (req.fnName === 'call') { if (req.fnName === 'call') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.call(callParams); resp.result = service.call(callParams)
} }
next(); next();
@ -88,17 +89,9 @@ export function registerCoService(...args: any) {
// Functions // Functions
export function coFunc(
node: string, export function coFunc(node: string, c: (arg0: { external_addresses: string[]; }, callParams: CallParams<'arg0'>) => void, config?: {ttl?: number}): Promise<void>;
c: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void, export function coFunc(peer: FluencePeer, node: string, c: (arg0: { external_addresses: string[]; }, callParams: CallParams<'arg0'>) => void, config?: {ttl?: number}): Promise<void>;
config?: { ttl?: number },
): Promise<void>;
export function coFunc(
peer: FluencePeer,
node: string,
c: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void,
config?: { ttl?: number },
): Promise<void>;
export function coFunc(...args: any) { export function coFunc(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let node: any; let node: any;
@ -120,8 +113,7 @@ export function coFunc(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -162,25 +154,24 @@ export function coFunc(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'node', () => { h.on('getDataSrv', 'node', () => {return node;});
return node;
});
h.use((req, resp, next) => { h.use((req, resp, next) => {
if (req.serviceId === 'callbackSrv' && req.fnName === 'c') { if(req.serviceId === 'callbackSrv' && req.fnName === 'c') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
c(req.args[0], callParams); c(req.args[0], callParams); resp.result = {}
resp.result = {};
} }
next(); next();
}); });
h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('callbackSrv', 'response', (args) => {
});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -189,10 +180,10 @@ export function coFunc(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for coFunc'); reject('Request timed out for coFunc');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,24 +11,26 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
export interface TestSDef { export interface TestSDef {
multiline: (a: string, b: string, c: boolean, callParams: CallParams<'a' | 'b' | 'c'>) => string; multiline: (a: string, b: string, c: boolean, callParams: CallParams<'a' | 'b' | 'c'>) => string;
t: (arg0: string, callParams: CallParams<'arg0'>) => string; t: (arg0: string, callParams: CallParams<'arg0'>) => string;
} }
export function registerTestS(service: TestSDef): void; export function registerTestS(service: TestSDef): void;
export function registerTestS(serviceId: string, service: TestSDef): void; export function registerTestS(serviceId: string, service: TestSDef): void;
export function registerTestS(peer: FluencePeer, service: TestSDef): void; export function registerTestS(peer: FluencePeer, service: TestSDef): void;
export function registerTestS(peer: FluencePeer, serviceId: string, service: TestSDef): void; export function registerTestS(peer: FluencePeer, serviceId: string, service: TestSDef): void;
export function registerTestS(...args: any) { export function registerTestS(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -44,7 +46,7 @@ export function registerTestS(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'some-id'; serviceId = "some-id"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -52,7 +54,7 @@ export function registerTestS(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -62,10 +64,7 @@ export function registerTestS(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['multiline', 't']); const incorrectServiceDefinitions = missingFields(service, ['multiline', 't']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service TestS: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service TestS: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -78,24 +77,22 @@ export function registerTestS(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
a: req.tetraplets[0], a: req.tetraplets[0],b: req.tetraplets[1],c: req.tetraplets[2]
b: req.tetraplets[1],
c: req.tetraplets[2],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.multiline(req.args[0], req.args[1], req.args[2], callParams); resp.result = service.multiline(req.args[0], req.args[1], req.args[2], callParams)
} }
if (req.fnName === 't') { if (req.fnName === 't') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.t(req.args[0], callParams); resp.result = service.t(req.args[0], callParams)
} }
next(); next();
@ -104,27 +101,9 @@ export function registerTestS(...args: any) {
// Functions // Functions
export function doStuff(
a: string, export function doStuff(a: string, b: string, c: boolean, d: boolean, e: string[], g: string[], str: string, config?: {ttl?: number}): Promise<string[]>;
b: string, export function doStuff(peer: FluencePeer, a: string, b: string, c: boolean, d: boolean, e: string[], g: string[], str: string, config?: {ttl?: number}): Promise<string[]>;
c: boolean,
d: boolean,
e: string[],
g: string[],
str: string,
config?: { ttl?: number },
): Promise<string[]>;
export function doStuff(
peer: FluencePeer,
a: string,
b: string,
c: boolean,
d: boolean,
e: string[],
g: string[],
str: string,
config?: { ttl?: number },
): Promise<string[]>;
export function doStuff(...args: any) { export function doStuff(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let a: any; let a: any;
@ -161,8 +140,7 @@ export function doStuff(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -280,27 +258,13 @@ export function doStuff(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'a', () => { h.on('getDataSrv', 'a', () => {return a;});
return a; h.on('getDataSrv', 'b', () => {return b;});
}); h.on('getDataSrv', 'c', () => {return c;});
h.on('getDataSrv', 'b', () => { h.on('getDataSrv', 'd', () => {return d;});
return b; h.on('getDataSrv', 'e', () => {return e;});
}); h.on('getDataSrv', 'g', () => {return g;});
h.on('getDataSrv', 'c', () => { h.on('getDataSrv', 'str', () => {return str;});
return c;
});
h.on('getDataSrv', 'd', () => {
return d;
});
h.on('getDataSrv', 'e', () => {
return e;
});
h.on('getDataSrv', 'g', () => {
return g;
});
h.on('getDataSrv', 'str', () => {
return str;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -313,10 +277,10 @@ export function doStuff(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for doStuff'); reject('Request timed out for doStuff');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface GetterDef { export interface GetterDef {
createStr: (arg0: number, callParams: CallParams<'arg0'>) => string; createStr: (arg0: number, callParams: CallParams<'arg0'>) => string;
} }
export function registerGetter(service: GetterDef): void; export function registerGetter(service: GetterDef): void;
export function registerGetter(serviceId: string, service: GetterDef): void; export function registerGetter(serviceId: string, service: GetterDef): void;
export function registerGetter(peer: FluencePeer, service: GetterDef): void; export function registerGetter(peer: FluencePeer, service: GetterDef): void;
export function registerGetter(peer: FluencePeer, serviceId: string, service: GetterDef): void; export function registerGetter(peer: FluencePeer, serviceId: string, service: GetterDef): void;
export function registerGetter(...args: any) { export function registerGetter(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerGetter(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'test'; serviceId = "test"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerGetter(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerGetter(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['createStr']); const incorrectServiceDefinitions = missingFields(service, ['createStr']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service Getter: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service Getter: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,25 +76,28 @@ export function registerGetter(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.createStr(req.args[0], callParams); resp.result = service.createStr(req.args[0], callParams)
} }
next(); next();
}); });
} }
export interface OpODef { export interface OpODef {
identity: (arg0: string, callParams: CallParams<'arg0'>) => string; identity: (arg0: string, callParams: CallParams<'arg0'>) => string;
} }
export function registerOpO(service: OpODef): void; export function registerOpO(service: OpODef): void;
export function registerOpO(serviceId: string, service: OpODef): void; export function registerOpO(serviceId: string, service: OpODef): void;
export function registerOpO(peer: FluencePeer, service: OpODef): void; export function registerOpO(peer: FluencePeer, service: OpODef): void;
export function registerOpO(peer: FluencePeer, serviceId: string, service: OpODef): void; export function registerOpO(peer: FluencePeer, serviceId: string, service: OpODef): void;
export function registerOpO(...args: any) { export function registerOpO(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -111,7 +113,7 @@ export function registerOpO(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'op'; serviceId = "op"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -119,7 +121,7 @@ export function registerOpO(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -129,10 +131,7 @@ export function registerOpO(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['identity']); const incorrectServiceDefinitions = missingFields(service, ['identity']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service OpO: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service OpO: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -145,11 +144,11 @@ export function registerOpO(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.identity(req.args[0], callParams); resp.result = service.identity(req.args[0], callParams)
} }
next(); next();
@ -158,8 +157,9 @@ export function registerOpO(...args: any) {
// Functions // Functions
export function callConstant(config?: { ttl?: number }): Promise<string[]>;
export function callConstant(peer: FluencePeer, config?: { ttl?: number }): Promise<string[]>; export function callConstant(config?: {ttl?: number}): Promise<string[]>;
export function callConstant(peer: FluencePeer, config?: {ttl?: number}): Promise<string[]>;
export function callConstant(...args: any) { export function callConstant(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -176,8 +176,7 @@ export function callConstant(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -213,10 +212,10 @@ export function callConstant(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for callConstant'); reject('Request timed out for callConstant');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,23 +11,25 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
export interface NodeIdGetterDef { export interface NodeIdGetterDef {
get: (callParams: CallParams<null>) => { name: string; peerId: string }; get: (callParams: CallParams<null>) => { name: string; peerId: string; };
} }
export function registerNodeIdGetter(service: NodeIdGetterDef): void; export function registerNodeIdGetter(service: NodeIdGetterDef): void;
export function registerNodeIdGetter(serviceId: string, service: NodeIdGetterDef): void; export function registerNodeIdGetter(serviceId: string, service: NodeIdGetterDef): void;
export function registerNodeIdGetter(peer: FluencePeer, service: NodeIdGetterDef): void; export function registerNodeIdGetter(peer: FluencePeer, service: NodeIdGetterDef): void;
export function registerNodeIdGetter(peer: FluencePeer, serviceId: string, service: NodeIdGetterDef): void; export function registerNodeIdGetter(peer: FluencePeer, serviceId: string, service: NodeIdGetterDef): void;
export function registerNodeIdGetter(...args: any) { export function registerNodeIdGetter(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerNodeIdGetter(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'somesrv'; serviceId = "somesrv"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerNodeIdGetter(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerNodeIdGetter(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['get']); const incorrectServiceDefinitions = missingFields(service, ['get']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service NodeIdGetter: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service NodeIdGetter: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -76,10 +75,12 @@ export function registerNodeIdGetter(...args: any) {
if (req.fnName === 'get') { if (req.fnName === 'get') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.get(callParams); resp.result = service.get(callParams)
} }
next(); next();
@ -88,8 +89,9 @@ export function registerNodeIdGetter(...args: any) {
// Functions // Functions
export function getAliasedData(config?: { ttl?: number }): Promise<string>;
export function getAliasedData(peer: FluencePeer, config?: { ttl?: number }): Promise<string>; export function getAliasedData(config?: {ttl?: number}): Promise<string>;
export function getAliasedData(peer: FluencePeer, config?: {ttl?: number}): Promise<string>;
export function getAliasedData(...args: any) { export function getAliasedData(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -106,8 +108,7 @@ export function getAliasedData(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -140,10 +141,10 @@ export function getAliasedData(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for getAliasedData'); reject('Request timed out for getAliasedData');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface PeerDef { export interface PeerDef {
is_connected: (arg0: string, callParams: CallParams<'arg0'>) => boolean; is_connected: (arg0: string, callParams: CallParams<'arg0'>) => boolean;
} }
export function registerPeer(service: PeerDef): void; export function registerPeer(service: PeerDef): void;
export function registerPeer(serviceId: string, service: PeerDef): void; export function registerPeer(serviceId: string, service: PeerDef): void;
export function registerPeer(peer: FluencePeer, service: PeerDef): void; export function registerPeer(peer: FluencePeer, service: PeerDef): void;
export function registerPeer(peer: FluencePeer, serviceId: string, service: PeerDef): void; export function registerPeer(peer: FluencePeer, serviceId: string, service: PeerDef): void;
export function registerPeer(...args: any) { export function registerPeer(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerPeer(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'peer'; serviceId = "peer"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerPeer(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerPeer(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['is_connected']); const incorrectServiceDefinitions = missingFields(service, ['is_connected']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service Peer: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service Peer: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,25 +76,28 @@ export function registerPeer(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.is_connected(req.args[0], callParams); resp.result = service.is_connected(req.args[0], callParams)
} }
next(); next();
}); });
} }
export interface OpDef { export interface OpDef {
identity: (callParams: CallParams<null>) => void; identity: (callParams: CallParams<null>) => void;
} }
export function registerOp(service: OpDef): void; export function registerOp(service: OpDef): void;
export function registerOp(serviceId: string, service: OpDef): void; export function registerOp(serviceId: string, service: OpDef): void;
export function registerOp(peer: FluencePeer, service: OpDef): void; export function registerOp(peer: FluencePeer, service: OpDef): void;
export function registerOp(peer: FluencePeer, serviceId: string, service: OpDef): void; export function registerOp(peer: FluencePeer, serviceId: string, service: OpDef): void;
export function registerOp(...args: any) { export function registerOp(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -111,7 +113,7 @@ export function registerOp(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'op'; serviceId = "op"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -119,7 +121,7 @@ export function registerOp(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -129,10 +131,7 @@ export function registerOp(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['identity']); const incorrectServiceDefinitions = missingFields(service, ['identity']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service Op: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service Op: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -144,26 +143,30 @@ export function registerOp(...args: any) {
if (req.fnName === 'identity') { if (req.fnName === 'identity') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
service.identity(callParams); service.identity(callParams); resp.result = {}
resp.result = {};
} }
next(); next();
}); });
} }
export interface TestDef { export interface TestDef {
doSomething: (callParams: CallParams<null>) => boolean; doSomething: (callParams: CallParams<null>) => boolean;
getUserList: (callParams: CallParams<null>) => { name: string; peer_id: string; relay_id: string }[]; getUserList: (callParams: CallParams<null>) => { name: string; peer_id: string; relay_id: string; }[];
} }
export function registerTest(service: TestDef): void; export function registerTest(service: TestDef): void;
export function registerTest(serviceId: string, service: TestDef): void; export function registerTest(serviceId: string, service: TestDef): void;
export function registerTest(peer: FluencePeer, service: TestDef): void; export function registerTest(peer: FluencePeer, service: TestDef): void;
export function registerTest(peer: FluencePeer, serviceId: string, service: TestDef): void; export function registerTest(peer: FluencePeer, serviceId: string, service: TestDef): void;
export function registerTest(...args: any) { export function registerTest(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -179,7 +182,7 @@ export function registerTest(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'test'; serviceId = "test"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -187,7 +190,7 @@ export function registerTest(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -197,10 +200,7 @@ export function registerTest(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['doSomething', 'getUserList']); const incorrectServiceDefinitions = missingFields(service, ['doSomething', 'getUserList']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service Test: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service Test: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -212,19 +212,23 @@ export function registerTest(...args: any) {
if (req.fnName === 'doSomething') { if (req.fnName === 'doSomething') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.doSomething(callParams); resp.result = service.doSomething(callParams)
} }
if (req.fnName === 'getUserList') { if (req.fnName === 'getUserList') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.getUserList(callParams); resp.result = service.getUserList(callParams)
} }
next(); next();
@ -233,8 +237,9 @@ export function registerTest(...args: any) {
// Functions // Functions
export function betterMessage(relay: string, config?: { ttl?: number }): Promise<void>;
export function betterMessage(peer: FluencePeer, relay: string, config?: { ttl?: number }): Promise<void>; export function betterMessage(relay: string, config?: {ttl?: number}): Promise<void>;
export function betterMessage(peer: FluencePeer, relay: string, config?: {ttl?: number}): Promise<void>;
export function betterMessage(...args: any) { export function betterMessage(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let relay: any; let relay: any;
@ -253,8 +258,7 @@ export function betterMessage(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -294,10 +298,10 @@ export function betterMessage(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'relay', () => { h.on('getDataSrv', 'relay', () => {return relay;});
return relay; h.onEvent('callbackSrv', 'response', (args) => {
}); });
h.onEvent('callbackSrv', 'response', (args) => {});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -306,10 +310,10 @@ export function betterMessage(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for betterMessage'); reject('Request timed out for betterMessage');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,23 +11,25 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
export interface ReturnDef { export interface ReturnDef {
run: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void; run: (arg0: { external_addresses: string[]; }, callParams: CallParams<'arg0'>) => void;
} }
export function registerReturn(service: ReturnDef): void; export function registerReturn(service: ReturnDef): void;
export function registerReturn(serviceId: string, service: ReturnDef): void; export function registerReturn(serviceId: string, service: ReturnDef): void;
export function registerReturn(peer: FluencePeer, service: ReturnDef): void; export function registerReturn(peer: FluencePeer, service: ReturnDef): void;
export function registerReturn(peer: FluencePeer, serviceId: string, service: ReturnDef): void; export function registerReturn(peer: FluencePeer, serviceId: string, service: ReturnDef): void;
export function registerReturn(...args: any) { export function registerReturn(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerReturn(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'returnService'; serviceId = "returnService"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerReturn(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerReturn(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['run']); const incorrectServiceDefinitions = missingFields(service, ['run']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service Return: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service Return: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,12 +76,11 @@ export function registerReturn(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
service.run(req.args[0], callParams); service.run(req.args[0], callParams); resp.result = {}
resp.result = {};
} }
next(); next();
@ -91,8 +89,9 @@ export function registerReturn(...args: any) {
// Functions // Functions
export function test(node: string, config?: { ttl?: number }): Promise<void>;
export function test(peer: FluencePeer, node: string, config?: { ttl?: number }): Promise<void>; export function test(node: string, config?: {ttl?: number}): Promise<void>;
export function test(peer: FluencePeer, node: string, config?: {ttl?: number}): Promise<void>;
export function test(...args: any) { export function test(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let node: any; let node: any;
@ -111,8 +110,7 @@ export function test(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -144,10 +142,10 @@ export function test(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'node', () => { h.on('getDataSrv', 'node', () => {return node;});
return node; h.onEvent('callbackSrv', 'response', (args) => {
}); });
h.onEvent('callbackSrv', 'response', (args) => {});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -156,10 +154,10 @@ export function test(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for test'); reject('Request timed out for test');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,19 +11,21 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
// Functions // Functions
export function iterateAndPrint(strings: string[], config?: { ttl?: number }): Promise<void>;
export function iterateAndPrint(peer: FluencePeer, strings: string[], config?: { ttl?: number }): Promise<void>; export function iterateAndPrint(strings: string[], config?: {ttl?: number}): Promise<void>;
export function iterateAndPrint(peer: FluencePeer, strings: string[], config?: {ttl?: number}): Promise<void>;
export function iterateAndPrint(...args: any) { export function iterateAndPrint(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let strings: any; let strings: any;
@ -42,8 +44,7 @@ export function iterateAndPrint(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -65,10 +66,10 @@ export function iterateAndPrint(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'strings', () => { h.on('getDataSrv', 'strings', () => {return strings;});
return strings; h.onEvent('callbackSrv', 'response', (args) => {
}); });
h.onEvent('callbackSrv', 'response', (args) => {});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -77,10 +78,10 @@ export function iterateAndPrint(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for iterateAndPrint'); reject('Request timed out for iterateAndPrint');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -89,17 +90,10 @@ export function iterateAndPrint(...args: any) {
return Promise.race([promise, Promise.resolve()]); return Promise.race([promise, Promise.resolve()]);
} }
export function iterateAndPrintParallel(
nodes: string[],
c: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void, export function iterateAndPrintParallel(nodes: string[], c: (arg0: { external_addresses: string[]; }, callParams: CallParams<'arg0'>) => void, config?: {ttl?: number}): Promise<void>;
config?: { ttl?: number }, export function iterateAndPrintParallel(peer: FluencePeer, nodes: string[], c: (arg0: { external_addresses: string[]; }, callParams: CallParams<'arg0'>) => void, config?: {ttl?: number}): Promise<void>;
): Promise<void>;
export function iterateAndPrintParallel(
peer: FluencePeer,
nodes: string[],
c: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void,
config?: { ttl?: number },
): Promise<void>;
export function iterateAndPrintParallel(...args: any) { export function iterateAndPrintParallel(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let nodes: any; let nodes: any;
@ -121,8 +115,7 @@ export function iterateAndPrintParallel(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -159,25 +152,24 @@ export function iterateAndPrintParallel(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'nodes', () => { h.on('getDataSrv', 'nodes', () => {return nodes;});
return nodes;
});
h.use((req, resp, next) => { h.use((req, resp, next) => {
if (req.serviceId === 'callbackSrv' && req.fnName === 'c') { if(req.serviceId === 'callbackSrv' && req.fnName === 'c') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
c(req.args[0], callParams); c(req.args[0], callParams); resp.result = {}
resp.result = {};
} }
next(); next();
}); });
h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('callbackSrv', 'response', (args) => {
});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -186,10 +178,10 @@ export function iterateAndPrintParallel(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for iterateAndPrintParallel'); reject('Request timed out for iterateAndPrintParallel');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface Op2Def { export interface Op2Def {
identity: (s: number, callParams: CallParams<'s'>) => void; identity: (s: number, callParams: CallParams<'s'>) => void;
} }
export function registerOp2(service: Op2Def): void; export function registerOp2(service: Op2Def): void;
export function registerOp2(serviceId: string, service: Op2Def): void; export function registerOp2(serviceId: string, service: Op2Def): void;
export function registerOp2(peer: FluencePeer, service: Op2Def): void; export function registerOp2(peer: FluencePeer, service: Op2Def): void;
export function registerOp2(peer: FluencePeer, serviceId: string, service: Op2Def): void; export function registerOp2(peer: FluencePeer, serviceId: string, service: Op2Def): void;
export function registerOp2(...args: any) { export function registerOp2(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerOp2(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'op'; serviceId = "op"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerOp2(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerOp2(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['identity']); const incorrectServiceDefinitions = missingFields(service, ['identity']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service Op2: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service Op2: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,12 +76,11 @@ export function registerOp2(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0], s: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
service.identity(req.args[0], callParams); service.identity(req.args[0], callParams); resp.result = {}
resp.result = {};
} }
next(); next();
@ -91,8 +89,9 @@ export function registerOp2(...args: any) {
// Functions // Functions
export function getTwoResults(relay: string, config?: { ttl?: number }): Promise<number[]>;
export function getTwoResults(peer: FluencePeer, relay: string, config?: { ttl?: number }): Promise<number[]>; export function getTwoResults(relay: string, config?: {ttl?: number}): Promise<number[]>;
export function getTwoResults(peer: FluencePeer, relay: string, config?: {ttl?: number}): Promise<number[]>;
export function getTwoResults(...args: any) { export function getTwoResults(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let relay: any; let relay: any;
@ -111,8 +110,7 @@ export function getTwoResults(...args: any) {
const promise = new Promise<number[]>((resolve, reject) => { const promise = new Promise<number[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -173,9 +171,7 @@ export function getTwoResults(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'relay', () => { h.on('getDataSrv', 'relay', () => {return relay;});
return relay;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -188,10 +184,10 @@ export function getTwoResults(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for getTwoResults'); reject('Request timed out for getTwoResults');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface TestSrvDef { export interface TestSrvDef {
str: (callParams: CallParams<null>) => string; str: (callParams: CallParams<null>) => string;
} }
export function registerTestSrv(service: TestSrvDef): void; export function registerTestSrv(service: TestSrvDef): void;
export function registerTestSrv(serviceId: string, service: TestSrvDef): void; export function registerTestSrv(serviceId: string, service: TestSrvDef): void;
export function registerTestSrv(peer: FluencePeer, service: TestSrvDef): void; export function registerTestSrv(peer: FluencePeer, service: TestSrvDef): void;
export function registerTestSrv(peer: FluencePeer, serviceId: string, service: TestSrvDef): void; export function registerTestSrv(peer: FluencePeer, serviceId: string, service: TestSrvDef): void;
export function registerTestSrv(...args: any) { export function registerTestSrv(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerTestSrv(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'test-service-id'; serviceId = "test-service-id"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerTestSrv(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerTestSrv(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['str']); const incorrectServiceDefinitions = missingFields(service, ['str']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service TestSrv: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service TestSrv: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -76,10 +75,12 @@ export function registerTestSrv(...args: any) {
if (req.fnName === 'str') { if (req.fnName === 'str') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.str(callParams); resp.result = service.str(callParams)
} }
next(); next();
@ -88,8 +89,9 @@ export function registerTestSrv(...args: any) {
// Functions // Functions
export function testFunc(config?: { ttl?: number }): Promise<string>;
export function testFunc(peer: FluencePeer, config?: { ttl?: number }): Promise<string>; export function testFunc(config?: {ttl?: number}): Promise<string>;
export function testFunc(peer: FluencePeer, config?: {ttl?: number}): Promise<string>;
export function testFunc(...args: any) { export function testFunc(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -106,8 +108,7 @@ export function testFunc(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -140,10 +141,10 @@ export function testFunc(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for testFunc'); reject('Request timed out for testFunc');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface StringExtraDef { export interface StringExtraDef {
addNameToHello: (arg0: string, callParams: CallParams<'arg0'>) => string; addNameToHello: (arg0: string, callParams: CallParams<'arg0'>) => string;
} }
export function registerStringExtra(service: StringExtraDef): void; export function registerStringExtra(service: StringExtraDef): void;
export function registerStringExtra(serviceId: string, service: StringExtraDef): void; export function registerStringExtra(serviceId: string, service: StringExtraDef): void;
export function registerStringExtra(peer: FluencePeer, service: StringExtraDef): void; export function registerStringExtra(peer: FluencePeer, service: StringExtraDef): void;
export function registerStringExtra(peer: FluencePeer, serviceId: string, service: StringExtraDef): void; export function registerStringExtra(peer: FluencePeer, serviceId: string, service: StringExtraDef): void;
export function registerStringExtra(...args: any) { export function registerStringExtra(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerStringExtra(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'service-id'; serviceId = "service-id"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerStringExtra(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerStringExtra(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['addNameToHello']); const incorrectServiceDefinitions = missingFields(service, ['addNameToHello']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service StringExtra: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service StringExtra: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,11 +76,11 @@ export function registerStringExtra(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.addNameToHello(req.args[0], callParams); resp.result = service.addNameToHello(req.args[0], callParams)
} }
next(); next();
@ -90,8 +89,9 @@ export function registerStringExtra(...args: any) {
// Functions // Functions
export function helloWorld(name: string, config?: { ttl?: number }): Promise<string>;
export function helloWorld(peer: FluencePeer, name: string, config?: { ttl?: number }): Promise<string>; export function helloWorld(name: string, config?: {ttl?: number}): Promise<string>;
export function helloWorld(peer: FluencePeer, name: string, config?: {ttl?: number}): Promise<string>;
export function helloWorld(...args: any) { export function helloWorld(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let name: any; let name: any;
@ -110,8 +110,7 @@ export function helloWorld(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -134,9 +133,7 @@ export function helloWorld(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'name', () => { h.on('getDataSrv', 'name', () => {return name;});
return name;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -149,10 +146,10 @@ export function helloWorld(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for helloWorld'); reject('Request timed out for helloWorld');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,19 +11,21 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
// Functions // Functions
export function ifElseCall(condition: boolean, config?: { ttl?: number }): Promise<void>;
export function ifElseCall(peer: FluencePeer, condition: boolean, config?: { ttl?: number }): Promise<void>; export function ifElseCall(condition: boolean, config?: {ttl?: number}): Promise<void>;
export function ifElseCall(peer: FluencePeer, condition: boolean, config?: {ttl?: number}): Promise<void>;
export function ifElseCall(...args: any) { export function ifElseCall(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let condition: any; let condition: any;
@ -42,8 +44,7 @@ export function ifElseCall(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -68,10 +69,10 @@ export function ifElseCall(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'condition', () => { h.on('getDataSrv', 'condition', () => {return condition;});
return condition; h.onEvent('callbackSrv', 'response', (args) => {
}); });
h.onEvent('callbackSrv', 'response', (args) => {});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -80,10 +81,10 @@ export function ifElseCall(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for ifElseCall'); reject('Request timed out for ifElseCall');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -92,8 +93,10 @@ export function ifElseCall(...args: any) {
return Promise.race([promise, Promise.resolve()]); return Promise.race([promise, Promise.resolve()]);
} }
export function ifElseNumCall(condition: number, config?: { ttl?: number }): Promise<void>;
export function ifElseNumCall(peer: FluencePeer, condition: number, config?: { ttl?: number }): Promise<void>;
export function ifElseNumCall(condition: number, config?: {ttl?: number}): Promise<void>;
export function ifElseNumCall(peer: FluencePeer, condition: number, config?: {ttl?: number}): Promise<void>;
export function ifElseNumCall(...args: any) { export function ifElseNumCall(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let condition: any; let condition: any;
@ -112,8 +115,7 @@ export function ifElseNumCall(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -138,10 +140,10 @@ export function ifElseNumCall(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'condition', () => { h.on('getDataSrv', 'condition', () => {return condition;});
return condition; h.onEvent('callbackSrv', 'response', (args) => {
}); });
h.onEvent('callbackSrv', 'response', (args) => {});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -150,10 +152,10 @@ export function ifElseNumCall(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for ifElseNumCall'); reject('Request timed out for ifElseNumCall');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface SuperFooDef { export interface SuperFooDef {
small_foo: (callParams: CallParams<null>) => string; small_foo: (callParams: CallParams<null>) => string;
} }
export function registerSuperFoo(service: SuperFooDef): void; export function registerSuperFoo(service: SuperFooDef): void;
export function registerSuperFoo(serviceId: string, service: SuperFooDef): void; export function registerSuperFoo(serviceId: string, service: SuperFooDef): void;
export function registerSuperFoo(peer: FluencePeer, service: SuperFooDef): void; export function registerSuperFoo(peer: FluencePeer, service: SuperFooDef): void;
export function registerSuperFoo(peer: FluencePeer, serviceId: string, service: SuperFooDef): void; export function registerSuperFoo(peer: FluencePeer, serviceId: string, service: SuperFooDef): void;
export function registerSuperFoo(...args: any) { export function registerSuperFoo(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerSuperFoo(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'super_foo'; serviceId = "super_foo"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerSuperFoo(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerSuperFoo(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['small_foo']); const incorrectServiceDefinitions = missingFields(service, ['small_foo']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service SuperFoo: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service SuperFoo: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -76,10 +75,12 @@ export function registerSuperFoo(...args: any) {
if (req.fnName === 'small_foo') { if (req.fnName === 'small_foo') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.small_foo(callParams); resp.result = service.small_foo(callParams)
} }
next(); next();
@ -87,3 +88,4 @@ export function registerSuperFoo(...args: any) {
} }
// Functions // Functions

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface MyExportSrvDef { export interface MyExportSrvDef {
another_str: (callParams: CallParams<null>) => string; another_str: (callParams: CallParams<null>) => string;
} }
export function registerMyExportSrv(service: MyExportSrvDef): void; export function registerMyExportSrv(service: MyExportSrvDef): void;
export function registerMyExportSrv(serviceId: string, service: MyExportSrvDef): void; export function registerMyExportSrv(serviceId: string, service: MyExportSrvDef): void;
export function registerMyExportSrv(peer: FluencePeer, service: MyExportSrvDef): void; export function registerMyExportSrv(peer: FluencePeer, service: MyExportSrvDef): void;
export function registerMyExportSrv(peer: FluencePeer, serviceId: string, service: MyExportSrvDef): void; export function registerMyExportSrv(peer: FluencePeer, serviceId: string, service: MyExportSrvDef): void;
export function registerMyExportSrv(...args: any) { export function registerMyExportSrv(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerMyExportSrv(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'my_export_srv'; serviceId = "my_export_srv"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerMyExportSrv(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerMyExportSrv(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['another_str']); const incorrectServiceDefinitions = missingFields(service, ['another_str']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service MyExportSrv: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service MyExportSrv: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -76,10 +75,12 @@ export function registerMyExportSrv(...args: any) {
if (req.fnName === 'another_str') { if (req.fnName === 'another_str') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.another_str(callParams); resp.result = service.another_str(callParams)
} }
next(); next();
@ -88,8 +89,9 @@ export function registerMyExportSrv(...args: any) {
// Functions // Functions
export function string_from_lib(config?: { ttl?: number }): Promise<string>;
export function string_from_lib(peer: FluencePeer, config?: { ttl?: number }): Promise<string>; export function string_from_lib(config?: {ttl?: number}): Promise<string>;
export function string_from_lib(peer: FluencePeer, config?: {ttl?: number}): Promise<string>;
export function string_from_lib(...args: any) { export function string_from_lib(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -106,8 +108,7 @@ export function string_from_lib(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -137,10 +138,10 @@ export function string_from_lib(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for string_from_lib'); reject('Request timed out for string_from_lib');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,9 +24,10 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface OneMoreDef { export interface OneMoreDef {
more_call: (callParams: CallParams<null>) => void; more_call: (callParams: CallParams<null>) => void;
} }
export function registerOneMore(serviceId: string, service: OneMoreDef): void; export function registerOneMore(serviceId: string, service: OneMoreDef): void;
export function registerOneMore(peer: FluencePeer, serviceId: string, service: OneMoreDef): void; export function registerOneMore(peer: FluencePeer, serviceId: string, service: OneMoreDef): void;
export function registerOneMore(...args: any) { export function registerOneMore(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -47,7 +49,7 @@ export function registerOneMore(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -57,10 +59,7 @@ export function registerOneMore(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['more_call']); const incorrectServiceDefinitions = missingFields(service, ['more_call']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service OneMore: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service OneMore: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -72,11 +71,12 @@ export function registerOneMore(...args: any) {
if (req.fnName === 'more_call') { if (req.fnName === 'more_call') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
service.more_call(callParams); service.more_call(callParams); resp.result = {}
resp.result = {};
} }
next(); next();
@ -84,3 +84,4 @@ export function registerOneMore(...args: any) {
} }
// Functions // Functions

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,19 +11,21 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
// Functions // Functions
export function wrap(config?: { ttl?: number }): Promise<string>;
export function wrap(peer: FluencePeer, config?: { ttl?: number }): Promise<string>; export function wrap(config?: {ttl?: number}): Promise<string>;
export function wrap(peer: FluencePeer, config?: {ttl?: number}): Promise<string>;
export function wrap(...args: any) { export function wrap(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -40,8 +42,7 @@ export function wrap(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -77,10 +78,10 @@ export function wrap(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for wrap'); reject('Request timed out for wrap');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -89,8 +90,10 @@ export function wrap(...args: any) {
return promise; return promise;
} }
export function barfoo(config?: { ttl?: number }): Promise<string[]>;
export function barfoo(peer: FluencePeer, config?: { ttl?: number }): Promise<string[]>;
export function barfoo(config?: {ttl?: number}): Promise<string[]>;
export function barfoo(peer: FluencePeer, config?: {ttl?: number}): Promise<string[]>;
export function barfoo(...args: any) { export function barfoo(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -107,8 +110,7 @@ export function barfoo(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -144,10 +146,10 @@ export function barfoo(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for barfoo'); reject('Request timed out for barfoo');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,19 +11,21 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
// Functions // Functions
export function foo_wrapper(config?: { ttl?: number }): Promise<string>;
export function foo_wrapper(peer: FluencePeer, config?: { ttl?: number }): Promise<string>; export function foo_wrapper(config?: {ttl?: number}): Promise<string>;
export function foo_wrapper(peer: FluencePeer, config?: {ttl?: number}): Promise<string>;
export function foo_wrapper(...args: any) { export function foo_wrapper(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -40,8 +42,7 @@ export function foo_wrapper(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -71,10 +72,10 @@ export function foo_wrapper(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for foo_wrapper'); reject('Request timed out for foo_wrapper');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,45 +11,35 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
export interface NoopDef { export interface NoopDef {
array: ( array: (a: string, b: string | null, c: string | null, d: string | null, callParams: CallParams<'a' | 'b' | 'c' | 'd'>) => string[];
a: string, array_length: (array: string[], callParams: CallParams<'array'>) => number;
b: string | null, bytes_from_b58: (b: string, callParams: CallParams<'b'>) => number[];
c: string | null, bytes_to_b58: (bs: number[], callParams: CallParams<'bs'>) => string;
d: string | null, concat: (a: string[], b: string[] | null, c: string[] | null, d: string[] | null, callParams: CallParams<'a' | 'b' | 'c' | 'd'>) => string[];
callParams: CallParams<'a' | 'b' | 'c' | 'd'>, concat_strings: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string;
) => string[]; identity: (s: string | null, callParams: CallParams<'s'>) => string | null;
array_length: (array: string[], callParams: CallParams<'array'>) => number; noop: (callParams: CallParams<null>) => void;
bytes_from_b58: (b: string, callParams: CallParams<'b'>) => number[]; sha256_string: (s: string, callParams: CallParams<'s'>) => string;
bytes_to_b58: (bs: number[], callParams: CallParams<'bs'>) => string; string_from_b58: (b: string, callParams: CallParams<'b'>) => string;
concat: ( string_to_b58: (s: string, callParams: CallParams<'s'>) => string;
a: string[],
b: string[] | null,
c: string[] | null,
d: string[] | null,
callParams: CallParams<'a' | 'b' | 'c' | 'd'>,
) => string[];
concat_strings: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string;
identity: (s: string | null, callParams: CallParams<'s'>) => string | null;
noop: (callParams: CallParams<null>) => void;
sha256_string: (s: string, callParams: CallParams<'s'>) => string;
string_from_b58: (b: string, callParams: CallParams<'b'>) => string;
string_to_b58: (s: string, callParams: CallParams<'s'>) => string;
} }
export function registerNoop(service: NoopDef): void; export function registerNoop(service: NoopDef): void;
export function registerNoop(serviceId: string, service: NoopDef): void; export function registerNoop(serviceId: string, service: NoopDef): void;
export function registerNoop(peer: FluencePeer, service: NoopDef): void; export function registerNoop(peer: FluencePeer, service: NoopDef): void;
export function registerNoop(peer: FluencePeer, serviceId: string, service: NoopDef): void; export function registerNoop(peer: FluencePeer, serviceId: string, service: NoopDef): void;
export function registerNoop(...args: any) { export function registerNoop(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -65,7 +55,7 @@ export function registerNoop(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'op'; serviceId = "op"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -73,7 +63,7 @@ export function registerNoop(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -81,24 +71,9 @@ export function registerNoop(...args: any) {
service = args[2]; service = args[2];
} }
const incorrectServiceDefinitions = missingFields(service, [ const incorrectServiceDefinitions = missingFields(service, ['array', 'array_length', 'bytes_from_b58', 'bytes_to_b58', 'concat', 'concat_strings', 'identity', 'noop', 'sha256_string', 'string_from_b58', 'string_to_b58']);
'array',
'array_length',
'bytes_from_b58',
'bytes_to_b58',
'concat',
'concat_strings',
'identity',
'noop',
'sha256_string',
'string_from_b58',
'string_to_b58',
]);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service Noop: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service Noop: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -111,155 +86,141 @@ export function registerNoop(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
a: req.tetraplets[0], a: req.tetraplets[0],b: req.tetraplets[1],c: req.tetraplets[2],d: req.tetraplets[3]
b: req.tetraplets[1],
c: req.tetraplets[2],
d: req.tetraplets[3],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.array( resp.result = service.array(req.args[0], req.args[1].length === 0 ? null : req.args[1][0], req.args[2].length === 0 ? null : req.args[2][0], req.args[3].length === 0 ? null : req.args[3][0], callParams)
req.args[0],
req.args[1].length === 0 ? null : req.args[1][0],
req.args[2].length === 0 ? null : req.args[2][0],
req.args[3].length === 0 ? null : req.args[3][0],
callParams,
);
} }
if (req.fnName === 'array_length') { if (req.fnName === 'array_length') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
array: req.tetraplets[0], array: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.array_length(req.args[0], callParams); resp.result = service.array_length(req.args[0], callParams)
} }
if (req.fnName === 'bytes_from_b58') { if (req.fnName === 'bytes_from_b58') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
b: req.tetraplets[0], b: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.bytes_from_b58(req.args[0], callParams); resp.result = service.bytes_from_b58(req.args[0], callParams)
} }
if (req.fnName === 'bytes_to_b58') { if (req.fnName === 'bytes_to_b58') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
bs: req.tetraplets[0], bs: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.bytes_to_b58(req.args[0], callParams); resp.result = service.bytes_to_b58(req.args[0], callParams)
} }
if (req.fnName === 'concat') { if (req.fnName === 'concat') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
a: req.tetraplets[0], a: req.tetraplets[0],b: req.tetraplets[1],c: req.tetraplets[2],d: req.tetraplets[3]
b: req.tetraplets[1],
c: req.tetraplets[2],
d: req.tetraplets[3],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.concat( resp.result = service.concat(req.args[0], req.args[1].length === 0 ? null : req.args[1][0], req.args[2].length === 0 ? null : req.args[2][0], req.args[3].length === 0 ? null : req.args[3][0], callParams)
req.args[0],
req.args[1].length === 0 ? null : req.args[1][0],
req.args[2].length === 0 ? null : req.args[2][0],
req.args[3].length === 0 ? null : req.args[3][0],
callParams,
);
} }
if (req.fnName === 'concat_strings') { if (req.fnName === 'concat_strings') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
a: req.tetraplets[0], a: req.tetraplets[0],b: req.tetraplets[1]
b: req.tetraplets[1],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.concat_strings(req.args[0], req.args[1], callParams); resp.result = service.concat_strings(req.args[0], req.args[1], callParams)
} }
if (req.fnName === 'identity') { if (req.fnName === 'identity') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0], s: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
var respResult = service.identity(req.args[0].length === 0 ? null : req.args[0][0], callParams); var respResult = service.identity(req.args[0].length === 0 ? null : req.args[0][0], callParams);
resp.result = respResult === null ? [] : [respResult]; resp.result = respResult === null ? [] : [respResult]
} }
if (req.fnName === 'noop') { if (req.fnName === 'noop') {
const callParams = {
...req.particleContext,
tetraplets: {},
};
resp.retCode = ResultCodes.success;
service.noop(callParams);
resp.result = {};
}
if (req.fnName === 'sha256_string') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.sha256_string(req.args[0], callParams); service.noop(callParams); resp.result = {}
} }
if (req.fnName === 'string_from_b58') { if (req.fnName === 'sha256_string') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
b: req.tetraplets[0], s: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.string_from_b58(req.args[0], callParams); resp.result = service.sha256_string(req.args[0], callParams)
} }
if (req.fnName === 'string_to_b58') { if (req.fnName === 'string_from_b58') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0], b: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.string_to_b58(req.args[0], callParams); resp.result = service.string_from_b58(req.args[0], callParams)
}
if (req.fnName === 'string_to_b58') {
const callParams = {
...req.particleContext,
tetraplets: {
s: req.tetraplets[0]
},
};
resp.retCode = ResultCodes.success;
resp.result = service.string_to_b58(req.args[0], callParams)
} }
next(); next();
}); });
} }
export interface MyExportSrvDef { export interface MyExportSrvDef {
another_str: (callParams: CallParams<null>) => string; another_str: (callParams: CallParams<null>) => string;
} }
export function registerMyExportSrv(service: MyExportSrvDef): void; export function registerMyExportSrv(service: MyExportSrvDef): void;
export function registerMyExportSrv(serviceId: string, service: MyExportSrvDef): void; export function registerMyExportSrv(serviceId: string, service: MyExportSrvDef): void;
export function registerMyExportSrv(peer: FluencePeer, service: MyExportSrvDef): void; export function registerMyExportSrv(peer: FluencePeer, service: MyExportSrvDef): void;
export function registerMyExportSrv(peer: FluencePeer, serviceId: string, service: MyExportSrvDef): void; export function registerMyExportSrv(peer: FluencePeer, serviceId: string, service: MyExportSrvDef): void;
export function registerMyExportSrv(...args: any) { export function registerMyExportSrv(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -275,7 +236,7 @@ export function registerMyExportSrv(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'my_export_srv'; serviceId = "my_export_srv"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -283,7 +244,7 @@ export function registerMyExportSrv(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -293,10 +254,7 @@ export function registerMyExportSrv(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['another_str']); const incorrectServiceDefinitions = missingFields(service, ['another_str']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service MyExportSrv: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service MyExportSrv: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -308,10 +266,12 @@ export function registerMyExportSrv(...args: any) {
if (req.fnName === 'another_str') { if (req.fnName === 'another_str') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.another_str(callParams); resp.result = service.another_str(callParams)
} }
next(); next();
@ -320,8 +280,9 @@ export function registerMyExportSrv(...args: any) {
// Functions // Functions
export function some_str(config?: { ttl?: number }): Promise<string>;
export function some_str(peer: FluencePeer, config?: { ttl?: number }): Promise<string>; export function some_str(config?: {ttl?: number}): Promise<string>;
export function some_str(peer: FluencePeer, config?: {ttl?: number}): Promise<string>;
export function some_str(...args: any) { export function some_str(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -338,8 +299,7 @@ export function some_str(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -369,10 +329,10 @@ export function some_str(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for some_str'); reject('Request timed out for some_str');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -381,8 +341,10 @@ export function some_str(...args: any) {
return promise; return promise;
} }
export function some_string(config?: { ttl?: number }): Promise<string>;
export function some_string(peer: FluencePeer, config?: { ttl?: number }): Promise<string>;
export function some_string(config?: {ttl?: number}): Promise<string>;
export function some_string(peer: FluencePeer, config?: {ttl?: number}): Promise<string>;
export function some_string(...args: any) { export function some_string(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -399,8 +361,7 @@ export function some_string(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -430,10 +391,10 @@ export function some_string(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for some_string'); reject('Request timed out for some_string');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -442,8 +403,10 @@ export function some_string(...args: any) {
return promise; return promise;
} }
export function decl_foo(config?: { ttl?: number }): Promise<string>;
export function decl_foo(peer: FluencePeer, config?: { ttl?: number }): Promise<string>;
export function decl_foo(config?: {ttl?: number}): Promise<string>;
export function decl_foo(peer: FluencePeer, config?: {ttl?: number}): Promise<string>;
export function decl_foo(...args: any) { export function decl_foo(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -460,8 +423,7 @@ export function decl_foo(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -494,10 +456,10 @@ export function decl_foo(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for decl_foo'); reject('Request timed out for decl_foo');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -506,8 +468,10 @@ export function decl_foo(...args: any) {
return promise; return promise;
} }
export function decl_bar(config?: { ttl?: number }): Promise<string>;
export function decl_bar(peer: FluencePeer, config?: { ttl?: number }): Promise<string>;
export function decl_bar(config?: {ttl?: number}): Promise<string>;
export function decl_bar(peer: FluencePeer, config?: {ttl?: number}): Promise<string>;
export function decl_bar(...args: any) { export function decl_bar(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -524,8 +488,7 @@ export function decl_bar(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -555,10 +518,10 @@ export function decl_bar(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for decl_bar'); reject('Request timed out for decl_bar');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -567,8 +530,10 @@ export function decl_bar(...args: any) {
return promise; return promise;
} }
export function some_random_func(config?: { ttl?: number }): Promise<string>;
export function some_random_func(peer: FluencePeer, config?: { ttl?: number }): Promise<string>;
export function some_random_func(config?: {ttl?: number}): Promise<string>;
export function some_random_func(peer: FluencePeer, config?: {ttl?: number}): Promise<string>;
export function some_random_func(...args: any) { export function some_random_func(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -585,8 +550,7 @@ export function some_random_func(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -616,10 +580,10 @@ export function some_random_func(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for some_random_func'); reject('Request timed out for some_random_func');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface StringServiceDef { export interface StringServiceDef {
concat: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string; concat: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string;
} }
export function registerStringService(service: StringServiceDef): void; export function registerStringService(service: StringServiceDef): void;
export function registerStringService(serviceId: string, service: StringServiceDef): void; export function registerStringService(serviceId: string, service: StringServiceDef): void;
export function registerStringService(peer: FluencePeer, service: StringServiceDef): void; export function registerStringService(peer: FluencePeer, service: StringServiceDef): void;
export function registerStringService(peer: FluencePeer, serviceId: string, service: StringServiceDef): void; export function registerStringService(peer: FluencePeer, serviceId: string, service: StringServiceDef): void;
export function registerStringService(...args: any) { export function registerStringService(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerStringService(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'string_service'; serviceId = "string_service"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerStringService(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerStringService(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['concat']); const incorrectServiceDefinitions = missingFields(service, ['concat']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service StringService: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service StringService: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,12 +76,11 @@ export function registerStringService(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
a: req.tetraplets[0], a: req.tetraplets[0],b: req.tetraplets[1]
b: req.tetraplets[1],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.concat(req.args[0], req.args[1], callParams); resp.result = service.concat(req.args[0], req.args[1], callParams)
} }
next(); next();
@ -91,8 +89,9 @@ export function registerStringService(...args: any) {
// Functions // Functions
export function concat_foobars(config?: { ttl?: number }): Promise<string>;
export function concat_foobars(peer: FluencePeer, config?: { ttl?: number }): Promise<string>; export function concat_foobars(config?: {ttl?: number}): Promise<string>;
export function concat_foobars(peer: FluencePeer, config?: {ttl?: number}): Promise<string>;
export function concat_foobars(...args: any) { export function concat_foobars(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -109,8 +108,7 @@ export function concat_foobars(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -161,10 +159,10 @@ export function concat_foobars(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for concat_foobars'); reject('Request timed out for concat_foobars');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,23 +11,25 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
export interface SubServiceDef { export interface SubServiceDef {
sub: (s: string, callParams: CallParams<'s'>) => { one: string; two: number }; sub: (s: string, callParams: CallParams<'s'>) => { one: string; two: number; };
} }
export function registerSubService(service: SubServiceDef): void; export function registerSubService(service: SubServiceDef): void;
export function registerSubService(serviceId: string, service: SubServiceDef): void; export function registerSubService(serviceId: string, service: SubServiceDef): void;
export function registerSubService(peer: FluencePeer, service: SubServiceDef): void; export function registerSubService(peer: FluencePeer, service: SubServiceDef): void;
export function registerSubService(peer: FluencePeer, serviceId: string, service: SubServiceDef): void; export function registerSubService(peer: FluencePeer, serviceId: string, service: SubServiceDef): void;
export function registerSubService(...args: any) { export function registerSubService(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerSubService(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'sub_service'; serviceId = "sub_service"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerSubService(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerSubService(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['sub']); const incorrectServiceDefinitions = missingFields(service, ['sub']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service SubService: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service SubService: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,11 +76,11 @@ export function registerSubService(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0], s: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.sub(req.args[0], callParams); resp.result = service.sub(req.args[0], callParams)
} }
next(); next();
@ -90,8 +89,9 @@ export function registerSubService(...args: any) {
// Functions // Functions
export function subImport(config?: { ttl?: number }): Promise<{ one: string; two: number }>; export type SubImportResult = { one: string; two: number; }
export function subImport(peer: FluencePeer, config?: { ttl?: number }): Promise<{ one: string; two: number }>; export function subImport(config?: {ttl?: number}): Promise<SubImportResult>;
export function subImport(peer: FluencePeer, config?: {ttl?: number}): Promise<SubImportResult>;
export function subImport(...args: any) { export function subImport(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -105,11 +105,10 @@ export function subImport(...args: any) {
} }
let request: RequestFlow; let request: RequestFlow;
const promise = new Promise<{ one: string; two: number }>((resolve, reject) => { const promise = new Promise<SubImportResult>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -142,10 +141,10 @@ export function subImport(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for subImport'); reject('Request timed out for subImport');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface GetStrDef { export interface GetStrDef {
retStr: (arg0: string, callParams: CallParams<'arg0'>) => string; retStr: (arg0: string, callParams: CallParams<'arg0'>) => string;
} }
export function registerGetStr(service: GetStrDef): void; export function registerGetStr(service: GetStrDef): void;
export function registerGetStr(serviceId: string, service: GetStrDef): void; export function registerGetStr(serviceId: string, service: GetStrDef): void;
export function registerGetStr(peer: FluencePeer, service: GetStrDef): void; export function registerGetStr(peer: FluencePeer, service: GetStrDef): void;
export function registerGetStr(peer: FluencePeer, serviceId: string, service: GetStrDef): void; export function registerGetStr(peer: FluencePeer, serviceId: string, service: GetStrDef): void;
export function registerGetStr(...args: any) { export function registerGetStr(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerGetStr(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'multiret-test'; serviceId = "multiret-test"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerGetStr(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerGetStr(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['retStr']); const incorrectServiceDefinitions = missingFields(service, ['retStr']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service GetStr: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service GetStr: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,25 +76,28 @@ export function registerGetStr(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.retStr(req.args[0], callParams); resp.result = service.retStr(req.args[0], callParams)
} }
next(); next();
}); });
} }
export interface GetNumDef { export interface GetNumDef {
retNum: (callParams: CallParams<null>) => number; retNum: (callParams: CallParams<null>) => number;
} }
export function registerGetNum(service: GetNumDef): void; export function registerGetNum(service: GetNumDef): void;
export function registerGetNum(serviceId: string, service: GetNumDef): void; export function registerGetNum(serviceId: string, service: GetNumDef): void;
export function registerGetNum(peer: FluencePeer, service: GetNumDef): void; export function registerGetNum(peer: FluencePeer, service: GetNumDef): void;
export function registerGetNum(peer: FluencePeer, serviceId: string, service: GetNumDef): void; export function registerGetNum(peer: FluencePeer, serviceId: string, service: GetNumDef): void;
export function registerGetNum(...args: any) { export function registerGetNum(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -111,7 +113,7 @@ export function registerGetNum(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'multiret-num'; serviceId = "multiret-num"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -119,7 +121,7 @@ export function registerGetNum(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -129,10 +131,7 @@ export function registerGetNum(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['retNum']); const incorrectServiceDefinitions = missingFields(service, ['retNum']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service GetNum: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service GetNum: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -144,10 +143,12 @@ export function registerGetNum(...args: any) {
if (req.fnName === 'retNum') { if (req.fnName === 'retNum') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.retNum(callParams); resp.result = service.retNum(callParams)
} }
next(); next();
@ -156,8 +157,9 @@ export function registerGetNum(...args: any) {
// Functions // Functions
export function tupleFunc(config?: { ttl?: number }): Promise<[string, number]>; export type TupleFuncResult = [string, number]
export function tupleFunc(peer: FluencePeer, config?: { ttl?: number }): Promise<[string, number]>; export function tupleFunc(config?: {ttl?: number}): Promise<TupleFuncResult>;
export function tupleFunc(peer: FluencePeer, config?: {ttl?: number}): Promise<TupleFuncResult>;
export function tupleFunc(...args: any) { export function tupleFunc(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -171,11 +173,10 @@ export function tupleFunc(...args: any) {
} }
let request: RequestFlow; let request: RequestFlow;
const promise = new Promise<[string, number]>((resolve, reject) => { const promise = new Promise<TupleFuncResult>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -212,10 +213,10 @@ export function tupleFunc(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for tupleFunc'); reject('Request timed out for tupleFunc');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -224,17 +225,10 @@ export function tupleFunc(...args: any) {
return promise; return promise;
} }
export function multiReturnFunc(
somethingToReturn: number[], export type MultiReturnFuncResult = [string[], number, string, number[], string | null, number]
smthOption: string | null, export function multiReturnFunc(somethingToReturn: number[], smthOption: string | null, config?: {ttl?: number}): Promise<MultiReturnFuncResult>;
config?: { ttl?: number }, export function multiReturnFunc(peer: FluencePeer, somethingToReturn: number[], smthOption: string | null, config?: {ttl?: number}): Promise<MultiReturnFuncResult>;
): Promise<[string[], number, string, number[], string | null, number]>;
export function multiReturnFunc(
peer: FluencePeer,
somethingToReturn: number[],
smthOption: string | null,
config?: { ttl?: number },
): Promise<[string[], number, string, number[], string | null, number]>;
export function multiReturnFunc(...args: any) { export function multiReturnFunc(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let somethingToReturn: any; let somethingToReturn: any;
@ -253,11 +247,10 @@ export function multiReturnFunc(...args: any) {
} }
let request: RequestFlow; let request: RequestFlow;
const promise = new Promise<[string[], number, string, number[], string | null, number]>((resolve, reject) => { const promise = new Promise<MultiReturnFuncResult>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -295,20 +288,13 @@ export function multiReturnFunc(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'somethingToReturn', () => { h.on('getDataSrv', 'somethingToReturn', () => {return somethingToReturn;});
return somethingToReturn; h.on('getDataSrv', 'smthOption', () => {return smthOption === null ? [] : [smthOption];});
});
h.on('getDataSrv', 'smthOption', () => {
return smthOption === null ? [] : [smthOption];
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
let opt: any = args; let opt: any = args;
if (Array.isArray(opt[4])) { if( Array.isArray(opt[4])) {
if (opt[4].length === 0) { if (opt[4].length === 0) { opt[4] = null; }
opt[4] = null; else {opt[4] = opt[4][0]; }
} else {
opt[4] = opt[4][0];
}
} }
return resolve(opt); return resolve(opt);
}); });
@ -320,10 +306,10 @@ export function multiReturnFunc(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for multiReturnFunc'); reject('Request timed out for multiReturnFunc');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface OpHDef { export interface OpHDef {
identity: (s: string, callParams: CallParams<'s'>) => string; identity: (s: string, callParams: CallParams<'s'>) => string;
} }
export function registerOpH(service: OpHDef): void; export function registerOpH(service: OpHDef): void;
export function registerOpH(serviceId: string, service: OpHDef): void; export function registerOpH(serviceId: string, service: OpHDef): void;
export function registerOpH(peer: FluencePeer, service: OpHDef): void; export function registerOpH(peer: FluencePeer, service: OpHDef): void;
export function registerOpH(peer: FluencePeer, serviceId: string, service: OpHDef): void; export function registerOpH(peer: FluencePeer, serviceId: string, service: OpHDef): void;
export function registerOpH(...args: any) { export function registerOpH(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerOpH(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'opa'; serviceId = "opa"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerOpH(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerOpH(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['identity']); const incorrectServiceDefinitions = missingFields(service, ['identity']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service OpH: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service OpH: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,11 +76,11 @@ export function registerOpH(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0], s: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.identity(req.args[0], callParams); resp.result = service.identity(req.args[0], callParams)
} }
next(); next();
@ -90,8 +89,9 @@ export function registerOpH(...args: any) {
// Functions // Functions
export function a(b: string, config?: { ttl?: number }): Promise<string>;
export function a(peer: FluencePeer, b: string, config?: { ttl?: number }): Promise<string>; export function a(b: string, config?: {ttl?: number}): Promise<string>;
export function a(peer: FluencePeer, b: string, config?: {ttl?: number}): Promise<string>;
export function a(...args: any) { export function a(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let b: any; let b: any;
@ -110,8 +110,7 @@ export function a(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -134,9 +133,7 @@ export function a(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'b', () => { h.on('getDataSrv', 'b', () => {return b;});
return b;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -149,10 +146,10 @@ export function a(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for a'); reject('Request timed out for a');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -161,8 +158,10 @@ export function a(...args: any) {
return promise; return promise;
} }
export function d(e: string, config?: { ttl?: number }): Promise<string>;
export function d(peer: FluencePeer, e: string, config?: { ttl?: number }): Promise<string>;
export function d(e: string, config?: {ttl?: number}): Promise<string>;
export function d(peer: FluencePeer, e: string, config?: {ttl?: number}): Promise<string>;
export function d(...args: any) { export function d(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let e: any; let e: any;
@ -181,8 +180,7 @@ export function d(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -205,9 +203,7 @@ export function d(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'e', () => { h.on('getDataSrv', 'e', () => {return e;});
return e;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -220,10 +216,10 @@ export function d(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for d'); reject('Request timed out for d');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,15 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface ServiceWithDefaultIdDef { export interface ServiceWithDefaultIdDef {
hello: (s: string, callParams: CallParams<'s'>) => void; hello: (s: string, callParams: CallParams<'s'>) => void;
} }
export function registerServiceWithDefaultId(service: ServiceWithDefaultIdDef): void; export function registerServiceWithDefaultId(service: ServiceWithDefaultIdDef): void;
export function registerServiceWithDefaultId(serviceId: string, service: ServiceWithDefaultIdDef): void; export function registerServiceWithDefaultId(serviceId: string, service: ServiceWithDefaultIdDef): void;
export function registerServiceWithDefaultId(peer: FluencePeer, service: ServiceWithDefaultIdDef): void; export function registerServiceWithDefaultId(peer: FluencePeer, service: ServiceWithDefaultIdDef): void;
export function registerServiceWithDefaultId( export function registerServiceWithDefaultId(peer: FluencePeer, serviceId: string, service: ServiceWithDefaultIdDef): void;
peer: FluencePeer,
serviceId: string,
service: ServiceWithDefaultIdDef,
): void;
export function registerServiceWithDefaultId(...args: any) { export function registerServiceWithDefaultId(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -47,7 +45,7 @@ export function registerServiceWithDefaultId(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'defaultId'; serviceId = "defaultId"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -55,7 +53,7 @@ export function registerServiceWithDefaultId(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -65,10 +63,7 @@ export function registerServiceWithDefaultId(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['hello']); const incorrectServiceDefinitions = missingFields(service, ['hello']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service ServiceWithDefaultId: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service ServiceWithDefaultId: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -81,28 +76,26 @@ export function registerServiceWithDefaultId(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0], s: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
service.hello(req.args[0], callParams); service.hello(req.args[0], callParams); resp.result = {}
resp.result = {};
} }
next(); next();
}); });
} }
export interface ServiceWithOUTDefaultIdDef { export interface ServiceWithOUTDefaultIdDef {
hello: (s: string, callParams: CallParams<'s'>) => void; hello: (s: string, callParams: CallParams<'s'>) => void;
} }
export function registerServiceWithOUTDefaultId(serviceId: string, service: ServiceWithOUTDefaultIdDef): void; export function registerServiceWithOUTDefaultId(serviceId: string, service: ServiceWithOUTDefaultIdDef): void;
export function registerServiceWithOUTDefaultId( export function registerServiceWithOUTDefaultId(peer: FluencePeer, serviceId: string, service: ServiceWithOUTDefaultIdDef): void;
peer: FluencePeer,
serviceId: string,
service: ServiceWithOUTDefaultIdDef,
): void;
export function registerServiceWithOUTDefaultId(...args: any) { export function registerServiceWithOUTDefaultId(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -124,7 +117,7 @@ export function registerServiceWithOUTDefaultId(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -134,10 +127,7 @@ export function registerServiceWithOUTDefaultId(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['hello']); const incorrectServiceDefinitions = missingFields(service, ['hello']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service ServiceWithOUTDefaultId: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service ServiceWithOUTDefaultId: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -150,28 +140,30 @@ export function registerServiceWithOUTDefaultId(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0], s: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
service.hello(req.args[0], callParams); service.hello(req.args[0], callParams); resp.result = {}
resp.result = {};
} }
next(); next();
}); });
} }
export interface MoreMembersDef { export interface MoreMembersDef {
member1: (callParams: CallParams<null>) => void; member1: (callParams: CallParams<null>) => void;
member2: (s1: string, callParams: CallParams<'s1'>) => void; member2: (s1: string, callParams: CallParams<'s1'>) => void;
member3: (s1: string, s2: string, callParams: CallParams<'s1' | 's2'>) => void; member3: (s1: string, s2: string, callParams: CallParams<'s1' | 's2'>) => void;
member4: (s1: string, s2: string, i: number, callParams: CallParams<'s1' | 's2' | 'i'>) => number; member4: (s1: string, s2: string, i: number, callParams: CallParams<'s1' | 's2' | 'i'>) => number;
member5: (s1: string, s2: string, i: number, callParams: CallParams<'s1' | 's2' | 'i'>) => number; member5: (s1: string, s2: string, i: number, callParams: CallParams<'s1' | 's2' | 'i'>) => number;
} }
export function registerMoreMembers(serviceId: string, service: MoreMembersDef): void; export function registerMoreMembers(serviceId: string, service: MoreMembersDef): void;
export function registerMoreMembers(peer: FluencePeer, serviceId: string, service: MoreMembersDef): void; export function registerMoreMembers(peer: FluencePeer, serviceId: string, service: MoreMembersDef): void;
export function registerMoreMembers(...args: any) { export function registerMoreMembers(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -193,7 +185,7 @@ export function registerMoreMembers(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -203,10 +195,7 @@ export function registerMoreMembers(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['member1', 'member2', 'member3', 'member4', 'member5']); const incorrectServiceDefinitions = missingFields(service, ['member1', 'member2', 'member3', 'member4', 'member5']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service MoreMembers: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service MoreMembers: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -216,64 +205,58 @@ export function registerMoreMembers(...args: any) {
} }
if (req.fnName === 'member1') { if (req.fnName === 'member1') {
const callParams = {
...req.particleContext,
tetraplets: {},
};
resp.retCode = ResultCodes.success;
service.member1(callParams);
resp.result = {};
}
if (req.fnName === 'member2') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s1: req.tetraplets[0],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
service.member2(req.args[0], callParams); service.member1(callParams); resp.result = {}
resp.result = {};
} }
if (req.fnName === 'member3') { if (req.fnName === 'member2') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s1: req.tetraplets[0], s1: req.tetraplets[0]
s2: req.tetraplets[1],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
service.member3(req.args[0], req.args[1], callParams); service.member2(req.args[0], callParams); resp.result = {}
resp.result = {};
} }
if (req.fnName === 'member4') { if (req.fnName === 'member3') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s1: req.tetraplets[0], s1: req.tetraplets[0],s2: req.tetraplets[1]
s2: req.tetraplets[1],
i: req.tetraplets[2],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.member4(req.args[0], req.args[1], req.args[2], callParams); service.member3(req.args[0], req.args[1], callParams); resp.result = {}
} }
if (req.fnName === 'member5') { if (req.fnName === 'member4') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s1: req.tetraplets[0], s1: req.tetraplets[0],s2: req.tetraplets[1],i: req.tetraplets[2]
s2: req.tetraplets[1],
i: req.tetraplets[2],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.member5(req.args[0], req.args[1], req.args[2], callParams); resp.result = service.member4(req.args[0], req.args[1], req.args[2], callParams)
}
if (req.fnName === 'member5') {
const callParams = {
...req.particleContext,
tetraplets: {
s1: req.tetraplets[0],s2: req.tetraplets[1],i: req.tetraplets[2]
},
};
resp.retCode = ResultCodes.success;
resp.result = service.member5(req.args[0], req.args[1], req.args[2], callParams)
} }
next(); next();
@ -282,15 +265,9 @@ export function registerMoreMembers(...args: any) {
// Functions // Functions
export function f1(
callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, export function f1(callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}): Promise<void>;
config?: { ttl?: number }, export function f1(peer: FluencePeer, callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}): Promise<void>;
): Promise<void>;
export function f1(
peer: FluencePeer,
callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void,
config?: { ttl?: number },
): Promise<void>;
export function f1(...args: any) { export function f1(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let callback: any; let callback: any;
@ -309,8 +286,7 @@ export function f1(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -328,22 +304,22 @@ export function f1(...args: any) {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.use((req, resp, next) => { h.use((req, resp, next) => {
if (req.serviceId === 'callbackSrv' && req.fnName === 'callback') { if(req.serviceId === 'callbackSrv' && req.fnName === 'callback') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0],arg1: req.tetraplets[1]
arg1: req.tetraplets[1],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
callback(req.args[0], req.args[1], callParams); callback(req.args[0], req.args[1], callParams); resp.result = {}
resp.result = {};
} }
next(); next();
}); });
h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('callbackSrv', 'response', (args) => {
});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -352,10 +328,10 @@ export function f1(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for f1'); reject('Request timed out for f1');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -364,17 +340,10 @@ export function f1(...args: any) {
return Promise.race([promise, Promise.resolve()]); return Promise.race([promise, Promise.resolve()]);
} }
export function f2(
num: number,
callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, export function f2(num: number, callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}): Promise<void>;
config?: { ttl?: number }, export function f2(peer: FluencePeer, num: number, callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}): Promise<void>;
): Promise<void>;
export function f2(
peer: FluencePeer,
num: number,
callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void,
config?: { ttl?: number },
): Promise<void>;
export function f2(...args: any) { export function f2(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let num: any; let num: any;
@ -396,8 +365,7 @@ export function f2(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -417,26 +385,24 @@ export function f2(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'num', () => { h.on('getDataSrv', 'num', () => {return num;});
return num;
});
h.use((req, resp, next) => { h.use((req, resp, next) => {
if (req.serviceId === 'callbackSrv' && req.fnName === 'callback') { if(req.serviceId === 'callbackSrv' && req.fnName === 'callback') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0],arg1: req.tetraplets[1]
arg1: req.tetraplets[1],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
callback(req.args[0], req.args[1], callParams); callback(req.args[0], req.args[1], callParams); resp.result = {}
resp.result = {};
} }
next(); next();
}); });
h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('callbackSrv', 'response', (args) => {
});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -445,10 +411,10 @@ export function f2(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for f2'); reject('Request timed out for f2');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -457,17 +423,10 @@ export function f2(...args: any) {
return Promise.race([promise, Promise.resolve()]); return Promise.race([promise, Promise.resolve()]);
} }
export function f3(
num: number,
callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, export function f3(num: number, callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}): Promise<string>;
config?: { ttl?: number }, export function f3(peer: FluencePeer, num: number, callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}): Promise<string>;
): Promise<string>;
export function f3(
peer: FluencePeer,
num: number,
callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void,
config?: { ttl?: number },
): Promise<string>;
export function f3(...args: any) { export function f3(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let num: any; let num: any;
@ -489,8 +448,7 @@ export function f3(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -516,21 +474,17 @@ export function f3(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'num', () => { h.on('getDataSrv', 'num', () => {return num;});
return num;
});
h.use((req, resp, next) => { h.use((req, resp, next) => {
if (req.serviceId === 'callbackSrv' && req.fnName === 'callback') { if(req.serviceId === 'callbackSrv' && req.fnName === 'callback') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0],arg1: req.tetraplets[1]
arg1: req.tetraplets[1],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
callback(req.args[0], req.args[1], callParams); callback(req.args[0], req.args[1], callParams); resp.result = {}
resp.result = {};
} }
next(); next();
}); });
@ -547,10 +501,10 @@ export function f3(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for f3'); reject('Request timed out for f3');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -559,15 +513,10 @@ export function f3(...args: any) {
return promise; return promise;
} }
export function callBackZeroArgs(
callback: (callParams: CallParams<null>) => void,
config?: { ttl?: number }, export function callBackZeroArgs(callback: (callParams: CallParams<null>) => void, config?: {ttl?: number}): Promise<void>;
): Promise<void>; export function callBackZeroArgs(peer: FluencePeer, callback: (callParams: CallParams<null>) => void, config?: {ttl?: number}): Promise<void>;
export function callBackZeroArgs(
peer: FluencePeer,
callback: (callParams: CallParams<null>) => void,
config?: { ttl?: number },
): Promise<void>;
export function callBackZeroArgs(...args: any) { export function callBackZeroArgs(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let callback: any; let callback: any;
@ -586,8 +535,7 @@ export function callBackZeroArgs(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -605,19 +553,22 @@ export function callBackZeroArgs(...args: any) {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.use((req, resp, next) => { h.use((req, resp, next) => {
if (req.serviceId === 'callbackSrv' && req.fnName === 'callback') { if(req.serviceId === 'callbackSrv' && req.fnName === 'callback') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
callback(callParams); callback(callParams); resp.result = {}
resp.result = {};
} }
next(); next();
}); });
h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('callbackSrv', 'response', (args) => {
});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -626,10 +577,10 @@ export function callBackZeroArgs(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for callBackZeroArgs'); reject('Request timed out for callBackZeroArgs');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,24 +11,26 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
export interface HelloWorldDef { export interface HelloWorldDef {
getNumber: (callParams: CallParams<null>) => number; getNumber: (callParams: CallParams<null>) => number;
sayHello: (s: string, callParams: CallParams<'s'>) => void; sayHello: (s: string, callParams: CallParams<'s'>) => void;
} }
export function registerHelloWorld(service: HelloWorldDef): void; export function registerHelloWorld(service: HelloWorldDef): void;
export function registerHelloWorld(serviceId: string, service: HelloWorldDef): void; export function registerHelloWorld(serviceId: string, service: HelloWorldDef): void;
export function registerHelloWorld(peer: FluencePeer, service: HelloWorldDef): void; export function registerHelloWorld(peer: FluencePeer, service: HelloWorldDef): void;
export function registerHelloWorld(peer: FluencePeer, serviceId: string, service: HelloWorldDef): void; export function registerHelloWorld(peer: FluencePeer, serviceId: string, service: HelloWorldDef): void;
export function registerHelloWorld(...args: any) { export function registerHelloWorld(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -44,7 +46,7 @@ export function registerHelloWorld(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'default'; serviceId = "default"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -52,7 +54,7 @@ export function registerHelloWorld(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -62,10 +64,7 @@ export function registerHelloWorld(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['getNumber', 'sayHello']); const incorrectServiceDefinitions = missingFields(service, ['getNumber', 'sayHello']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service HelloWorld: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service HelloWorld: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -75,24 +74,25 @@ export function registerHelloWorld(...args: any) {
} }
if (req.fnName === 'getNumber') { if (req.fnName === 'getNumber') {
const callParams = {
...req.particleContext,
tetraplets: {},
};
resp.retCode = ResultCodes.success;
resp.result = service.getNumber(callParams);
}
if (req.fnName === 'sayHello') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
service.sayHello(req.args[0], callParams); resp.result = service.getNumber(callParams)
resp.result = {}; }
if (req.fnName === 'sayHello') {
const callParams = {
...req.particleContext,
tetraplets: {
s: req.tetraplets[0]
},
};
resp.retCode = ResultCodes.success;
service.sayHello(req.args[0], callParams); resp.result = {}
} }
next(); next();
@ -101,15 +101,9 @@ export function registerHelloWorld(...args: any) {
// Functions // Functions
export function callMeBack(
callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, export function callMeBack(callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}): Promise<void>;
config?: { ttl?: number }, export function callMeBack(peer: FluencePeer, callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}): Promise<void>;
): Promise<void>;
export function callMeBack(
peer: FluencePeer,
callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void,
config?: { ttl?: number },
): Promise<void>;
export function callMeBack(...args: any) { export function callMeBack(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let callback: any; let callback: any;
@ -128,8 +122,7 @@ export function callMeBack(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -147,22 +140,22 @@ export function callMeBack(...args: any) {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.use((req, resp, next) => { h.use((req, resp, next) => {
if (req.serviceId === 'callbackSrv' && req.fnName === 'callback') { if(req.serviceId === 'callbackSrv' && req.fnName === 'callback') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0],arg1: req.tetraplets[1]
arg1: req.tetraplets[1],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
callback(req.args[0], req.args[1], callParams); callback(req.args[0], req.args[1], callParams); resp.result = {}
resp.result = {};
} }
next(); next();
}); });
h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('callbackSrv', 'response', (args) => {
});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -171,10 +164,10 @@ export function callMeBack(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for callMeBack'); reject('Request timed out for callMeBack');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,23 +11,21 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
// Functions // Functions
export function getPeerExternalAddresses(otherNodePeerId: string, config?: { ttl?: number }): Promise<string[]>;
export function getPeerExternalAddresses( export function getPeerExternalAddresses(otherNodePeerId: string, config?: {ttl?: number}): Promise<string[]>;
peer: FluencePeer, export function getPeerExternalAddresses(peer: FluencePeer, otherNodePeerId: string, config?: {ttl?: number}): Promise<string[]>;
otherNodePeerId: string,
config?: { ttl?: number },
): Promise<string[]>;
export function getPeerExternalAddresses(...args: any) { export function getPeerExternalAddresses(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let otherNodePeerId: any; let otherNodePeerId: any;
@ -46,8 +44,7 @@ export function getPeerExternalAddresses(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -82,9 +79,7 @@ export function getPeerExternalAddresses(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'otherNodePeerId', () => { h.on('getDataSrv', 'otherNodePeerId', () => {return otherNodePeerId;});
return otherNodePeerId;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -97,10 +92,10 @@ export function getPeerExternalAddresses(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for getPeerExternalAddresses'); reject('Request timed out for getPeerExternalAddresses');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -109,13 +104,10 @@ export function getPeerExternalAddresses(...args: any) {
return promise; return promise;
} }
export function getDistantAddresses(target: string, viaNode: string, config?: { ttl?: number }): Promise<string[]>;
export function getDistantAddresses(
peer: FluencePeer, export function getDistantAddresses(target: string, viaNode: string, config?: {ttl?: number}): Promise<string[]>;
target: string, export function getDistantAddresses(peer: FluencePeer, target: string, viaNode: string, config?: {ttl?: number}): Promise<string[]>;
viaNode: string,
config?: { ttl?: number },
): Promise<string[]>;
export function getDistantAddresses(...args: any) { export function getDistantAddresses(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let target: any; let target: any;
@ -137,8 +129,7 @@ export function getDistantAddresses(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -188,12 +179,8 @@ export function getDistantAddresses(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'target', () => { h.on('getDataSrv', 'target', () => {return target;});
return target; h.on('getDataSrv', 'viaNode', () => {return viaNode;});
});
h.on('getDataSrv', 'viaNode', () => {
return viaNode;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -206,10 +193,10 @@ export function getDistantAddresses(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for getDistantAddresses'); reject('Request timed out for getDistantAddresses');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,25 +11,27 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
export interface SomeSDef { export interface SomeSDef {
getStr: (arg0: string | null, callParams: CallParams<'arg0'>) => string | null; getStr: (arg0: string | null, callParams: CallParams<'arg0'>) => string | null;
getStr1: (callParams: CallParams<null>) => string | null; getStr1: (callParams: CallParams<null>) => string | null;
getStr2: (arg0: string, callParams: CallParams<'arg0'>) => string; getStr2: (arg0: string, callParams: CallParams<'arg0'>) => string;
} }
export function registerSomeS(service: SomeSDef): void; export function registerSomeS(service: SomeSDef): void;
export function registerSomeS(serviceId: string, service: SomeSDef): void; export function registerSomeS(serviceId: string, service: SomeSDef): void;
export function registerSomeS(peer: FluencePeer, service: SomeSDef): void; export function registerSomeS(peer: FluencePeer, service: SomeSDef): void;
export function registerSomeS(peer: FluencePeer, serviceId: string, service: SomeSDef): void; export function registerSomeS(peer: FluencePeer, serviceId: string, service: SomeSDef): void;
export function registerSomeS(...args: any) { export function registerSomeS(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -45,7 +47,7 @@ export function registerSomeS(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'test2'; serviceId = "test2"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -53,7 +55,7 @@ export function registerSomeS(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -63,10 +65,7 @@ export function registerSomeS(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['getStr', 'getStr1', 'getStr2']); const incorrectServiceDefinitions = missingFields(service, ['getStr', 'getStr1', 'getStr2']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service SomeS: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service SomeS: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -79,35 +78,39 @@ export function registerSomeS(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
var respResult = service.getStr(req.args[0].length === 0 ? null : req.args[0][0], callParams); var respResult = service.getStr(req.args[0].length === 0 ? null : req.args[0][0], callParams);
resp.result = respResult === null ? [] : [respResult]; resp.result = respResult === null ? [] : [respResult]
} }
if (req.fnName === 'getStr1') { if (req.fnName === 'getStr1') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
var respResult = service.getStr1(callParams); var respResult = service.getStr1(callParams);
resp.result = respResult === null ? [] : [respResult]; resp.result = respResult === null ? [] : [respResult]
} }
if (req.fnName === 'getStr2') { if (req.fnName === 'getStr2') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.getStr2(req.args[0], callParams); resp.result = service.getStr2(req.args[0], callParams)
} }
next(); next();
@ -116,8 +119,9 @@ export function registerSomeS(...args: any) {
// Functions // Functions
export function useOptional(opt: string | null, config?: { ttl?: number }): Promise<string>;
export function useOptional(peer: FluencePeer, opt: string | null, config?: { ttl?: number }): Promise<string>; export function useOptional(opt: string | null, config?: {ttl?: number}): Promise<string>;
export function useOptional(peer: FluencePeer, opt: string | null, config?: {ttl?: number}): Promise<string>;
export function useOptional(...args: any) { export function useOptional(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let opt: any; let opt: any;
@ -136,8 +140,7 @@ export function useOptional(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -168,9 +171,7 @@ export function useOptional(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'opt', () => { h.on('getDataSrv', 'opt', () => {return opt === null ? [] : [opt];});
return opt === null ? [] : [opt];
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -183,10 +184,10 @@ export function useOptional(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for useOptional'); reject('Request timed out for useOptional');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -195,8 +196,10 @@ export function useOptional(...args: any) {
return promise; return promise;
} }
export function returnOptional(config?: { ttl?: number }): Promise<string | null>;
export function returnOptional(peer: FluencePeer, config?: { ttl?: number }): Promise<string | null>;
export function returnOptional(config?: {ttl?: number}): Promise<string | null>;
export function returnOptional(peer: FluencePeer, config?: {ttl?: number}): Promise<string | null>;
export function returnOptional(...args: any) { export function returnOptional(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -213,8 +216,7 @@ export function returnOptional(...args: any) {
const promise = new Promise<string | null>((resolve, reject) => { const promise = new Promise<string | null>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -238,9 +240,7 @@ export function returnOptional(...args: any) {
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
let [opt] = args; let [opt] = args;
if (Array.isArray(opt)) { if (Array.isArray(opt)) {
if (opt.length === 0) { if (opt.length === 0) { resolve(null); }
resolve(null);
}
opt = opt[0]; opt = opt[0];
} }
return resolve(opt); return resolve(opt);
@ -253,10 +253,10 @@ export function returnOptional(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for returnOptional'); reject('Request timed out for returnOptional');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -265,8 +265,10 @@ export function returnOptional(...args: any) {
return promise; return promise;
} }
export function returnNone(config?: { ttl?: number }): Promise<string | null>;
export function returnNone(peer: FluencePeer, config?: { ttl?: number }): Promise<string | null>;
export function returnNone(config?: {ttl?: number}): Promise<string | null>;
export function returnNone(peer: FluencePeer, config?: {ttl?: number}): Promise<string | null>;
export function returnNone(...args: any) { export function returnNone(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -283,8 +285,7 @@ export function returnNone(...args: any) {
const promise = new Promise<string | null>((resolve, reject) => { const promise = new Promise<string | null>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -308,9 +309,7 @@ export function returnNone(...args: any) {
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
let [opt] = args; let [opt] = args;
if (Array.isArray(opt)) { if (Array.isArray(opt)) {
if (opt.length === 0) { if (opt.length === 0) { resolve(null); }
resolve(null);
}
opt = opt[0]; opt = opt[0];
} }
return resolve(opt); return resolve(opt);
@ -323,10 +322,10 @@ export function returnNone(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for returnNone'); reject('Request timed out for returnNone');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface OptionStringDef { export interface OptionStringDef {
checkOption: (str: string | null, callParams: CallParams<'str'>) => string; checkOption: (str: string | null, callParams: CallParams<'str'>) => string;
} }
export function registerOptionString(service: OptionStringDef): void; export function registerOptionString(service: OptionStringDef): void;
export function registerOptionString(serviceId: string, service: OptionStringDef): void; export function registerOptionString(serviceId: string, service: OptionStringDef): void;
export function registerOptionString(peer: FluencePeer, service: OptionStringDef): void; export function registerOptionString(peer: FluencePeer, service: OptionStringDef): void;
export function registerOptionString(peer: FluencePeer, serviceId: string, service: OptionStringDef): void; export function registerOptionString(peer: FluencePeer, serviceId: string, service: OptionStringDef): void;
export function registerOptionString(...args: any) { export function registerOptionString(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerOptionString(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'opt_str'; serviceId = "opt_str"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerOptionString(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerOptionString(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['checkOption']); const incorrectServiceDefinitions = missingFields(service, ['checkOption']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service OptionString: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service OptionString: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,11 +76,11 @@ export function registerOptionString(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
str: req.tetraplets[0], str: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.checkOption(req.args[0].length === 0 ? null : req.args[0][0], callParams); resp.result = service.checkOption(req.args[0].length === 0 ? null : req.args[0][0], callParams)
} }
next(); next();
@ -90,8 +89,9 @@ export function registerOptionString(...args: any) {
// Functions // Functions
export function emptyString(config?: { ttl?: number }): Promise<string | null>;
export function emptyString(peer: FluencePeer, config?: { ttl?: number }): Promise<string | null>; export function emptyString(config?: {ttl?: number}): Promise<string | null>;
export function emptyString(peer: FluencePeer, config?: {ttl?: number}): Promise<string | null>;
export function emptyString(...args: any) { export function emptyString(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -108,8 +108,7 @@ export function emptyString(...args: any) {
const promise = new Promise<string | null>((resolve, reject) => { const promise = new Promise<string | null>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -130,9 +129,7 @@ export function emptyString(...args: any) {
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
let [opt] = args; let [opt] = args;
if (Array.isArray(opt)) { if (Array.isArray(opt)) {
if (opt.length === 0) { if (opt.length === 0) { resolve(null); }
resolve(null);
}
opt = opt[0]; opt = opt[0];
} }
return resolve(opt); return resolve(opt);
@ -145,10 +142,10 @@ export function emptyString(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for emptyString'); reject('Request timed out for emptyString');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -157,8 +154,10 @@ export function emptyString(...args: any) {
return promise; return promise;
} }
export function checkEmpty(config?: { ttl?: number }): Promise<string>;
export function checkEmpty(peer: FluencePeer, config?: { ttl?: number }): Promise<string>;
export function checkEmpty(config?: {ttl?: number}): Promise<string>;
export function checkEmpty(peer: FluencePeer, config?: {ttl?: number}): Promise<string>;
export function checkEmpty(...args: any) { export function checkEmpty(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -175,8 +174,7 @@ export function checkEmpty(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -209,10 +207,10 @@ export function checkEmpty(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for checkEmpty'); reject('Request timed out for checkEmpty');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -221,8 +219,10 @@ export function checkEmpty(...args: any) {
return promise; return promise;
} }
export function stringAsOption(str: string, config?: { ttl?: number }): Promise<string | null>;
export function stringAsOption(peer: FluencePeer, str: string, config?: { ttl?: number }): Promise<string | null>;
export function stringAsOption(str: string, config?: {ttl?: number}): Promise<string | null>;
export function stringAsOption(peer: FluencePeer, str: string, config?: {ttl?: number}): Promise<string | null>;
export function stringAsOption(...args: any) { export function stringAsOption(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let str: any; let str: any;
@ -241,8 +241,7 @@ export function stringAsOption(...args: any) {
const promise = new Promise<string | null>((resolve, reject) => { const promise = new Promise<string | null>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -265,15 +264,11 @@ export function stringAsOption(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'str', () => { h.on('getDataSrv', 'str', () => {return str;});
return str;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
let [opt] = args; let [opt] = args;
if (Array.isArray(opt)) { if (Array.isArray(opt)) {
if (opt.length === 0) { if (opt.length === 0) { resolve(null); }
resolve(null);
}
opt = opt[0]; opt = opt[0];
} }
return resolve(opt); return resolve(opt);
@ -286,10 +281,10 @@ export function stringAsOption(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for stringAsOption'); reject('Request timed out for stringAsOption');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -298,8 +293,10 @@ export function stringAsOption(...args: any) {
return promise; return promise;
} }
export function checkNoneEmpty(str: string, config?: { ttl?: number }): Promise<string>;
export function checkNoneEmpty(peer: FluencePeer, str: string, config?: { ttl?: number }): Promise<string>;
export function checkNoneEmpty(str: string, config?: {ttl?: number}): Promise<string>;
export function checkNoneEmpty(peer: FluencePeer, str: string, config?: {ttl?: number}): Promise<string>;
export function checkNoneEmpty(...args: any) { export function checkNoneEmpty(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let str: any; let str: any;
@ -318,8 +315,7 @@ export function checkNoneEmpty(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -345,9 +341,7 @@ export function checkNoneEmpty(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'str', () => { h.on('getDataSrv', 'str', () => {return str;});
return str;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -360,10 +354,10 @@ export function checkNoneEmpty(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for checkNoneEmpty'); reject('Request timed out for checkNoneEmpty');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface ParServiceDef { export interface ParServiceDef {
call: (callParams: CallParams<null>) => string; call: (callParams: CallParams<null>) => string;
} }
export function registerParService(service: ParServiceDef): void; export function registerParService(service: ParServiceDef): void;
export function registerParService(serviceId: string, service: ParServiceDef): void; export function registerParService(serviceId: string, service: ParServiceDef): void;
export function registerParService(peer: FluencePeer, service: ParServiceDef): void; export function registerParService(peer: FluencePeer, service: ParServiceDef): void;
export function registerParService(peer: FluencePeer, serviceId: string, service: ParServiceDef): void; export function registerParService(peer: FluencePeer, serviceId: string, service: ParServiceDef): void;
export function registerParService(...args: any) { export function registerParService(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerParService(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'parservice-id'; serviceId = "parservice-id"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerParService(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerParService(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['call']); const incorrectServiceDefinitions = missingFields(service, ['call']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service ParService: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service ParService: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -76,10 +75,12 @@ export function registerParService(...args: any) {
if (req.fnName === 'call') { if (req.fnName === 'call') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.call(callParams); resp.result = service.call(callParams)
} }
next(); next();
@ -88,17 +89,9 @@ export function registerParService(...args: any) {
// Functions // Functions
export function parFunc(
node: string, export function parFunc(node: string, c: (arg0: { external_addresses: string[]; }, callParams: CallParams<'arg0'>) => void, config?: {ttl?: number}): Promise<void>;
c: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void, export function parFunc(peer: FluencePeer, node: string, c: (arg0: { external_addresses: string[]; }, callParams: CallParams<'arg0'>) => void, config?: {ttl?: number}): Promise<void>;
config?: { ttl?: number },
): Promise<void>;
export function parFunc(
peer: FluencePeer,
node: string,
c: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void,
config?: { ttl?: number },
): Promise<void>;
export function parFunc(...args: any) { export function parFunc(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let node: any; let node: any;
@ -120,8 +113,7 @@ export function parFunc(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -159,25 +151,24 @@ export function parFunc(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'node', () => { h.on('getDataSrv', 'node', () => {return node;});
return node;
});
h.use((req, resp, next) => { h.use((req, resp, next) => {
if (req.serviceId === 'callbackSrv' && req.fnName === 'c') { if(req.serviceId === 'callbackSrv' && req.fnName === 'c') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
c(req.args[0], callParams); c(req.args[0], callParams); resp.result = {}
resp.result = {};
} }
next(); next();
}); });
h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('callbackSrv', 'response', (args) => {
});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -186,10 +177,10 @@ export function parFunc(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for parFunc'); reject('Request timed out for parFunc');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,28 +11,25 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
export interface AquaDHTDef { export interface AquaDHTDef {
put_host_value: ( put_host_value: (key: string, value: string, service_id: string[], callParams: CallParams<'key' | 'value' | 'service_id'>) => string;
key: string,
value: string,
service_id: string[],
callParams: CallParams<'key' | 'value' | 'service_id'>,
) => string;
} }
export function registerAquaDHT(service: AquaDHTDef): void; export function registerAquaDHT(service: AquaDHTDef): void;
export function registerAquaDHT(serviceId: string, service: AquaDHTDef): void; export function registerAquaDHT(serviceId: string, service: AquaDHTDef): void;
export function registerAquaDHT(peer: FluencePeer, service: AquaDHTDef): void; export function registerAquaDHT(peer: FluencePeer, service: AquaDHTDef): void;
export function registerAquaDHT(peer: FluencePeer, serviceId: string, service: AquaDHTDef): void; export function registerAquaDHT(peer: FluencePeer, serviceId: string, service: AquaDHTDef): void;
export function registerAquaDHT(...args: any) { export function registerAquaDHT(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -48,7 +45,7 @@ export function registerAquaDHT(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'test-dht'; serviceId = "test-dht"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -56,7 +53,7 @@ export function registerAquaDHT(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -66,10 +63,7 @@ export function registerAquaDHT(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['put_host_value']); const incorrectServiceDefinitions = missingFields(service, ['put_host_value']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service AquaDHT: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service AquaDHT: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -82,13 +76,11 @@ export function registerAquaDHT(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
key: req.tetraplets[0], key: req.tetraplets[0],value: req.tetraplets[1],service_id: req.tetraplets[2]
value: req.tetraplets[1],
service_id: req.tetraplets[2],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.put_host_value(req.args[0], req.args[1], req.args[2], callParams); resp.result = service.put_host_value(req.args[0], req.args[1], req.args[2], callParams)
} }
next(); next();
@ -97,19 +89,9 @@ export function registerAquaDHT(...args: any) {
// Functions // Functions
export function putHostValue(
key: string, export function putHostValue(key: string, value: string, service_id: string | null, config?: {ttl?: number}): Promise<string>;
value: string, export function putHostValue(peer: FluencePeer, key: string, value: string, service_id: string | null, config?: {ttl?: number}): Promise<string>;
service_id: string | null,
config?: { ttl?: number },
): Promise<string>;
export function putHostValue(
peer: FluencePeer,
key: string,
value: string,
service_id: string | null,
config?: { ttl?: number },
): Promise<string>;
export function putHostValue(...args: any) { export function putHostValue(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let key: any; let key: any;
@ -134,8 +116,7 @@ export function putHostValue(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -164,15 +145,9 @@ export function putHostValue(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'key', () => { h.on('getDataSrv', 'key', () => {return key;});
return key; h.on('getDataSrv', 'value', () => {return value;});
}); h.on('getDataSrv', 'service_id', () => {return service_id === null ? [] : [service_id];});
h.on('getDataSrv', 'value', () => {
return value;
});
h.on('getDataSrv', 'service_id', () => {
return service_id === null ? [] : [service_id];
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -185,10 +160,10 @@ export function putHostValue(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for putHostValue'); reject('Request timed out for putHostValue');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -197,8 +172,10 @@ export function putHostValue(...args: any) {
return promise; return promise;
} }
export function create_client_util(service_id: string, config?: { ttl?: number }): Promise<string>;
export function create_client_util(peer: FluencePeer, service_id: string, config?: { ttl?: number }): Promise<string>;
export function create_client_util(service_id: string, config?: {ttl?: number}): Promise<string>;
export function create_client_util(peer: FluencePeer, service_id: string, config?: {ttl?: number}): Promise<string>;
export function create_client_util(...args: any) { export function create_client_util(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let service_id: any; let service_id: any;
@ -217,8 +194,7 @@ export function create_client_util(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -241,9 +217,7 @@ export function create_client_util(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'service_id', () => { h.on('getDataSrv', 'service_id', () => {return service_id;});
return service_id;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -256,10 +230,10 @@ export function create_client_util(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for create_client_util'); reject('Request timed out for create_client_util');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface PrintlnDef { export interface PrintlnDef {
print: (arg0: string, callParams: CallParams<'arg0'>) => void; print: (arg0: string, callParams: CallParams<'arg0'>) => void;
} }
export function registerPrintln(service: PrintlnDef): void; export function registerPrintln(service: PrintlnDef): void;
export function registerPrintln(serviceId: string, service: PrintlnDef): void; export function registerPrintln(serviceId: string, service: PrintlnDef): void;
export function registerPrintln(peer: FluencePeer, service: PrintlnDef): void; export function registerPrintln(peer: FluencePeer, service: PrintlnDef): void;
export function registerPrintln(peer: FluencePeer, serviceId: string, service: PrintlnDef): void; export function registerPrintln(peer: FluencePeer, serviceId: string, service: PrintlnDef): void;
export function registerPrintln(...args: any) { export function registerPrintln(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerPrintln(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'println-service-id'; serviceId = "println-service-id"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerPrintln(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerPrintln(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['print']); const incorrectServiceDefinitions = missingFields(service, ['print']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service Println: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service Println: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,12 +76,11 @@ export function registerPrintln(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
service.print(req.args[0], callParams); service.print(req.args[0], callParams); resp.result = {}
resp.result = {};
} }
next(); next();
@ -91,8 +89,9 @@ export function registerPrintln(...args: any) {
// Functions // Functions
export function print(str: string, config?: { ttl?: number }): Promise<void>;
export function print(peer: FluencePeer, str: string, config?: { ttl?: number }): Promise<void>; export function print(str: string, config?: {ttl?: number}): Promise<void>;
export function print(peer: FluencePeer, str: string, config?: {ttl?: number}): Promise<void>;
export function print(...args: any) { export function print(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let str: any; let str: any;
@ -111,8 +110,7 @@ export function print(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -129,10 +127,10 @@ export function print(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'str', () => { h.on('getDataSrv', 'str', () => {return str;});
return str; h.onEvent('callbackSrv', 'response', (args) => {
}); });
h.onEvent('callbackSrv', 'response', (args) => {});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -141,10 +139,10 @@ export function print(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for print'); reject('Request timed out for print');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface OpADef { export interface OpADef {
get_str: (callParams: CallParams<null>) => string; get_str: (callParams: CallParams<null>) => string;
} }
export function registerOpA(service: OpADef): void; export function registerOpA(service: OpADef): void;
export function registerOpA(serviceId: string, service: OpADef): void; export function registerOpA(serviceId: string, service: OpADef): void;
export function registerOpA(peer: FluencePeer, service: OpADef): void; export function registerOpA(peer: FluencePeer, service: OpADef): void;
export function registerOpA(peer: FluencePeer, serviceId: string, service: OpADef): void; export function registerOpA(peer: FluencePeer, serviceId: string, service: OpADef): void;
export function registerOpA(...args: any) { export function registerOpA(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerOpA(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'pop'; serviceId = "pop"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerOpA(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerOpA(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['get_str']); const incorrectServiceDefinitions = missingFields(service, ['get_str']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service OpA: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service OpA: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -76,10 +75,12 @@ export function registerOpA(...args: any) {
if (req.fnName === 'get_str') { if (req.fnName === 'get_str') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.get_str(callParams); resp.result = service.get_str(callParams)
} }
next(); next();
@ -88,8 +89,9 @@ export function registerOpA(...args: any) {
// Functions // Functions
export function get_results(config?: { ttl?: number }): Promise<string[]>;
export function get_results(peer: FluencePeer, config?: { ttl?: number }): Promise<string[]>; export function get_results(config?: {ttl?: number}): Promise<string[]>;
export function get_results(peer: FluencePeer, config?: {ttl?: number}): Promise<string[]>;
export function get_results(...args: any) { export function get_results(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -106,8 +108,7 @@ export function get_results(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -146,10 +147,10 @@ export function get_results(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for get_results'); reject('Request timed out for get_results');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,19 +11,21 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
// Functions // Functions
export function returnLiteral(config?: { ttl?: number }): Promise<string>;
export function returnLiteral(peer: FluencePeer, config?: { ttl?: number }): Promise<string>; export function returnLiteral(config?: {ttl?: number}): Promise<string>;
export function returnLiteral(peer: FluencePeer, config?: {ttl?: number}): Promise<string>;
export function returnLiteral(...args: any) { export function returnLiteral(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -40,8 +42,7 @@ export function returnLiteral(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -71,10 +72,10 @@ export function returnLiteral(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for returnLiteral'); reject('Request timed out for returnLiteral');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface StringerDef { export interface StringerDef {
returnString: (arg0: string, callParams: CallParams<'arg0'>) => string; returnString: (arg0: string, callParams: CallParams<'arg0'>) => string;
} }
export function registerStringer(service: StringerDef): void; export function registerStringer(service: StringerDef): void;
export function registerStringer(serviceId: string, service: StringerDef): void; export function registerStringer(serviceId: string, service: StringerDef): void;
export function registerStringer(peer: FluencePeer, service: StringerDef): void; export function registerStringer(peer: FluencePeer, service: StringerDef): void;
export function registerStringer(peer: FluencePeer, serviceId: string, service: StringerDef): void; export function registerStringer(peer: FluencePeer, serviceId: string, service: StringerDef): void;
export function registerStringer(...args: any) { export function registerStringer(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerStringer(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'stringer-id'; serviceId = "stringer-id"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerStringer(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerStringer(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['returnString']); const incorrectServiceDefinitions = missingFields(service, ['returnString']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service Stringer: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service Stringer: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,11 +76,11 @@ export function registerStringer(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.returnString(req.args[0], callParams); resp.result = service.returnString(req.args[0], callParams)
} }
next(); next();
@ -90,8 +89,9 @@ export function registerStringer(...args: any) {
// Functions // Functions
export function returnNone(config?: { ttl?: number }): Promise<string | null>;
export function returnNone(peer: FluencePeer, config?: { ttl?: number }): Promise<string | null>; export function returnNone(config?: {ttl?: number}): Promise<string | null>;
export function returnNone(peer: FluencePeer, config?: {ttl?: number}): Promise<string | null>;
export function returnNone(...args: any) { export function returnNone(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -108,8 +108,7 @@ export function returnNone(...args: any) {
const promise = new Promise<string | null>((resolve, reject) => { const promise = new Promise<string | null>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -130,9 +129,7 @@ export function returnNone(...args: any) {
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
let [opt] = args; let [opt] = args;
if (Array.isArray(opt)) { if (Array.isArray(opt)) {
if (opt.length === 0) { if (opt.length === 0) { resolve(null); }
resolve(null);
}
opt = opt[0]; opt = opt[0];
} }
return resolve(opt); return resolve(opt);
@ -145,10 +142,10 @@ export function returnNone(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for returnNone'); reject('Request timed out for returnNone');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -157,8 +154,10 @@ export function returnNone(...args: any) {
return promise; return promise;
} }
export function stringNone(config?: { ttl?: number }): Promise<string | null>;
export function stringNone(peer: FluencePeer, config?: { ttl?: number }): Promise<string | null>;
export function stringNone(config?: {ttl?: number}): Promise<string | null>;
export function stringNone(peer: FluencePeer, config?: {ttl?: number}): Promise<string | null>;
export function stringNone(...args: any) { export function stringNone(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -175,8 +174,7 @@ export function stringNone(...args: any) {
const promise = new Promise<string | null>((resolve, reject) => { const promise = new Promise<string | null>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -197,9 +195,7 @@ export function stringNone(...args: any) {
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
let [opt] = args; let [opt] = args;
if (Array.isArray(opt)) { if (Array.isArray(opt)) {
if (opt.length === 0) { if (opt.length === 0) { resolve(null); }
resolve(null);
}
opt = opt[0]; opt = opt[0];
} }
return resolve(opt); return resolve(opt);
@ -212,10 +208,10 @@ export function stringNone(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for stringNone'); reject('Request timed out for stringNone');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -224,8 +220,10 @@ export function stringNone(...args: any) {
return promise; return promise;
} }
export function returnNil(config?: { ttl?: number }): Promise<string[]>;
export function returnNil(peer: FluencePeer, config?: { ttl?: number }): Promise<string[]>;
export function returnNil(config?: {ttl?: number}): Promise<string[]>;
export function returnNil(peer: FluencePeer, config?: {ttl?: number}): Promise<string[]>;
export function returnNil(...args: any) { export function returnNil(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -242,8 +240,7 @@ export function returnNil(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -273,10 +270,10 @@ export function returnNil(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for returnNil'); reject('Request timed out for returnNil');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -285,8 +282,10 @@ export function returnNil(...args: any) {
return promise; return promise;
} }
export function stringNil(config?: { ttl?: number }): Promise<string[]>;
export function stringNil(peer: FluencePeer, config?: { ttl?: number }): Promise<string[]>;
export function stringNil(config?: {ttl?: number}): Promise<string[]>;
export function stringNil(peer: FluencePeer, config?: {ttl?: number}): Promise<string[]>;
export function stringNil(...args: any) { export function stringNil(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
@ -303,8 +302,7 @@ export function stringNil(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -334,10 +332,10 @@ export function stringNil(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for stringNil'); reject('Request timed out for stringNil');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -346,8 +344,10 @@ export function stringNil(...args: any) {
return promise; return promise;
} }
export function checkStreams(ch: string[], config?: { ttl?: number }): Promise<string[]>;
export function checkStreams(peer: FluencePeer, ch: string[], config?: { ttl?: number }): Promise<string[]>;
export function checkStreams(ch: string[], config?: {ttl?: number}): Promise<string[]>;
export function checkStreams(peer: FluencePeer, ch: string[], config?: {ttl?: number}): Promise<string[]>;
export function checkStreams(...args: any) { export function checkStreams(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let ch: any; let ch: any;
@ -366,8 +366,7 @@ export function checkStreams(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -401,9 +400,7 @@ export function checkStreams(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'ch', () => { h.on('getDataSrv', 'ch', () => {return ch;});
return ch;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -416,10 +413,10 @@ export function checkStreams(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for checkStreams'); reject('Request timed out for checkStreams');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface TestServiceDef { export interface TestServiceDef {
get_records: (key: string, callParams: CallParams<'key'>) => string[]; get_records: (key: string, callParams: CallParams<'key'>) => string[];
} }
export function registerTestService(service: TestServiceDef): void; export function registerTestService(service: TestServiceDef): void;
export function registerTestService(serviceId: string, service: TestServiceDef): void; export function registerTestService(serviceId: string, service: TestServiceDef): void;
export function registerTestService(peer: FluencePeer, service: TestServiceDef): void; export function registerTestService(peer: FluencePeer, service: TestServiceDef): void;
export function registerTestService(peer: FluencePeer, serviceId: string, service: TestServiceDef): void; export function registerTestService(peer: FluencePeer, serviceId: string, service: TestServiceDef): void;
export function registerTestService(...args: any) { export function registerTestService(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerTestService(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'test-service'; serviceId = "test-service"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerTestService(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerTestService(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['get_records']); const incorrectServiceDefinitions = missingFields(service, ['get_records']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service TestService: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service TestService: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,11 +76,11 @@ export function registerTestService(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
key: req.tetraplets[0], key: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.get_records(req.args[0], callParams); resp.result = service.get_records(req.args[0], callParams)
} }
next(); next();
@ -90,13 +89,9 @@ export function registerTestService(...args: any) {
// Functions // Functions
export function append_records(peer_: string, srum: string[][], config?: { ttl?: number }): Promise<void>;
export function append_records( export function append_records(peer_: string, srum: string[][], config?: {ttl?: number}): Promise<void>;
peer: FluencePeer, export function append_records(peer: FluencePeer, peer_: string, srum: string[][], config?: {ttl?: number}): Promise<void>;
peer_: string,
srum: string[][],
config?: { ttl?: number },
): Promise<void>;
export function append_records(...args: any) { export function append_records(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let peer_: any; let peer_: any;
@ -118,8 +113,7 @@ export function append_records(...args: any) {
const promise = new Promise<void>((resolve, reject) => { const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -147,13 +141,11 @@ export function append_records(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'peer', () => { h.on('getDataSrv', 'peer', () => {return peer_;});
return peer_; h.on('getDataSrv', 'srum', () => {return srum;});
h.onEvent('callbackSrv', 'response', (args) => {
}); });
h.on('getDataSrv', 'srum', () => {
return srum;
});
h.onEvent('callbackSrv', 'response', (args) => {});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent('errorHandlingSrv', 'error', (args) => {
const [err] = args; const [err] = args;
reject(err); reject(err);
@ -162,10 +154,10 @@ export function append_records(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for append_records'); reject('Request timed out for append_records');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -174,8 +166,10 @@ export function append_records(...args: any) {
return Promise.race([promise, Promise.resolve()]); return Promise.race([promise, Promise.resolve()]);
} }
export function retrieve_records(peer_: string, config?: { ttl?: number }): Promise<string[][]>;
export function retrieve_records(peer: FluencePeer, peer_: string, config?: { ttl?: number }): Promise<string[][]>;
export function retrieve_records(peer_: string, config?: {ttl?: number}): Promise<string[][]>;
export function retrieve_records(peer: FluencePeer, peer_: string, config?: {ttl?: number}): Promise<string[][]>;
export function retrieve_records(...args: any) { export function retrieve_records(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let peer_: any; let peer_: any;
@ -194,8 +188,7 @@ export function retrieve_records(...args: any) {
const promise = new Promise<string[][]>((resolve, reject) => { const promise = new Promise<string[][]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -218,9 +211,7 @@ export function retrieve_records(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'peer', () => { h.on('getDataSrv', 'peer', () => {return peer_;});
return peer_;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -233,10 +224,10 @@ export function retrieve_records(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for retrieve_records'); reject('Request timed out for retrieve_records');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,23 +11,25 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
export interface DTGetterDef { export interface DTGetterDef {
get_dt: (s: string, callParams: CallParams<'s'>) => { field: string }; get_dt: (s: string, callParams: CallParams<'s'>) => { field: string; };
} }
export function registerDTGetter(service: DTGetterDef): void; export function registerDTGetter(service: DTGetterDef): void;
export function registerDTGetter(serviceId: string, service: DTGetterDef): void; export function registerDTGetter(serviceId: string, service: DTGetterDef): void;
export function registerDTGetter(peer: FluencePeer, service: DTGetterDef): void; export function registerDTGetter(peer: FluencePeer, service: DTGetterDef): void;
export function registerDTGetter(peer: FluencePeer, serviceId: string, service: DTGetterDef): void; export function registerDTGetter(peer: FluencePeer, serviceId: string, service: DTGetterDef): void;
export function registerDTGetter(...args: any) { export function registerDTGetter(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerDTGetter(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'get-dt'; serviceId = "get-dt"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerDTGetter(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerDTGetter(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['get_dt']); const incorrectServiceDefinitions = missingFields(service, ['get_dt']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service DTGetter: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service DTGetter: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,11 +76,11 @@ export function registerDTGetter(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0], s: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.get_dt(req.args[0], callParams); resp.result = service.get_dt(req.args[0], callParams)
} }
next(); next();
@ -90,8 +89,9 @@ export function registerDTGetter(...args: any) {
// Functions // Functions
export function use_name1(name: string, config?: { ttl?: number }): Promise<string>;
export function use_name1(peer: FluencePeer, name: string, config?: { ttl?: number }): Promise<string>; export function use_name1(name: string, config?: {ttl?: number}): Promise<string>;
export function use_name1(peer: FluencePeer, name: string, config?: {ttl?: number}): Promise<string>;
export function use_name1(...args: any) { export function use_name1(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let name: any; let name: any;
@ -110,8 +110,7 @@ export function use_name1(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -134,9 +133,7 @@ export function use_name1(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'name', () => { h.on('getDataSrv', 'name', () => {return name;});
return name;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -149,10 +146,10 @@ export function use_name1(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for use_name1'); reject('Request timed out for use_name1');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -161,8 +158,10 @@ export function use_name1(...args: any) {
return promise; return promise;
} }
export function use_name2(name: string, config?: { ttl?: number }): Promise<string[]>;
export function use_name2(peer: FluencePeer, name: string, config?: { ttl?: number }): Promise<string[]>;
export function use_name2(name: string, config?: {ttl?: number}): Promise<string[]>;
export function use_name2(peer: FluencePeer, name: string, config?: {ttl?: number}): Promise<string[]>;
export function use_name2(...args: any) { export function use_name2(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let name: any; let name: any;
@ -181,8 +180,7 @@ export function use_name2(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -220,9 +218,7 @@ export function use_name2(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'name', () => { h.on('getDataSrv', 'name', () => {return name;});
return name;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -235,10 +231,10 @@ export function use_name2(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for use_name2'); reject('Request timed out for use_name2');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,27 +11,25 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
export interface ConcatSubsDef { export interface ConcatSubsDef {
get_some: ( get_some: (s: string, sr: { one: string; two: number; }, callParams: CallParams<'s' | 'sr'>) => { one: string; two: number; };
s: string,
sr: { one: string; two: number },
callParams: CallParams<'s' | 'sr'>,
) => { one: string; two: number };
} }
export function registerConcatSubs(service: ConcatSubsDef): void; export function registerConcatSubs(service: ConcatSubsDef): void;
export function registerConcatSubs(serviceId: string, service: ConcatSubsDef): void; export function registerConcatSubs(serviceId: string, service: ConcatSubsDef): void;
export function registerConcatSubs(peer: FluencePeer, service: ConcatSubsDef): void; export function registerConcatSubs(peer: FluencePeer, service: ConcatSubsDef): void;
export function registerConcatSubs(peer: FluencePeer, serviceId: string, service: ConcatSubsDef): void; export function registerConcatSubs(peer: FluencePeer, serviceId: string, service: ConcatSubsDef): void;
export function registerConcatSubs(...args: any) { export function registerConcatSubs(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -47,7 +45,7 @@ export function registerConcatSubs(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'concat_subs'; serviceId = "concat_subs"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -55,7 +53,7 @@ export function registerConcatSubs(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -65,10 +63,7 @@ export function registerConcatSubs(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['get_some']); const incorrectServiceDefinitions = missingFields(service, ['get_some']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service ConcatSubs: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service ConcatSubs: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -81,12 +76,11 @@ export function registerConcatSubs(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0], s: req.tetraplets[0],sr: req.tetraplets[1]
sr: req.tetraplets[1],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.get_some(req.args[0], req.args[1], callParams); resp.result = service.get_some(req.args[0], req.args[1], callParams)
} }
next(); next();
@ -95,12 +89,9 @@ export function registerConcatSubs(...args: any) {
// Functions // Functions
export function subImportUsage(s: string, config?: { ttl?: number }): Promise<{ one: string; two: number }>; export type SubImportUsageResult = { one: string; two: number; }
export function subImportUsage( export function subImportUsage(s: string, config?: {ttl?: number}): Promise<SubImportUsageResult>;
peer: FluencePeer, export function subImportUsage(peer: FluencePeer, s: string, config?: {ttl?: number}): Promise<SubImportUsageResult>;
s: string,
config?: { ttl?: number },
): Promise<{ one: string; two: number }>;
export function subImportUsage(...args: any) { export function subImportUsage(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let s: any; let s: any;
@ -116,11 +107,10 @@ export function subImportUsage(...args: any) {
} }
let request: RequestFlow; let request: RequestFlow;
const promise = new Promise<{ one: string; two: number }>((resolve, reject) => { const promise = new Promise<SubImportUsageResult>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -149,9 +139,7 @@ export function subImportUsage(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 's', () => { h.on('getDataSrv', 's', () => {return s;});
return s;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -164,10 +152,10 @@ export function subImportUsage(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for subImportUsage'); reject('Request timed out for subImportUsage');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface TestoDef { export interface TestoDef {
getString: (arg0: string, callParams: CallParams<'arg0'>) => string; getString: (arg0: string, callParams: CallParams<'arg0'>) => string;
} }
export function registerTesto(service: TestoDef): void; export function registerTesto(service: TestoDef): void;
export function registerTesto(serviceId: string, service: TestoDef): void; export function registerTesto(serviceId: string, service: TestoDef): void;
export function registerTesto(peer: FluencePeer, service: TestoDef): void; export function registerTesto(peer: FluencePeer, service: TestoDef): void;
export function registerTesto(peer: FluencePeer, serviceId: string, service: TestoDef): void; export function registerTesto(peer: FluencePeer, serviceId: string, service: TestoDef): void;
export function registerTesto(...args: any) { export function registerTesto(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerTesto(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'testo'; serviceId = "testo"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerTesto(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerTesto(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['getString']); const incorrectServiceDefinitions = missingFields(service, ['getString']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service Testo: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service Testo: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,25 +76,28 @@ export function registerTesto(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.getString(req.args[0], callParams); resp.result = service.getString(req.args[0], callParams)
} }
next(); next();
}); });
} }
export interface LocalPrintDef { export interface LocalPrintDef {
print: (arg0: string, callParams: CallParams<'arg0'>) => void; print: (arg0: string, callParams: CallParams<'arg0'>) => void;
} }
export function registerLocalPrint(service: LocalPrintDef): void; export function registerLocalPrint(service: LocalPrintDef): void;
export function registerLocalPrint(serviceId: string, service: LocalPrintDef): void; export function registerLocalPrint(serviceId: string, service: LocalPrintDef): void;
export function registerLocalPrint(peer: FluencePeer, service: LocalPrintDef): void; export function registerLocalPrint(peer: FluencePeer, service: LocalPrintDef): void;
export function registerLocalPrint(peer: FluencePeer, serviceId: string, service: LocalPrintDef): void; export function registerLocalPrint(peer: FluencePeer, serviceId: string, service: LocalPrintDef): void;
export function registerLocalPrint(...args: any) { export function registerLocalPrint(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -111,7 +113,7 @@ export function registerLocalPrint(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'lp'; serviceId = "lp"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -119,7 +121,7 @@ export function registerLocalPrint(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -129,10 +131,7 @@ export function registerLocalPrint(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['print']); const incorrectServiceDefinitions = missingFields(service, ['print']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service LocalPrint: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service LocalPrint: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -145,12 +144,11 @@ export function registerLocalPrint(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
arg0: req.tetraplets[0], arg0: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
service.print(req.args[0], callParams); service.print(req.args[0], callParams); resp.result = {}
resp.result = {};
} }
next(); next();
@ -159,21 +157,9 @@ export function registerLocalPrint(...args: any) {
// Functions // Functions
export function topologyTest(
me: string, export function topologyTest(me: string, myRelay: string, friend: string, friendRelay: string, config?: {ttl?: number}): Promise<string>;
myRelay: string, export function topologyTest(peer: FluencePeer, me: string, myRelay: string, friend: string, friendRelay: string, config?: {ttl?: number}): Promise<string>;
friend: string,
friendRelay: string,
config?: { ttl?: number },
): Promise<string>;
export function topologyTest(
peer: FluencePeer,
me: string,
myRelay: string,
friend: string,
friendRelay: string,
config?: { ttl?: number },
): Promise<string>;
export function topologyTest(...args: any) { export function topologyTest(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let me: any; let me: any;
@ -201,8 +187,7 @@ export function topologyTest(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -264,18 +249,10 @@ export function topologyTest(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'me', () => { h.on('getDataSrv', 'me', () => {return me;});
return me; h.on('getDataSrv', 'myRelay', () => {return myRelay;});
}); h.on('getDataSrv', 'friend', () => {return friend;});
h.on('getDataSrv', 'myRelay', () => { h.on('getDataSrv', 'friendRelay', () => {return friendRelay;});
return myRelay;
});
h.on('getDataSrv', 'friend', () => {
return friend;
});
h.on('getDataSrv', 'friendRelay', () => {
return friendRelay;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -288,10 +265,10 @@ export function topologyTest(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for topologyTest'); reject('Request timed out for topologyTest');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface UnexistedDef { export interface UnexistedDef {
getStr: (callParams: CallParams<null>) => string; getStr: (callParams: CallParams<null>) => string;
} }
export function registerUnexisted(service: UnexistedDef): void; export function registerUnexisted(service: UnexistedDef): void;
export function registerUnexisted(serviceId: string, service: UnexistedDef): void; export function registerUnexisted(serviceId: string, service: UnexistedDef): void;
export function registerUnexisted(peer: FluencePeer, service: UnexistedDef): void; export function registerUnexisted(peer: FluencePeer, service: UnexistedDef): void;
export function registerUnexisted(peer: FluencePeer, serviceId: string, service: UnexistedDef): void; export function registerUnexisted(peer: FluencePeer, serviceId: string, service: UnexistedDef): void;
export function registerUnexisted(...args: any) { export function registerUnexisted(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerUnexisted(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'unex'; serviceId = "unex"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerUnexisted(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerUnexisted(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['getStr']); const incorrectServiceDefinitions = missingFields(service, ['getStr']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service Unexisted: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service Unexisted: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -76,24 +75,29 @@ export function registerUnexisted(...args: any) {
if (req.fnName === 'getStr') { if (req.fnName === 'getStr') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.getStr(callParams); resp.result = service.getStr(callParams)
} }
next(); next();
}); });
} }
export interface OpADef { export interface OpADef {
identity: (s: string, callParams: CallParams<'s'>) => string; identity: (s: string, callParams: CallParams<'s'>) => string;
} }
export function registerOpA(service: OpADef): void; export function registerOpA(service: OpADef): void;
export function registerOpA(serviceId: string, service: OpADef): void; export function registerOpA(serviceId: string, service: OpADef): void;
export function registerOpA(peer: FluencePeer, service: OpADef): void; export function registerOpA(peer: FluencePeer, service: OpADef): void;
export function registerOpA(peer: FluencePeer, serviceId: string, service: OpADef): void; export function registerOpA(peer: FluencePeer, serviceId: string, service: OpADef): void;
export function registerOpA(...args: any) { export function registerOpA(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -109,7 +113,7 @@ export function registerOpA(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'op'; serviceId = "op"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -117,7 +121,7 @@ export function registerOpA(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -127,10 +131,7 @@ export function registerOpA(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['identity']); const incorrectServiceDefinitions = missingFields(service, ['identity']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service OpA: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service OpA: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -143,11 +144,11 @@ export function registerOpA(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0], s: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.identity(req.args[0], callParams); resp.result = service.identity(req.args[0], callParams)
} }
next(); next();
@ -156,8 +157,9 @@ export function registerOpA(...args: any) {
// Functions // Functions
export function tryCatchTest(node_id: string, config?: { ttl?: number }): Promise<string[]>;
export function tryCatchTest(peer: FluencePeer, node_id: string, config?: { ttl?: number }): Promise<string[]>; export function tryCatchTest(node_id: string, config?: {ttl?: number}): Promise<string[]>;
export function tryCatchTest(peer: FluencePeer, node_id: string, config?: {ttl?: number}): Promise<string[]>;
export function tryCatchTest(...args: any) { export function tryCatchTest(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let node_id: any; let node_id: any;
@ -176,8 +178,7 @@ export function tryCatchTest(...args: any) {
const promise = new Promise<string[]>((resolve, reject) => { const promise = new Promise<string[]>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -221,9 +222,7 @@ export function tryCatchTest(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'node_id', () => { h.on('getDataSrv', 'node_id', () => {return node_id;});
return node_id;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -236,10 +235,10 @@ export function tryCatchTest(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for tryCatchTest'); reject('Request timed out for tryCatchTest');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface UnexistedDef { export interface UnexistedDef {
getStr: (callParams: CallParams<null>) => string; getStr: (callParams: CallParams<null>) => string;
} }
export function registerUnexisted(service: UnexistedDef): void; export function registerUnexisted(service: UnexistedDef): void;
export function registerUnexisted(serviceId: string, service: UnexistedDef): void; export function registerUnexisted(serviceId: string, service: UnexistedDef): void;
export function registerUnexisted(peer: FluencePeer, service: UnexistedDef): void; export function registerUnexisted(peer: FluencePeer, service: UnexistedDef): void;
export function registerUnexisted(peer: FluencePeer, serviceId: string, service: UnexistedDef): void; export function registerUnexisted(peer: FluencePeer, serviceId: string, service: UnexistedDef): void;
export function registerUnexisted(...args: any) { export function registerUnexisted(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerUnexisted(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'unex'; serviceId = "unex"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerUnexisted(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerUnexisted(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['getStr']); const incorrectServiceDefinitions = missingFields(service, ['getStr']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service Unexisted: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service Unexisted: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -76,24 +75,29 @@ export function registerUnexisted(...args: any) {
if (req.fnName === 'getStr') { if (req.fnName === 'getStr') {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: {}, tetraplets: {
},
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.getStr(callParams); resp.result = service.getStr(callParams)
} }
next(); next();
}); });
} }
export interface OpEDef { export interface OpEDef {
identity: (s: string, callParams: CallParams<'s'>) => string; identity: (s: string, callParams: CallParams<'s'>) => string;
} }
export function registerOpE(service: OpEDef): void; export function registerOpE(service: OpEDef): void;
export function registerOpE(serviceId: string, service: OpEDef): void; export function registerOpE(serviceId: string, service: OpEDef): void;
export function registerOpE(peer: FluencePeer, service: OpEDef): void; export function registerOpE(peer: FluencePeer, service: OpEDef): void;
export function registerOpE(peer: FluencePeer, serviceId: string, service: OpEDef): void; export function registerOpE(peer: FluencePeer, serviceId: string, service: OpEDef): void;
export function registerOpE(...args: any) { export function registerOpE(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -109,7 +113,7 @@ export function registerOpE(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'op'; serviceId = "op"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -117,7 +121,7 @@ export function registerOpE(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -127,10 +131,7 @@ export function registerOpE(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['identity']); const incorrectServiceDefinitions = missingFields(service, ['identity']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service OpE: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service OpE: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -143,11 +144,11 @@ export function registerOpE(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0], s: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.identity(req.args[0], callParams); resp.result = service.identity(req.args[0], callParams)
} }
next(); next();
@ -156,8 +157,9 @@ export function registerOpE(...args: any) {
// Functions // Functions
export function tryOtherwiseTest(node_id: string, config?: { ttl?: number }): Promise<string>;
export function tryOtherwiseTest(peer: FluencePeer, node_id: string, config?: { ttl?: number }): Promise<string>; export function tryOtherwiseTest(node_id: string, config?: {ttl?: number}): Promise<string>;
export function tryOtherwiseTest(peer: FluencePeer, node_id: string, config?: {ttl?: number}): Promise<string>;
export function tryOtherwiseTest(...args: any) { export function tryOtherwiseTest(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let node_id: any; let node_id: any;
@ -176,8 +178,7 @@ export function tryOtherwiseTest(...args: any) {
const promise = new Promise<string>((resolve, reject) => { const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -215,9 +216,7 @@ export function tryOtherwiseTest(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'node_id', () => { h.on('getDataSrv', 'node_id', () => {return node_id;});
return node_id;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -230,10 +229,10 @@ export function tryOtherwiseTest(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for tryOtherwiseTest'); reject('Request timed out for tryOtherwiseTest');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();

View File

@ -3,7 +3,7 @@
* This file is auto-generated. Do not edit manually: changes may be erased. * This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * 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 * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.3.1-231 * Aqua version: 0.3.2-SNAPSHOT
* *
*/ */
import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { Fluence, FluencePeer } from '@fluencelabs/fluence';
@ -11,11 +11,12 @@ import {
ResultCodes, ResultCodes,
RequestFlow, RequestFlow,
RequestFlowBuilder, RequestFlowBuilder,
CallParams, CallParams
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
function missingFields(obj: any, fields: string[]): string[] { function missingFields(obj: any, fields: string[]): string[] {
return fields.filter((f) => !(f in obj)); return fields.filter(f => !(f in obj))
} }
// Services // Services
@ -23,11 +24,12 @@ function missingFields(obj: any, fields: string[]): string[] {
export interface CustomIdDef { export interface CustomIdDef {
id: (s: string, callParams: CallParams<'s'>) => string; id: (s: string, callParams: CallParams<'s'>) => string;
} }
export function registerCustomId(service: CustomIdDef): void; export function registerCustomId(service: CustomIdDef): void;
export function registerCustomId(serviceId: string, service: CustomIdDef): void; export function registerCustomId(serviceId: string, service: CustomIdDef): void;
export function registerCustomId(peer: FluencePeer, service: CustomIdDef): void; export function registerCustomId(peer: FluencePeer, service: CustomIdDef): void;
export function registerCustomId(peer: FluencePeer, serviceId: string, service: CustomIdDef): void; export function registerCustomId(peer: FluencePeer, serviceId: string, service: CustomIdDef): void;
export function registerCustomId(...args: any) { export function registerCustomId(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
@ -43,7 +45,7 @@ export function registerCustomId(...args: any) {
} else if (typeof args[1] === 'string') { } else if (typeof args[1] === 'string') {
serviceId = args[1]; serviceId = args[1];
} else { } else {
serviceId = 'cid'; serviceId = "cid"
} }
// Figuring out which overload is the service. // Figuring out which overload is the service.
@ -51,7 +53,7 @@ export function registerCustomId(...args: any) {
// If the first argument is peer, we are checking further. The second argument might either be // If the first argument is peer, we are checking further. The second argument might either be
// an object, that it must be the service object // an object, that it must be the service object
// or a string, which is the service id. In that case the service is the third argument // or a string, which is the service id. In that case the service is the third argument
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { if (!(FluencePeer.isInstance(args[0])) && typeof args[0] === 'object') {
service = args[0]; service = args[0];
} else if (typeof args[1] === 'object') { } else if (typeof args[1] === 'object') {
service = args[1]; service = args[1];
@ -61,10 +63,7 @@ export function registerCustomId(...args: any) {
const incorrectServiceDefinitions = missingFields(service, ['id']); const incorrectServiceDefinitions = missingFields(service, ['id']);
if (!!incorrectServiceDefinitions.length) { if (!!incorrectServiceDefinitions.length) {
throw new Error( throw new Error("Error registering service CustomId: missing functions: " + incorrectServiceDefinitions.map((d) => "'" + d + "'").join(", "))
'Error registering service CustomId: missing functions: ' +
incorrectServiceDefinitions.map((d) => "'" + d + "'").join(', '),
);
} }
peer.internals.callServiceHandler.use((req, resp, next) => { peer.internals.callServiceHandler.use((req, resp, next) => {
@ -77,11 +76,11 @@ export function registerCustomId(...args: any) {
const callParams = { const callParams = {
...req.particleContext, ...req.particleContext,
tetraplets: { tetraplets: {
s: req.tetraplets[0], s: req.tetraplets[0]
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
resp.result = service.id(req.args[0], callParams); resp.result = service.id(req.args[0], callParams)
} }
next(); next();
@ -90,17 +89,9 @@ export function registerCustomId(...args: any) {
// Functions // Functions
export function viaArr( export type ViaArrResult = { external_addresses: string[]; }
node_id: string, export function viaArr(node_id: string, viaAr: string[], config?: {ttl?: number}): Promise<ViaArrResult>;
viaAr: string[], export function viaArr(peer: FluencePeer, node_id: string, viaAr: string[], config?: {ttl?: number}): Promise<ViaArrResult>;
config?: { ttl?: number },
): Promise<{ external_addresses: string[] }>;
export function viaArr(
peer: FluencePeer,
node_id: string,
viaAr: string[],
config?: { ttl?: number },
): Promise<{ external_addresses: string[] }>;
export function viaArr(...args: any) { export function viaArr(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let node_id: any; let node_id: any;
@ -119,11 +110,10 @@ export function viaArr(...args: any) {
} }
let request: RequestFlow; let request: RequestFlow;
const promise = new Promise<{ external_addresses: string[] }>((resolve, reject) => { const promise = new Promise<ViaArrResult>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -188,12 +178,8 @@ export function viaArr(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'node_id', () => { h.on('getDataSrv', 'node_id', () => {return node_id;});
return node_id; h.on('getDataSrv', 'viaAr', () => {return viaAr;});
});
h.on('getDataSrv', 'viaAr', () => {
return viaAr;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -206,10 +192,10 @@ export function viaArr(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for viaArr'); reject('Request timed out for viaArr');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -218,17 +204,10 @@ export function viaArr(...args: any) {
return promise; return promise;
} }
export function viaStream(
node_id: string, export type ViaStreamResult = { external_addresses: string[]; }
viaStr: string[], export function viaStream(node_id: string, viaStr: string[], config?: {ttl?: number}): Promise<ViaStreamResult>;
config?: { ttl?: number }, export function viaStream(peer: FluencePeer, node_id: string, viaStr: string[], config?: {ttl?: number}): Promise<ViaStreamResult>;
): Promise<{ external_addresses: string[] }>;
export function viaStream(
peer: FluencePeer,
node_id: string,
viaStr: string[],
config?: { ttl?: number },
): Promise<{ external_addresses: string[] }>;
export function viaStream(...args: any) { export function viaStream(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let node_id: any; let node_id: any;
@ -247,11 +226,10 @@ export function viaStream(...args: any) {
} }
let request: RequestFlow; let request: RequestFlow;
const promise = new Promise<{ external_addresses: string[] }>((resolve, reject) => { const promise = new Promise<ViaStreamResult>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -324,12 +302,8 @@ export function viaStream(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'node_id', () => { h.on('getDataSrv', 'node_id', () => {return node_id;});
return node_id; h.on('getDataSrv', 'viaStr', () => {return viaStr;});
});
h.on('getDataSrv', 'viaStr', () => {
return viaStr;
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -342,10 +316,10 @@ export function viaStream(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for viaStream'); reject('Request timed out for viaStream');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();
@ -354,19 +328,10 @@ export function viaStream(...args: any) {
return promise; return promise;
} }
export function viaOpt(
relay: string, export type ViaOptResult = { external_addresses: string[]; }
node_id: string, export function viaOpt(relay: string, node_id: string, viaOpt: string | null, config?: {ttl?: number}): Promise<ViaOptResult>;
viaOpt: string | null, export function viaOpt(peer: FluencePeer, relay: string, node_id: string, viaOpt: string | null, config?: {ttl?: number}): Promise<ViaOptResult>;
config?: { ttl?: number },
): Promise<{ external_addresses: string[] }>;
export function viaOpt(
peer: FluencePeer,
relay: string,
node_id: string,
viaOpt: string | null,
config?: { ttl?: number },
): Promise<{ external_addresses: string[] }>;
export function viaOpt(...args: any) { export function viaOpt(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let relay: any; let relay: any;
@ -388,11 +353,10 @@ export function viaOpt(...args: any) {
} }
let request: RequestFlow; let request: RequestFlow;
const promise = new Promise<{ external_addresses: string[] }>((resolve, reject) => { const promise = new Promise<ViaOptResult>((resolve, reject) => {
const r = new RequestFlowBuilder() const r = new RequestFlowBuilder()
.disableInjections() .disableInjections()
.withRawScript( .withRawScript(`
`
(xor (xor
(seq (seq
(seq (seq
@ -460,15 +424,9 @@ export function viaOpt(...args: any) {
h.on('getDataSrv', '-relay-', () => { h.on('getDataSrv', '-relay-', () => {
return peer.getStatus().relayPeerId; return peer.getStatus().relayPeerId;
}); });
h.on('getDataSrv', 'relay', () => { h.on('getDataSrv', 'relay', () => {return relay;});
return relay; h.on('getDataSrv', 'node_id', () => {return node_id;});
}); h.on('getDataSrv', 'viaOpt', () => {return viaOpt === null ? [] : [viaOpt];});
h.on('getDataSrv', 'node_id', () => {
return node_id;
});
h.on('getDataSrv', 'viaOpt', () => {
return viaOpt === null ? [] : [viaOpt];
});
h.onEvent('callbackSrv', 'response', (args) => { h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args; const [res] = args;
resolve(res); resolve(res);
@ -481,10 +439,10 @@ export function viaOpt(...args: any) {
.handleScriptError(reject) .handleScriptError(reject)
.handleTimeout(() => { .handleTimeout(() => {
reject('Request timed out for viaOpt'); reject('Request timed out for viaOpt');
}); })
if (config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl); r.withTTL(config.ttl)
} }
request = r.build(); request = r.build();