MCPcopy Index your code
hub / github.com/scriptscat/scriptcat / SenderRuntime

Class SenderRuntime

packages/message/server.ts:70–110  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

68}
69
70export class SenderRuntime {
71 private readonly mType;
72 constructor(private sender: RuntimeMessageSender) {
73 this.mType = GetSenderType.RUNTIME;
74 }
75
76 getType() {
77 return this.mType;
78 }
79
80 isType(type: GetSenderType): boolean {
81 return (this.mType & type) === type;
82 }
83
84 getSender(): RuntimeMessageSender {
85 return this.sender;
86 }
87
88 getExtMessageSender(): ExtMessageSender {
89 const sender = this.sender as RuntimeMessageSender;
90 if (!sender) {
91 // postMessage 通道(如 Offscreen→SW)没有 RuntimeMessageSender
92 return {
93 windowId: -1,
94 tabId: -1,
95 frameId: undefined,
96 documentId: undefined,
97 };
98 }
99 return {
100 windowId: sender.tab?.windowId || -1, // -1表示后台脚本
101 tabId: sender.tab?.id || -1, // -1表示后台脚本
102 frameId: sender.frameId,
103 documentId: sender.documentId,
104 };
105 }
106
107 getConnect(): undefined {
108 return undefined;
109 }
110}
111
112type ApiFunction = (params: any, con: IGetSender) => Promise<any> | any | void;
113type ApiFunctionSync = (params: any, con: IGetSender) => any;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected