Skip to content
This repository has been archived by the owner on Jul 11, 2021. It is now read-only.

v2.0.0 #164

Draft
wants to merge 90 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
26b17c2
Update dependency @augu/tsconfig to v1.1.0
renovate-bot Apr 4, 2021
6a23d58
Update typescript-eslint monorepo to v4.21.0
renovate-bot Apr 5, 2021
bcfa475
only deploy docs if the folder is updated per push
auguwu Apr 7, 2021
6136061
Update version to v2.0.0-next.0
auguwu Apr 7, 2021
5f79541
Update dependency typescript to v4.2.4
renovate-bot Apr 7, 2021
5dfe3ac
Merge branch 'indev' of https://github.com/auguwu/Wumpcord into indev
auguwu Apr 7, 2021
29d70ea
changelog script (soon?)
auguwu Apr 7, 2021
7ad09aa
own typings file, remove useless import
auguwu Apr 8, 2021
624aa75
Add in src/cache to have abstract methods for cache
auguwu Apr 9, 2021
438c1ee
change pre-commit for this branch
auguwu Apr 9, 2021
dca29dc
All the files
auguwu Apr 9, 2021
b9793c4
[entities:webhook] Added delete, sendSlackMessage, editMessage, and d…
auguwu Apr 10, 2021
3276b64
Work on User entity (not finished)
auguwu Apr 11, 2021
bdb8043
Rework determining image/* types in Util.bufferToBase64, finish User …
auguwu Apr 14, 2021
b36fe85
no any in [Webhook.user]
auguwu Apr 15, 2021
f24b312
stuff
auguwu Apr 16, 2021
6685b3a
Add in @wumpcord/rest as a package, add in Packages section in README
auguwu Apr 25, 2021
187f39c
File structure changes
auguwu Apr 25, 2021
030ecab
some files here and there, who knows
auguwu Apr 25, 2021
80cccf5
Add in WIP Extensions class and work on gateway
auguwu May 2, 2021
a63113e
Add InteractionCommandBuilder and ChannelStore
auguwu May 4, 2021
b7bbfc0
edit build script
auguwu May 4, 2021
426ac2c
TextableChannel class
auguwu May 10, 2021
cb6bb5b
Finish all builder classes, rework cache/ folder, and add in Roles
auguwu May 12, 2021
11adc72
fix clean:node_modules script
auguwu May 12, 2021
2df74aa
Work on Client methods
auguwu May 18, 2021
b3d4507
i think it'll compile now
auguwu May 18, 2021
15ef512
eslint
auguwu May 18, 2021
b92920a
Changelog.md
auguwu May 18, 2021
a646785
Application class
auguwu May 18, 2021
f666b9f
GuildChannel, PermissionOverwrite, and SelfUser.
auguwu May 26, 2021
57d7d71
Buttons support :tada:
auguwu May 26, 2021
ac72d25
[docs] update docs
auguwu May 26, 2021
7e3aef5
VoiceChannel, TextChannel, and GuildTextableChannel classes
auguwu May 27, 2021
2fade06
update doc ast
auguwu May 27, 2021
b11ebb6
Update dependency @augu/collections to v1.0.10
renovate-bot May 30, 2021
b639741
add rest of the entities, add docs to EmbedBuilder, update example in…
auguwu May 30, 2021
bb310bb
Emoji class, add empty classes in the rest of the entities
auguwu May 30, 2021
d3a636f
Add internal decorators, add in Stage Instances
auguwu May 30, 2021
7be668c
Merge branch 'master' into indev
auguwu May 31, 2021
d2586d0
Add in invite entity
auguwu May 31, 2021
09c3c49
let husky compile the project again
auguwu May 31, 2021
d5e59b1
Ignore .husky in workflows
auguwu May 31, 2021
43a274d
remove docs workflow
auguwu May 31, 2021
31ee255
Update typescript-eslint monorepo to v4.26.0
renovate-bot May 31, 2021
4c73046
Update dependency @augu/collections to v1.0.11
renovate-bot May 31, 2021
6c73adf
Add AbstractEntityCache.filter, move channels to their own seperate f…
auguwu May 31, 2021
05d35bf
Merge branch 'indev' of https://github.com/auguwu/Wumpcord into indev
auguwu May 31, 2021
e821ee1
Update dependency @augu/collections to v1.0.12
renovate-bot Jun 1, 2021
6ae0f77
Add messages & presence/message/role stores
auguwu Jun 1, 2021
8161f72
Merge branch 'indev' of https://github.com/auguwu/Wumpcord into indev
auguwu Jun 1, 2021
acb18d5
Add interaction events, work on shard gateway events & identifying
auguwu Jun 3, 2021
839c92d
switch to @ts-ignore
auguwu Jun 6, 2021
560c614
use HTML for documentation, export entities
auguwu Jun 6, 2021
a754b1b
Add Guild properties, cleanup
auguwu Jun 6, 2021
ab6f02d
Add in [[UnavailableGuild]]
auguwu Jun 6, 2021
35e4104
update docs
auguwu Jun 6, 2021
3159cc7
Add deployable docs (soon:tm:)
auguwu Jun 7, 2021
1f5fb95
Remove [DynamicImage] and added methods to the specific classes
auguwu Jun 7, 2021
0f54b68
remove it from src/entities
auguwu Jun 7, 2021
1c5030d
docs update
auguwu Jun 7, 2021
956fd8f
Remove custom cache, add in half of the guild endpoints
auguwu Jun 7, 2021
c067eb9
remove dat
auguwu Jun 7, 2021
3f0fe04
Finish guild entity
auguwu Jun 7, 2021
33f2d3f
Add member declarations
auguwu Jun 7, 2021
0fae504
Docs
auguwu Jun 7, 2021
47b1208
Update typescript-eslint monorepo to v4.26.1
renovate-bot Jun 7, 2021
cb38f64
part one of adding selection menus
auguwu Jun 8, 2021
757cca1
Update typescript-eslint monorepo to v4.27.0
renovate-bot Jun 14, 2021
8a72444
Update dependency ws to v7.5.0
renovate-bot Jun 16, 2021
1c174f6
Update dependency typedoc to v0.20.37
renovate-bot Jun 17, 2021
995adfc
Update dependency @types/ws to v7.4.5
renovate-bot Jun 17, 2021
4ef5ff3
Update dependency typedoc to v0.21.0
renovate-bot Jun 18, 2021
4274ed1
Update dependency typescript to v4.3.4
renovate-bot Jun 18, 2021
20e3a5d
Update dependency eslint to v7.29.0
renovate-bot Jun 18, 2021
61965da
Update typescript-eslint monorepo to v4.28.0
renovate-bot Jun 21, 2021
a0183bb
Update dependency typedoc to v0.21.1
renovate-bot Jun 25, 2021
0ea9261
Update dependency typedoc to v0.21.2
renovate-bot Jun 27, 2021
0bc0f98
Update dependency @augu/eslint-config to v2.1.2
renovate-bot Jun 28, 2021
c0cc242
Update typescript-eslint monorepo to v4.28.1
renovate-bot Jun 28, 2021
617edcd
Update dependency ws to v7.5.1
renovate-bot Jun 29, 2021
5d6210d
Update dependency typescript to v4.3.5
renovate-bot Jun 30, 2021
2823f91
Update dependency husky to v7
renovate-bot Jul 1, 2021
07b2dee
Update dependency @types/ws to v7.4.6
renovate-bot Jul 2, 2021
37b011e
Update dependency eslint to v7.30.0
renovate-bot Jul 2, 2021
1071520
Update dependency ws to v7.5.2
renovate-bot Jul 4, 2021
febfee2
Update typescript-eslint monorepo to v4.28.2
renovate-bot Jul 5, 2021
c913eb0
Update dependency husky to v7.0.1
renovate-bot Jul 6, 2021
0e1f038
Update dependency ws to v7.5.3
renovate-bot Jul 10, 2021
d90297d
Update dependency typedoc to v0.21.3
renovate-bot Jul 10, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 2 additions & 14 deletions .github/workflows/Docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,8 @@ on:
push:
branches:
- 'master'
paths-ignore:
- '.github/**'
- '.vscode/**'
- 'examples/'
- '.eslintignore'
- '.gitignore'
- '.npmignore'
- '**.md'
- 'jest.config.js'
- 'LICENSE'
- 'package.json'
- 'renovate.json'
- 'tsconfig.json'
- 'tsconfig.test.json'
paths:
- 'docs/**'
jobs:
deploy:
runs-on: ubuntu-latest
Expand Down
4 changes: 2 additions & 2 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
echo '❓ lint ~ ❓ project - checking eslint for errors'
eslint src --ext .ts # `--fix` would normally be here but it should only print and not fix

echo '✔ lint ~ ❓ project - compiling project for errors'
tsc --noEmit
#echo '✔ lint ~ ❓ project - compiling project for errors'
#tsc --noEmit

echo '✔ lint ~ ✔ project - we are done here'
107 changes: 107 additions & 0 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
/**
* Copyright (c) 2020-2021 August
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/

/// Type Definitions for "wumpcord"
/// Project: https://github.com/auguwu/Wumpcord
/// Contributors:
/// - August <cutie@floofy.dev>

/* eslint-disable @typescript-eslint/no-empty-interface */

/**
* Main entrypoint to `wumpcord`
*/
declare namespace Wumpcord {
/**
* The [[AbstractEntityCache]]'s purpose is to extend cache throughout Wumpcord
* using any methods you want to use, i.e Redis. Note that all functions must
* be synchronous due to the architecture on how entities and cach work.
*/
export abstract class AbstractEntityCache {
/**
* Creates a new instance of this class.
* @param name The name of this [[AbstractEntityCache]] class
*/
constructor(name: string);

/**
* The name of this [[AbstractEntityCache]] class
*/
public name: string;

/**
* Abstract method to return data from cache or `null` if nothing is found
* @param id The Snowflake to use
* @returns The entity found in cache or `null`.
*/
abstract get(id: string): any;

/**
* Abstract method to add data to cache with the newly
* entity created or an Error thrown if it couldn't
* succeed.
*
* @param data The data from Discord
* @returns The entity created or a [[UnableToCreateEntityError]] if something went wrong.
*/
abstract put<D extends any = any>(data: D): D;

/**
* Abstract method to remove data from cache
* @param id Snowflake to remove
* @returns A boolean if it was successful or not
*/
abstract remove(id: string): boolean;
}

/**
* Represents cache that is pulled in-memory using collections provided
* from `@augu/collections`. This is the default entity cache that is used
* but you can create your own using a [[AbstractEntityCache]] or if you
* don't need to cache anything specific, use the [[NoopEntityCache]] class
* on specific entities or *all* of them.
*/
export class MemoryCache extends Wumpcord.AbstractEntityCache {
/** @inheritdoc */
public get(id: string): any;

/** @inheritdoc */
public put<D extends any = any>(data: D): D;

/** @inheritdoc */
public remove(id: string): boolean;
}

export class NoopEntityCache extends Wumpcord.AbstractEntityCache {
/** @inheritdoc */
public get(id: string): undefined;

/** @inheritdoc */
public put<D extends any = any>(data: D): D;

/** @inheritdoc */
public remove(id: string): boolean;
}
}

export = Wumpcord;
export as namespace Wumpcord;
Loading