BetterDiscordApp-v2/core/src/modules/config.js

78 lines
1.7 KiB
JavaScript

/**
* BetterDiscord Config Module
* Copyright (c) 2015-present JsSucks - https://github.com/JsSucks
* All rights reserved.
* https://github.com/JsSucks - https://betterdiscord.net
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import Module from './modulebase';
export default class Config extends Module {
get version() {
return this.args.version;
}
get versions() {
return {
core: this.coreVersion,
client: this.clientVersion,
editor: this.editorVersion
};
}
get coreVersion() {
return this.state.coreVersion;
}
get clientVersion() {
return this.state.clientVersion;
}
get editorVersion() {
return this.state.editorVersion;
}
setClientVersion(clientVersion) {
this.state.clientVersion = clientVersion;
}
setCoreVersion(coreVersion) {
this.state.coreVersion = coreVersion;
}
setEditorVersion(editorVersion) {
this.state.editorVersion = editorVersion;
}
get paths() {
return this.args.paths;
}
getPath(id, full) {
const path = this.paths.find(p => p.id === id);
if (!path) return null;
return full ? path : path.path;
}
addPath(id, path) {
this.paths.push({ id, path });
}
get config() {
return {
version: this.version,
versions: this.versions,
paths: this.paths
};
}
// Compatibility with old client code and new installer args
compatibility() {
this.args.paths = Object.entries(this.args.paths).map(([id, path]) => ({ id, path }));
}
}