Merge pull request #4044 from Hoekstraa/rfa-type-fix

RFA: Fix type of RFAMessages with non-String results
This commit is contained in:
hydroflame 2022-08-26 14:18:46 -03:00 committed by GitHub
commit 554f6d15d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 6 deletions

@ -1,14 +1,12 @@
export class RFAMessage {
jsonrpc = "2.0"; // Transmits version of JSON-RPC. Compliance maybe allows some funky interaction with external tools?
public method?: string; // Is defined when it's a request/notification, otherwise undefined
public result?: string | number; // Is defined when it's a response, otherwise undefined
public result?: ResultType; // Is defined when it's a response, otherwise undefined
public params?: FileMetadata; // Optional parameters to method
public error?: string; // Only defined on error
public id?: number; // ID to keep track of request -> response interaction, undefined with notifications, defined with request/response
constructor(
obj: { method?: string; result?: string | number; params?: FileMetadata; error?: string; id?: number } = {},
) {
constructor(obj: { method?: string; result?: ResultType; params?: FileMetadata; error?: string; id?: number } = {}) {
this.method = obj.method;
this.result = obj.result;
this.params = obj.params;
@ -17,6 +15,7 @@ export class RFAMessage {
}
}
type ResultType = string | number | Array<string> | Array<FileContent>;
type FileMetadata = FileData | FileContent | FileLocation | FileServer;
export interface FileData {

@ -93,7 +93,7 @@ export const RFARequestHandler: Record<string, (message: RFAMessage) => void | R
...server.scripts.map((scr): string => scr.filename),
];
return new RFAMessage({ result: JSON.stringify(fileNameList), id: msg.id });
return new RFAMessage({ result: fileNameList, id: msg.id });
},
getAllFiles: function (msg: RFAMessage): RFAMessage {
@ -111,7 +111,7 @@ export const RFARequestHandler: Record<string, (message: RFAMessage) => void | R
}),
];
return new RFAMessage({ result: JSON.stringify(fileList), id: msg.id });
return new RFAMessage({ result: fileList, id: msg.id });
},
calculateRam: function (msg: RFAMessage): RFAMessage {