70 lines
1.5 KiB
JavaScript
70 lines
1.5 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.args.clientVersion = clientVersion;
|
|
}
|
|
|
|
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 }));
|
|
}
|
|
}
|