116 lines
4.7 KiB
TypeScript
116 lines
4.7 KiB
TypeScript
import * as _ from "@preserves/core";
|
|
import * as _i_EntityRef from "../runtime/actor";
|
|
|
|
export const __lit0 = Symbol.for("tcp-remote");
|
|
export const __lit1 = Symbol.for("tcp-local");
|
|
export const __lit2 = Symbol.for("tcp-peer");
|
|
|
|
export type _embedded = _i_EntityRef.Cap;
|
|
|
|
export type TcpRemote = {"host": string, "port": number};
|
|
|
|
export type TcpLocal = {"host": string, "port": number};
|
|
|
|
export type TcpPeerInfo<_embedded = _i_EntityRef.Cap> = {"handle": _embedded, "local": TcpLocal, "remote": TcpRemote};
|
|
|
|
|
|
export function TcpRemote({host, port}: {host: string, port: number}): TcpRemote {return {"host": host, "port": port};}
|
|
|
|
export function TcpLocal({host, port}: {host: string, port: number}): TcpLocal {return {"host": host, "port": port};}
|
|
|
|
export function TcpPeerInfo<_embedded = _i_EntityRef.Cap>(
|
|
{handle, local, remote}: {handle: _embedded, local: TcpLocal, remote: TcpRemote}
|
|
): TcpPeerInfo<_embedded> {return {"handle": handle, "local": local, "remote": remote};}
|
|
|
|
export function asTcpRemote<_embedded = _i_EntityRef.Cap>(v: _.Value<_embedded>): TcpRemote {
|
|
let result = toTcpRemote(v);
|
|
if (result === void 0) throw new TypeError(`Invalid TcpRemote: ${_.stringify(v)}`);
|
|
return result;
|
|
}
|
|
|
|
export function toTcpRemote<_embedded = _i_EntityRef.Cap>(v: _.Value<_embedded>): undefined | TcpRemote {
|
|
let result: undefined | TcpRemote;
|
|
if (_.Record.isRecord<_.Value<_embedded>, _.Tuple<_.Value<_embedded>>, _embedded>(v)) {
|
|
let _tmp0: (null) | undefined;
|
|
_tmp0 = _.is(v.label, __lit0) ? null : void 0;
|
|
if (_tmp0 !== void 0) {
|
|
let _tmp1: (string) | undefined;
|
|
_tmp1 = typeof v[0] === 'string' ? v[0] : void 0;
|
|
if (_tmp1 !== void 0) {
|
|
let _tmp2: (number) | undefined;
|
|
_tmp2 = typeof v[1] === 'number' ? v[1] : void 0;
|
|
if (_tmp2 !== void 0) {result = {"host": _tmp1, "port": _tmp2};};
|
|
};
|
|
};
|
|
};
|
|
return result;
|
|
}
|
|
|
|
export function fromTcpRemote<_embedded = _i_EntityRef.Cap>(_v: TcpRemote): _.Value<_embedded> {return _.Record(__lit0, [_v["host"], _v["port"]]);}
|
|
|
|
export function asTcpLocal<_embedded = _i_EntityRef.Cap>(v: _.Value<_embedded>): TcpLocal {
|
|
let result = toTcpLocal(v);
|
|
if (result === void 0) throw new TypeError(`Invalid TcpLocal: ${_.stringify(v)}`);
|
|
return result;
|
|
}
|
|
|
|
export function toTcpLocal<_embedded = _i_EntityRef.Cap>(v: _.Value<_embedded>): undefined | TcpLocal {
|
|
let result: undefined | TcpLocal;
|
|
if (_.Record.isRecord<_.Value<_embedded>, _.Tuple<_.Value<_embedded>>, _embedded>(v)) {
|
|
let _tmp0: (null) | undefined;
|
|
_tmp0 = _.is(v.label, __lit1) ? null : void 0;
|
|
if (_tmp0 !== void 0) {
|
|
let _tmp1: (string) | undefined;
|
|
_tmp1 = typeof v[0] === 'string' ? v[0] : void 0;
|
|
if (_tmp1 !== void 0) {
|
|
let _tmp2: (number) | undefined;
|
|
_tmp2 = typeof v[1] === 'number' ? v[1] : void 0;
|
|
if (_tmp2 !== void 0) {result = {"host": _tmp1, "port": _tmp2};};
|
|
};
|
|
};
|
|
};
|
|
return result;
|
|
}
|
|
|
|
export function fromTcpLocal<_embedded = _i_EntityRef.Cap>(_v: TcpLocal): _.Value<_embedded> {return _.Record(__lit1, [_v["host"], _v["port"]]);}
|
|
|
|
export function asTcpPeerInfo<_embedded = _i_EntityRef.Cap>(v: _.Value<_embedded>): TcpPeerInfo<_embedded> {
|
|
let result = toTcpPeerInfo(v);
|
|
if (result === void 0) throw new TypeError(`Invalid TcpPeerInfo: ${_.stringify(v)}`);
|
|
return result;
|
|
}
|
|
|
|
export function toTcpPeerInfo<_embedded = _i_EntityRef.Cap>(v: _.Value<_embedded>): undefined | TcpPeerInfo<_embedded> {
|
|
let result: undefined | TcpPeerInfo<_embedded>;
|
|
if (_.Record.isRecord<_.Value<_embedded>, _.Tuple<_.Value<_embedded>>, _embedded>(v)) {
|
|
let _tmp0: (null) | undefined;
|
|
_tmp0 = _.is(v.label, __lit2) ? null : void 0;
|
|
if (_tmp0 !== void 0) {
|
|
let _tmp1: (_embedded) | undefined;
|
|
_tmp1 = _.isEmbedded<_embedded>(v[0]) ? v[0].embeddedValue : void 0;
|
|
if (_tmp1 !== void 0) {
|
|
let _tmp2: (TcpLocal) | undefined;
|
|
_tmp2 = toTcpLocal(v[1]);
|
|
if (_tmp2 !== void 0) {
|
|
let _tmp3: (TcpRemote) | undefined;
|
|
_tmp3 = toTcpRemote(v[2]);
|
|
if (_tmp3 !== void 0) {result = {"handle": _tmp1, "local": _tmp2, "remote": _tmp3};};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
return result;
|
|
}
|
|
|
|
export function fromTcpPeerInfo<_embedded = _i_EntityRef.Cap>(_v: TcpPeerInfo<_embedded>): _.Value<_embedded> {
|
|
return _.Record(
|
|
__lit2,
|
|
[
|
|
_.embed(_v["handle"]),
|
|
fromTcpLocal<_embedded>(_v["local"]),
|
|
fromTcpRemote<_embedded>(_v["remote"])
|
|
]
|
|
);
|
|
}
|
|
|