Skip to content

Commit

Permalink
fix: eslint
Browse files Browse the repository at this point in the history
  • Loading branch information
xhyrom committed Feb 7, 2022
1 parent a818433 commit 32a8d44
Show file tree
Hide file tree
Showing 11 changed files with 135 additions and 127 deletions.
2 changes: 1 addition & 1 deletion src/handlers/MessageCommandHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const checkValidation = async(arg: MessageArgumentTypes, content: string, client
if (!validate) return checkValidation(arg, null, client, guild, argument, channel, user);

return arg.resolve(argument, client, guild);
}
};

export async function MessageCommandHandler(
message: Message,
Expand Down
34 changes: 17 additions & 17 deletions src/lib/structures/arguments/Boolean.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,24 @@ const truthy = new Set(['true', 't', 'yes', 'y', 'on', 'enable', 'enabled', '1',
const falsy = new Set(['false', 'f', 'no', 'n', 'off', 'disable', 'disabled', '0', '-']);

export class BooleanType extends MessageArgumentTypeBase {
value;
value;

validate(content: string): boolean {
const yes = truthy.has(content.toLowerCase());
const no = falsy.has(content.toLowerCase());
validate(content: string): boolean {
const yes = truthy.has(content.toLowerCase());
const no = falsy.has(content.toLowerCase());

if (!yes && !no) return false;
else {
this.value = yes ? true : false;
return true;
};
}
if (!yes && !no) return false;
else {
this.value = yes ? true : false;
return true;
}
}

resolve(argument: Argument) {
return {
...argument.toJSON(),
type: ArgumentType[argument.type],
value: this.value
}
}
resolve(argument: Argument) {
return {
...argument.toJSON(),
type: ArgumentType[argument.type],
value: this.value
};
}
}
6 changes: 3 additions & 3 deletions src/lib/structures/arguments/Channel.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { MessageArgumentTypeBase } from './base';

export class ChannelType extends MessageArgumentTypeBase {
validate() {
return true;
}
validate() {
return true;
}
}
30 changes: 15 additions & 15 deletions src/lib/structures/arguments/Integer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@ import { Argument, ArgumentType } from '../Argument';
import { MessageArgumentTypeBase } from './base';

export class IntegerType extends MessageArgumentTypeBase {
value;
value;

validate(content: string): boolean {
if (Number.isInteger(Number(content))) {
this.value = content;
return true
}
else return false;
}
validate(content: string): boolean {
if (Number.isInteger(Number(content))) {
this.value = content;
return true;
}
else return false;
}

resolve(argument: Argument) {
return {
...argument.toJSON(),
type: ArgumentType[argument.type],
value: this.value
}
}
resolve(argument: Argument) {
return {
...argument.toJSON(),
type: ArgumentType[argument.type],
value: this.value
};
}
}
6 changes: 3 additions & 3 deletions src/lib/structures/arguments/Mentionable.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { MessageArgumentTypeBase } from './base';

export class MentionableType extends MessageArgumentTypeBase {
validate() {
return true;
}
validate() {
return true;
}
}
30 changes: 15 additions & 15 deletions src/lib/structures/arguments/Number.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@ import { Argument, ArgumentType } from '../Argument';
import { MessageArgumentTypeBase } from './base';

export class NumberType extends MessageArgumentTypeBase {
value;
value;

validate(content: string): boolean {
if (!isNaN(Number(content))) {
this.value = content;
return true
}
else return false;
}
validate(content: string): boolean {
if (!isNaN(Number(content))) {
this.value = content;
return true;
}
else return false;
}

resolve(argument: Argument) {
return {
...argument.toJSON(),
type: ArgumentType[argument.type],
value: this.value
}
}
resolve(argument: Argument) {
return {
...argument.toJSON(),
type: ArgumentType[argument.type],
value: this.value
};
}
}
6 changes: 3 additions & 3 deletions src/lib/structures/arguments/Role.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { MessageArgumentTypeBase } from './base';

export class RoleType extends MessageArgumentTypeBase {
validate() {
return true;
}
validate() {
return true;
}
}
30 changes: 15 additions & 15 deletions src/lib/structures/arguments/String.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@ import { Argument, ArgumentType } from '../Argument';
import { MessageArgumentTypeBase } from './base';

export class StringType extends MessageArgumentTypeBase {
value;
value;

validate(content: string): boolean {
if (typeof content === 'string') {
this.value = content;
return true
}
else return false;
}
validate(content: string): boolean {
if (typeof content === 'string') {
this.value = content;
return true;
}
else return false;
}

resolve(argument: Argument) {
return {
...argument.toJSON(),
type: ArgumentType[argument.type],
value: this.value
}
}
resolve(argument: Argument) {
return {
...argument.toJSON(),
type: ArgumentType[argument.type],
value: this.value
};
}
}
30 changes: 15 additions & 15 deletions src/lib/structures/arguments/User.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,24 @@ import { Argument, ArgumentType } from '../Argument';
import { MessageArgumentTypeBase } from './base';

export class UserType extends MessageArgumentTypeBase {
matches;
matches;

validate(content: string): boolean {
const matches = content.match(/([0-9]+)/);
validate(content: string): boolean {
const matches = content.match(/([0-9]+)/);

if (!matches) return false;
if (!matches) return false;

this.matches = matches;
this.matches = matches;

return true;
}
return true;
}

resolve(argument: Argument, client: Client, guild: Guild) {
return {
...argument.toJSON(),
type: ArgumentType[argument.type],
user: client.users.cache.get(this.matches[1]),
member: guild.members?.cache?.get(this.matches[1])
}
}
resolve(argument: Argument, client: Client, guild: Guild) {
return {
...argument.toJSON(),
type: ArgumentType[argument.type],
user: client.users.cache.get(this.matches[1]),
member: guild.members?.cache?.get(this.matches[1])
};
}
}
82 changes: 45 additions & 37 deletions src/lib/structures/arguments/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,43 +12,51 @@ import type { UserType } from './User';
export type MessageArgumentTypes = BooleanType | ChannelType | IntegerType | MentionableType | NumberType | RoleType | StringType | UserType;

export class MessageArgumentTypeBase {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
validate(content: string): boolean {
Util.throwError('Validate method is not implemented!', this.constructor.name);
return true;
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
validate(content: string): boolean {
Util.throwError('Validate method is not implemented!', this.constructor.name);
return true;
}

// eslint-disable-next-line @typescript-eslint/no-unused-vars
resolve(argument: Argument, ...args) {
Util.throwError('Resolve method is not implemented!', this.constructor.name);
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
resolve(argument: Argument, ...args) {
Util.throwError('Resolve method is not implemented!', this.constructor.name);
}

static async createArgument(type: ArgumentType | keyof typeof ArgumentType) {
switch(type) {
case ArgumentType.BOOLEAN:
const { BooleanType } = await import('./Boolean');
return new BooleanType();
case ArgumentType.CHANNEL:
const { ChannelType } = await import('./Channel');
return new ChannelType();
case ArgumentType.INTEGER:
const { IntegerType } = await import('./Integer');
return new IntegerType();
case ArgumentType.MENTIONABLE:
const { MentionableType } = await import('./Mentionable');
return new MentionableType();
case ArgumentType.NUMBER:
const { NumberType } = await import('./Number');
return new NumberType();
case ArgumentType.ROLE:
const { RoleType } = await import('./Role');
return new RoleType();
case ArgumentType.STRING:
const { StringType } = await import('./String');
return new StringType();
case ArgumentType.USER:
const { UserType } = await import('./User');
return new UserType();
}
}
static async createArgument(type: ArgumentType | keyof typeof ArgumentType) {
switch(type) {
case ArgumentType.BOOLEAN: {
const { BooleanType } = await import('./Boolean');
return new BooleanType();
}
case ArgumentType.CHANNEL: {
const { ChannelType } = await import('./Channel');
return new ChannelType();
}
case ArgumentType.INTEGER: {
const { IntegerType } = await import('./Integer');
return new IntegerType();
}
case ArgumentType.MENTIONABLE: {
const { MentionableType } = await import('./Mentionable');
return new MentionableType();
}
case ArgumentType.NUMBER: {
const { NumberType } = await import('./Number');
return new NumberType();
}
case ArgumentType.ROLE: {
const { RoleType } = await import('./Role');
return new RoleType();
}
case ArgumentType.STRING: {
const { StringType } = await import('./String');
return new StringType();
}
case ArgumentType.USER: {
const { UserType } = await import('./User');
return new UserType();
}
}
}
}
6 changes: 3 additions & 3 deletions src/lib/util/Util.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Logger from "js-logger";
import Logger from 'js-logger';

export class Util {
/**
Expand Down Expand Up @@ -105,8 +105,8 @@ export class Util {
.replace(new RegExp(/[-_]+/, 'g'), ' ')
.replace(new RegExp(/[^\w\s]/, 'g'), '')
.replace(
new RegExp(/\s+(.)(\w*)/, 'g'),
($1, $2, $3) => `${$2.toUpperCase() + $3.toLowerCase()}`
new RegExp(/\s+(.)(\w*)/, 'g'),
($1, $2, $3) => `${$2.toUpperCase() + $3.toLowerCase()}`
)
.replace(new RegExp(/\w/), s => s.toUpperCase());
}
Expand Down

0 comments on commit 32a8d44

Please sign in to comment.