src/structures/commands/BaseCommand.js
/**
     * @param {Class} instance The command instance registering itself
     * @param {Object} object The constraint data of the command
     * @param {boolean} [init = true] If this register is called from the parent class
     */
@param {Class} instance The command instance registering itself
@param {Object} object The constraint data of the command
@param {boolean} [init = true] If this register is called from the parent class
@param { Class } instance The command instance registering itself @param { Object } object The constraint data of the command @param { boolean } [ init = true ] If this register is called from the parent class
register(instance, object, init = true) {
        if (typeof object !== 'object') throw new Error('Invalid self assignment, expected object but got different type instead.');
        this.assign(this, object);
        if (!init) return this.assign(this.raw, object);
        this._self = instance;
        delete object.category;
        this.raw = object;
    }
register ( instance , object , init = true ) { if ( typeof object !== 'object' ) throw new Error ( 'Invalid self assignment, expected object but got different type instead.' ) ; this . assign ( this , object ) ; if ( ! init ) return this . assign ( this . raw , object ) ; this . _self = instance ; delete object . category ; this . raw = object ; }
@param {Class} instance The command instance registering itself
 @param {Object} object The constraint data of the command
 @param {boolean} [init = true] If this register is called from the parent class
@param { Class } instance The command instance registering itself @param { Object } object The constraint data of the command @param { boolean } [ init = true ] If this register is called from the parent class