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

Class SenderConnect

packages/message/server.ts:20–68  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18}
19
20export class SenderConnect {
21 private readonly mType;
22 constructor(private sender: MessageConnect) {
23 if (this.sender instanceof ExtensionMessageConnect) {
24 this.mType = GetSenderType.EXTCONNECT;
25 } else {
26 this.mType = GetSenderType.CONNECT;
27 }
28 }
29
30 getType() {
31 return this.mType;
32 }
33
34 isType(type: GetSenderType): boolean {
35 return (this.mType & type) === type;
36 }
37
38 getSender(): RuntimeMessageSender | undefined {
39 if (this.sender instanceof ExtensionMessageConnect) {
40 return this.sender.getPort().sender;
41 } else {
42 return undefined;
43 }
44 }
45
46 getExtMessageSender(): ExtMessageSender {
47 if (this.sender instanceof ExtensionMessageConnect) {
48 const con = this.sender.getPort();
49 return {
50 windowId: con.sender?.tab?.windowId || -1, // -1表示后台脚本
51 tabId: con.sender?.tab?.id || -1, // -1表示后台脚本
52 frameId: con.sender?.frameId,
53 documentId: con.sender?.documentId,
54 };
55 } else {
56 return {
57 windowId: -1, // -1表示后台脚本
58 tabId: -1, // -1表示后台脚本
59 frameId: undefined,
60 documentId: undefined,
61 };
62 }
63 }
64
65 getConnect(): MessageConnect {
66 return this.sender;
67 }
68}
69
70export class SenderRuntime {
71 private readonly mType;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected