refactor: Merge typings into 11.4-dev branch

This commit is contained in:
zajrik
2018-08-13 22:20:33 -05:00
parent ebfbf20f07
commit efc8445260
8 changed files with 2283 additions and 4 deletions

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "typings"]
path = typings
url = https://github.com/discordjs/discord.js-typings

View File

@@ -24,3 +24,5 @@ webpack/
webpack.config.js webpack.config.js
.github/ .github/
test/ test/
tsconfig.json
tslint.json

View File

@@ -10,6 +10,7 @@
"docs:test": "docgen --source src --custom docs/index.yml", "docs:test": "docgen --source src --custom docs/index.yml",
"lint": "eslint src", "lint": "eslint src",
"lint:fix": "eslint --fix src", "lint:fix": "eslint --fix src",
"lint:typings": "tslint index.d.ts discord.js-test.ts",
"webpack": "parallel-webpack" "webpack": "parallel-webpack"
}, },
"repository": { "repository": {
@@ -52,6 +53,9 @@
"discord.js-docgen": "discordjs/docgen", "discord.js-docgen": "discordjs/docgen",
"eslint": "^4.18.0", "eslint": "^4.18.0",
"parallel-webpack": "^2.2.0", "parallel-webpack": "^2.2.0",
"tslint": "^3.15.1",
"tslint-config-typings": "^0.2.4",
"typescript": "^3.0.1",
"uglifyjs-webpack-plugin": "^1.2.0", "uglifyjs-webpack-plugin": "^1.2.0",
"webpack": "^3.11.0" "webpack": "^3.11.0"
}, },

13
tsconfig.json Normal file
View File

@@ -0,0 +1,13 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"noImplicitAny": true,
"strictNullChecks": true,
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts"
]
}

62
tslint.json Normal file
View File

@@ -0,0 +1,62 @@
{
"extends": [
"tslint-config-typings"
],
"rules": {
"class-name": true,
"comment-format": [
true,
"check-space"
],
"indent": [
true,
"tabs"
],
"no-duplicate-variable": true,
"no-unused-variable": [false],
"no-eval": true,
"no-internal-module": true,
"no-trailing-whitespace": true,
"no-unsafe-finally": true,
"no-var-keyword": true,
"one-line": [
true,
"check-open-brace",
"check-whitespace"
],
"quotemark": [
true,
"single"
],
"semicolon": [
true,
"always"
],
"triple-equals": [
true,
"allow-null-check"
],
"typedef-whitespace": [
true,
{
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
}
],
"variable-name": [
true,
"ban-keywords"
],
"whitespace": [
true,
"check-branch",
"check-decl",
"check-operator",
"check-separator",
"check-type"
]
}
}

Submodule typings deleted from 6103ec4aff

View File

@@ -0,0 +1,69 @@
/// <reference path='index.d.ts' />
import { Collector, Message, CollectorFilter, Client, CollectorHandler, MessageReaction, Collection, User, ReactionCollectorOptions, Snowflake } from 'discord.js';
const client = new Client({
disableEveryone: false,
disabledEvents: ['GUILD_MEMBER_ADD']
});
client.on('message', (message) => {
if (message.content === 'hello') {
message.channel.sendMessage('o/');
}
const collector: ReactionCollector = new ReactionCollector(message,
(reaction: MessageReaction) => reaction.emoji.toString() === '👌',
{ time: 30e3 });
collector.on('end', collected => console.log(collected));
});
client.login('dsfsd754.4fds4f68d4f6sd46f4s.7878easfdsgdfFDSIJIO');
export class TestCollector extends Collector<Snowflake, Message> {
public filter: CollectorFilter;
public constructor(client: Client, filter: CollectorFilter, ) {
super(client, filter);
}
public handle(message: Message): CollectorHandler<Snowflake, Message> {
return { key: message.id, value: message };
}
public cleanup(): void {}
public postCheck(): null { return null; }
}
class ReactionCollector extends Collector<Snowflake, MessageReaction> {
public message: Message;
public users: Collection<Snowflake, User>;
public total: number;
public options: ReactionCollectorOptions;
public constructor(message: Message, filter: CollectorFilter, options?: ReactionCollectorOptions) {
super(message.client, filter, options || {});
this.message = message;
this.users = new Collection<Snowflake, User>();
this.total = 0;
this.client.on('messageReactionAdd', this.listener);
}
public handle(reaction: MessageReaction): CollectorHandler<Snowflake, MessageReaction> {
if (reaction.message.id !== this.message.id) { return null; }
return {
key: reaction.emoji.id || reaction.emoji.name,
value: reaction
};
}
public postCheck(reaction: MessageReaction, user: User): string {
this.users.set(user.id, user);
if (this.options.max && ++this.total >= this.options.max) { return 'limit'; }
if (this.options.maxEmojis && this.collected.size >= this.options.maxEmojis) { return 'emojiLimit'; }
if (this.options.maxUsers && this.users.size >= this.options.maxUsers) { return 'userLimit'; }
return null;
}
public cleanup(): void {
this.client.removeListener('messageReactionAdd', this.listener);
}
}

2133
typings/index.d.ts vendored Normal file

File diff suppressed because it is too large Load Diff