From 9190b208ebf1c0d0768fb45327a4920a656da9e7 Mon Sep 17 00:00:00 2001 From: Jiiks Date: Fri, 24 Aug 2018 13:41:44 +0300 Subject: [PATCH] Move classname stuff to resolver --- client/src/modules/reflection/index.js | 9 ++++++- client/src/modules/reflection/modules.js | 19 ------------- client/src/modules/reflection/resolver.js | 33 +++++++++++++++++++++++ 3 files changed, 41 insertions(+), 20 deletions(-) create mode 100644 client/src/modules/reflection/resolver.js diff --git a/client/src/modules/reflection/index.js b/client/src/modules/reflection/index.js index 14aea9eb..bae46622 100644 --- a/client/src/modules/reflection/index.js +++ b/client/src/modules/reflection/index.js @@ -9,5 +9,12 @@ */ import { Modules } from './modules'; +import Resolver from './resolver'; -export class Reflection { } +export class Reflection { + + static get resolver() { + return Resolver; + } + +} diff --git a/client/src/modules/reflection/modules.js b/client/src/modules/reflection/modules.js index e67f3401..5c380e2f 100644 --- a/client/src/modules/reflection/modules.js +++ b/client/src/modules/reflection/modules.js @@ -388,25 +388,6 @@ class Modules { return this.waitForModule(Filters.byPrototypeFields(props)); } - /** - * Searches for a class module and returns a class from it. - * @param {String} base The first part of the class to find - * @param {String} ...additional_classes Additional classes to look for to filter duplicate class modules - * @return {String} - */ - static getClassName(base, ...additional_classes) { - const class_module = this.getModuleByProps([base, ...additional_classes]); - if (class_module && class_module[base]) return class_module[base].split(' ')[0]; - } - static async waitForClassName(base, ...additional_classes) { - const class_module = await this.waitForModuleByProps([base, ...additional_classes]); - if (class_module && class_module[base]) return class_module[base].split(' ')[0]; - } - static getSelector(base, ...additional_classes) { - const gcn = this.getClassName(base, ...additional_classes); - if (gcn) return `.${gcn}`; - } - /** * Returns all loaded modules. * @return {Array} diff --git a/client/src/modules/reflection/resolver.js b/client/src/modules/reflection/resolver.js new file mode 100644 index 00000000..5e45d431 --- /dev/null +++ b/client/src/modules/reflection/resolver.js @@ -0,0 +1,33 @@ +/** + * BetterDiscord Reflection Resolver + * Copyright (c) 2015-present Jiiks/JsSucks - https://github.com/Jiiks / https://github.com/JsSucks + * All rights reserved. + * 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 Modules from './modules'; + +export class Resolver { + + /** + * Searches for a class module and returns a class from it. + * @param {String} base The first part of the class to find + * @param {String} ...additional_classes Additional classes to look for to filter duplicate class modules + * @return {String} + */ + static getClassName(base, ...additional_classes) { + const class_module = Modules.getModuleByProps([base, ...additional_classes]); + if (class_module && class_module[base]) return class_module[base].split(' ')[0]; + } + static async waitForClassName(base, ...additional_classes) { + const class_module = await Modules.waitForModuleByProps([base, ...additional_classes]); + if (class_module && class_module[base]) return class_module[base].split(' ')[0]; + } + static getSelector(base, ...additional_classes) { + const gcn = this.getClassName(base, ...additional_classes); + if (gcn) return `.${gcn}`; + } +}