mirror of
https://github.com/fluencelabs/fluence-js.git
synced 2025-06-25 22:01:32 +00:00
extracting, re-arranging making sure interface don't get in the way
This commit is contained in:
@ -1,7 +1,6 @@
|
||||
service Peer("peer"):
|
||||
-- Get information about the peer
|
||||
identify() -> Info
|
||||
alias PeerId: string
|
||||
|
||||
service Peer("peer"):
|
||||
-- Get Unix timestamp in milliseconds
|
||||
timestamp_ms() -> u64
|
||||
|
||||
|
123
packages/@tests/smoke_web/src/_aqua/smoke_test.ts
Normal file
123
packages/@tests/smoke_web/src/_aqua/smoke_test.ts
Normal file
@ -0,0 +1,123 @@
|
||||
/**
|
||||
*
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.7.2-314
|
||||
*
|
||||
*/
|
||||
import type { IFluencePeer } from '@fluencelabs/js-peer/dist/interfaces';
|
||||
import type { CallParams } from '@fluencelabs/js-peer/dist/interfaces/commonTypes';
|
||||
import { callFunction$$, registerService$$ } from '@fluencelabs/js-client.api/dist/compilerSupport/v4';
|
||||
|
||||
// Services
|
||||
|
||||
export interface PeerDef {
|
||||
timestamp_ms: (callParams: CallParams<null>) => number | Promise<number>;
|
||||
}
|
||||
export function registerPeer(service: PeerDef): void;
|
||||
export function registerPeer(serviceId: string, service: PeerDef): void;
|
||||
export function registerPeer(peer: IFluencePeer, service: PeerDef): void;
|
||||
export function registerPeer(peer: IFluencePeer, serviceId: string, service: PeerDef): void;
|
||||
|
||||
export function registerPeer(...args: any) {
|
||||
registerService$$(args, {
|
||||
defaultServiceId: 'peer',
|
||||
functions: {
|
||||
tag: 'labeledProduct',
|
||||
fields: {
|
||||
timestamp_ms: {
|
||||
tag: 'arrow',
|
||||
domain: {
|
||||
tag: 'nil',
|
||||
},
|
||||
codomain: {
|
||||
tag: 'unlabeledProduct',
|
||||
items: [
|
||||
{
|
||||
tag: 'scalar',
|
||||
name: 'u64',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// Functions
|
||||
|
||||
export function getRelayTime(relayPeerId: string, config?: { ttl?: number }): Promise<number>;
|
||||
|
||||
export function getRelayTime(peer: IFluencePeer, relayPeerId: string, config?: { ttl?: number }): Promise<number>;
|
||||
|
||||
export function getRelayTime(...args: any) {
|
||||
let script = `
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "relayPeerId") [] relayPeerId)
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(seq
|
||||
(call relayPeerId ("peer" "timestamp_ms") [] ts)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
)
|
||||
)
|
||||
(xor
|
||||
(call %init_peer_id% ("callbackSrv" "response") [ts])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||
)
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||
)
|
||||
`;
|
||||
return callFunction$$(
|
||||
args,
|
||||
{
|
||||
functionName: 'getRelayTime',
|
||||
arrow: {
|
||||
tag: 'arrow',
|
||||
domain: {
|
||||
tag: 'labeledProduct',
|
||||
fields: {
|
||||
relayPeerId: {
|
||||
tag: 'scalar',
|
||||
name: 'string',
|
||||
},
|
||||
},
|
||||
},
|
||||
codomain: {
|
||||
tag: 'unlabeledProduct',
|
||||
items: [
|
||||
{
|
||||
tag: 'scalar',
|
||||
name: 'u64',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
names: {
|
||||
relay: '-relay-',
|
||||
getDataSrv: 'getDataSrv',
|
||||
callbackSrv: 'callbackSrv',
|
||||
responseSrv: 'callbackSrv',
|
||||
responseFnName: 'response',
|
||||
errorHandlingSrv: 'errorHandlingSrv',
|
||||
errorFnName: 'error',
|
||||
},
|
||||
},
|
||||
script,
|
||||
);
|
||||
}
|
@ -1,6 +1,8 @@
|
||||
{
|
||||
"extends": "../../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"module": "CommonJS",
|
||||
"target": "ES5",
|
||||
"outDir": "./dist",
|
||||
"moduleResolution": "node"
|
||||
},
|
||||
|
Reference in New Issue
Block a user