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

Method constructor

packages/message/server.ts:134–163  ·  view source on GitHub ↗
(
    prefix: string,
    msgReceiver: Message | Message[],
    private enableConnect: boolean = true
  )

Source from the content-addressed store, hash-verified

132 private logger = LoggerCore.getInstance().logger({ service: "messageServer" });
133
134 constructor(
135 prefix: string,
136 msgReceiver: Message | Message[],
137 private enableConnect: boolean = true
138 ) {
139 const msgReceiverList = Array.isArray(msgReceiver) ? msgReceiver : [msgReceiver];
140 if (this.enableConnect) {
141 msgReceiverList.forEach((msg) => {
142 msg.onConnect((msg: TMessage, con: MessageConnect) => {
143 if (typeof msg.action !== "string") return;
144 this.logger.trace("server onConnect", { msg });
145 if (msg.action?.startsWith(prefix)) {
146 return this.connectHandle(msg.action.slice(prefix.length + 1), msg.data, con);
147 }
148 return false;
149 });
150 });
151 }
152
153 msgReceiverList.forEach((msg) => {
154 msg.onMessage((msg: TMessage, sendResponse, sender) => {
155 if (typeof msg.action !== "string") return;
156 this.logger.trace("server onMessage", { msg: msg as any });
157 if (msg.action?.startsWith(prefix)) {
158 return this.messageHandle(msg.action.slice(prefix.length + 1), msg.data, sendResponse, sender);
159 }
160 });
161 return false;
162 });
163 }
164
165 group(name: string, middleware?: MiddlewareFunction) {
166 return new Group(this, name, middleware);

Callers

nothing calls this directly

Calls 7

connectHandleMethod · 0.95
messageHandleMethod · 0.95
forEachMethod · 0.80
traceMethod · 0.80
onConnectMethod · 0.65
onMessageMethod · 0.65
sliceMethod · 0.45

Tested by

no test coverage detected