feat: clash field viewer wip
This commit is contained in:
@@ -12,6 +12,7 @@ export const HANDLE_FIELDS = [
|
||||
"mode",
|
||||
"log-level",
|
||||
"ipv6",
|
||||
"secret",
|
||||
"external-controller",
|
||||
];
|
||||
|
||||
@@ -131,6 +132,12 @@ class Enhance {
|
||||
private listenMap: Map<string, EListener>;
|
||||
private resultMap: Map<string, EStatus>;
|
||||
|
||||
// record current config fields
|
||||
private fieldsState = {
|
||||
config: [] as string[],
|
||||
use: [] as string[],
|
||||
};
|
||||
|
||||
constructor() {
|
||||
this.listenMap = new Map();
|
||||
this.resultMap = new Map();
|
||||
@@ -148,6 +155,11 @@ class Enhance {
|
||||
return this.resultMap.get(uid);
|
||||
}
|
||||
|
||||
// get the running field state
|
||||
getFieldsState() {
|
||||
return this.fieldsState;
|
||||
}
|
||||
|
||||
async enhanceHandler(event: Event<unknown>) {
|
||||
const payload = event.payload as CmdType.EnhancedPayload;
|
||||
|
||||
@@ -220,6 +232,10 @@ class Enhance {
|
||||
|
||||
pdata = ignoreCase(pdata);
|
||||
|
||||
// save the fields state
|
||||
this.fieldsState.config = Object.keys(pdata);
|
||||
this.fieldsState.use = [...useList];
|
||||
|
||||
// filter the data
|
||||
const filterData: typeof pdata = {};
|
||||
Object.keys(pdata).forEach((key: any) => {
|
||||
|
||||
Reference in New Issue
Block a user