mirror of
https://github.com/logos-messaging/logos-delivery-js.git
synced 2026-03-10 19:53:10 +00:00
37 lines
841 B
TypeScript
37 lines
841 B
TypeScript
import { v4 as uuid } from "uuid";
|
|
|
|
import * as proto from "../../proto/light_push";
|
|
import { WakuMessage } from "../waku_message";
|
|
|
|
export class PushRPC {
|
|
public constructor(public proto: proto.PushRPC) {}
|
|
|
|
static createRequest(message: WakuMessage, pubSubTopic: string): PushRPC {
|
|
return new PushRPC({
|
|
requestId: uuid(),
|
|
request: {
|
|
message: message.proto,
|
|
pubSubTopic: pubSubTopic,
|
|
},
|
|
response: undefined,
|
|
});
|
|
}
|
|
|
|
static decode(bytes: Uint8Array): PushRPC {
|
|
const res = proto.PushRPC.decode(bytes);
|
|
return new PushRPC(res);
|
|
}
|
|
|
|
encode(): Uint8Array {
|
|
return proto.PushRPC.encode(this.proto);
|
|
}
|
|
|
|
get query(): proto.PushRequest | undefined {
|
|
return this.proto.request;
|
|
}
|
|
|
|
get response(): proto.PushResponse | undefined {
|
|
return this.proto.response;
|
|
}
|
|
}
|