Files
zap-es/test/fixtures/import-interface.ts

101 lines
3.5 KiB
TypeScript

// This file has been automatically generated by zap-es.
import * as $ from "zap-es";
import { SimpleInterface, SimpleInterface$Client } from "./simple-interface.js";
export const _zapFileId = 0xeda41424bfc48a94n;
export class ReturnCapability_Get$Params extends $.Struct {
static readonly _zap = {
displayName: "get$Params",
id: "b23eb0c5c51606ec",
size: new $.ObjectSize(8, 0),
};
get index(): number {
return $.utils.getInt32(0, this);
}
set index(value: number) {
$.utils.setInt32(0, value, this);
}
toString(): string { return "ReturnCapability_Get$Params_" + super.toString(); }
}
export class ReturnCapability_Get$Results extends $.Struct {
static readonly _zap = {
displayName: "get$Results",
id: "e578034f376aa46f",
size: new $.ObjectSize(0, 1),
};
get capability(): SimpleInterface$Client {
return new SimpleInterface$Client($.utils.getInterfaceClientOrNullAt(0, this));
}
set capability(value: SimpleInterface$Client) {
$.utils.setInterfacePointer(this.segment.message.addCap(value.client), $.utils.getPointer(0, this));
}
toString(): string { return "ReturnCapability_Get$Results_" + super.toString(); }
}
export class ReturnCapability_Get$Results$Promise {
pipeline: $.Pipeline<any, any, ReturnCapability_Get$Results>;
constructor(pipeline: $.Pipeline<any, any, ReturnCapability_Get$Results>) {
this.pipeline = pipeline;
}
getCapability(): SimpleInterface$Client {
return new SimpleInterface$Client(this.pipeline.getPipeline(SimpleInterface, 0).client());
}
async promise(): Promise<ReturnCapability_Get$Results> {
return await this.pipeline.struct();
}
}
export class ReturnCapability$Client {
client: $.Client;
static readonly interfaceId: bigint = 0xa3610792150745ffn;
constructor(client: $.Client) {
this.client = client;
}
static readonly methods: [
$.Method<ReturnCapability_Get$Params, ReturnCapability_Get$Results>
] = [
{
ParamsClass: ReturnCapability_Get$Params,
ResultsClass: ReturnCapability_Get$Results,
interfaceId: ReturnCapability$Client.interfaceId,
methodId: 0,
interfaceName: "test/fixtures/import-interface.zap:ReturnCapability",
methodName: "get"
}
];
get(paramsFunc?: (params: ReturnCapability_Get$Params) => void): ReturnCapability_Get$Results$Promise {
const answer = this.client.call({
method: ReturnCapability$Client.methods[0],
paramsFunc: paramsFunc
});
const pipeline = new $.Pipeline(ReturnCapability_Get$Results, answer);
return new ReturnCapability_Get$Results$Promise(pipeline);
}
}
$.Registry.register(ReturnCapability$Client.interfaceId, ReturnCapability$Client);
export interface ReturnCapability$Server$Target {
get(params: ReturnCapability_Get$Params, results: ReturnCapability_Get$Results): Promise<void>;
}
export class ReturnCapability$Server extends $.Server {
readonly target: ReturnCapability$Server$Target;
constructor(target: ReturnCapability$Server$Target) {
super(target, [
{
...ReturnCapability$Client.methods[0],
impl: target.get
}
]);
this.target = target;
}
client(): ReturnCapability$Client {
return new ReturnCapability$Client(this);
}
}
export class ReturnCapability extends $.Interface {
static readonly Client = ReturnCapability$Client;
static readonly Server = ReturnCapability$Server;
static readonly _zap = {
displayName: "ReturnCapability",
id: "a3610792150745ff",
size: new $.ObjectSize(0, 0),
};
toString(): string { return "ReturnCapability_" + super.toString(); }
}