aboutsummaryrefslogtreecommitdiff
path: root/src/utils
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'upstream'Mishio5952018-08-013-0/+181
|\
| * Move unit tests into sourceZeyla Hellyer2018-08-013-0/+181
| | | | | | | | | | | | | | | | | | Move the unit tests into the relevant source files. There's no need for them to be seprate, especially when the `tests` directory is meant to be for integration tests. The deserialization tests that include JSON files are still in the `tests` dir, along with the public prelude re-export tests.
* | add method Colour::hexcolour_hexMishio5952018-07-241-0/+14
|/
* Fix some clippy lintsZeyla Hellyer2018-07-152-8/+10
| | | | | Some lints were not resolved due to causing API changes. Most lints in the framework were left unfixed.
* Add associated consts in Colour, deprecate methodsZeyla Hellyer2018-07-071-36/+42
| | | | | | Add associated constants to the `utils::Colour` struct for all of the colour presets. Additionally, deprecate the method equivalents, preferring to use associated constants instead.
* Monomorphize all functionsZeyla Hellyer2018-07-042-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit monomorphizes all functions, turning functions like: ```rust fn foo<T: Into<Bar>>(baz: T) { baz = baz.into(); // function here } ``` Into functions like: ```rust fn foo<T: Into<Bar>>(baz: T) { _foo(baz.into()) } fn _foo(baz: Bar) { // function here } ``` This avoids binary bloat and improves build times, by reducing the amount of code duplication.
* properly fix the is_nsfw check this timeacdenisSK2018-07-021-1/+1
|
* Simplify utils::is_nsfwZeyla Hellyer2018-07-021-9/+1
|
* Fix 'nsfw-' case in utils::is_nsfwZeyla Hellyer2018-07-021-1/+1
| | | | | | In the utils::is_nsfw function, an input of 'nsfw-' shouldn't return true. Discord's (previous) NSFW detection classified 'nsfw' and anything starting with 'nsfw-' - but not including - as NSFW.
* Fix utils::is_nsfw string slicingZeyla Hellyer2018-07-021-4/+6
| | | | | | | | | Removes string slicing on the input string, instead preferring to count chars and work off that information. Fixes channel names with unicode such as `général`. Fixes #342.
* Remove extraneous spaces at the end of linesZeyla Hellyer2018-06-171-2/+2
|
* Fix dead link.Lakelezz2018-04-201-1/+1
|
* Fix typo'd word `retrieve` (#307)Lakelezz2018-04-141-4/+4
|
* Fix nsfw related docs (#299)Lakelezz2018-04-041-4/+0
|
* Refactor imports/exports to use nested groups and better formattingacdenisSK2018-03-292-15/+23
|
* Change the way ids and some enums are made (#295)Leah2018-03-232-3/+3
| | | | | This makes them easier to be found by tools like rls. Also update struct inits to use the shorthand version for `x: x`.
* Fix broken docs links caused by model mod changesZeyla Hellyer2018-01-313-17/+17
| | | | | Fix broken links caused by the `model` module changes in v0.5.0, which split up the module into sub-modules for better organization.
* Move `VecMap` to `utils`acdenisSK2018-01-022-1/+122
| | | | This also fixes no-builder compilation
* Remove builder re-export in utilsZeyla Hellyer2018-01-021-4/+0
|
* Improve performance of builders even furtheracdenisSK2017-12-271-0/+12
| | | | | | By negating hashing altogether. The increase is around 1000-ish nanoseconds saved.
* Add `animated` to `Emoji` and `ReactionType`Zeyla Hellyer2017-12-201-0/+2
| | | | | | | | | | Adds an animated structfield to `Emoji` and `ReactionType`'s `Custom` variant, which defaults to false if not present. A test has been added for deserializing it, taken from a REST API GET Emojis response. (cherry picked from commit 5286949f424e824784344ebb7b7af4e52fb819c3)
* Fix doc-tests and `single_zc`acdenisSK2017-12-171-3/+3
|
* Fix most clippy lints, take more refeerncesZeyla Hellyer2017-12-162-6/+6
| | | | | Fix clippy lints and subsequently accept references for more function parameters.
* Break up the model moduleZeyla Hellyer2017-12-163-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `model` module has historically been one giant module re-exporting all of the model types, which is somewhere around 100 types. This can be a lot to look at for a new user and somewhat overwhelming, especially with a large number of fine-grained imports from the module. The module is now neatly split up into submodules, mostly like it has been internally since the early versions of the library. The submodules are: - application - channel - error - event - gateway - guild - id - invite - misc - permissions - prelude - user - voice - webhook Each submodule contains types that are "owned" by the module. For example, the `guild` submodule contains, but not limited to, Emoji, AuditLogsEntry, Role, and Member. `channel` contains, but not limited to, Attachment, Embed, Message, and Reaction. Upgrade path: Instead of glob importing the models via `use serenity::model::*;`, instead glob import via the prelude: ```rust use serenity::model::prelude::*; ``` Instead of importing from the root model module: ```rust use serenity::model::{Guild, Message, OnlineStatus, Role, User}; ``` instead import from the submodules like so: ```rust use serenity::model::channel::Message; use serenity::model::guild::{Guild, Role}; use serenity::model::user::{OnlineStatus, User}; ```
* Use `ToString`'s blanket impl for `Display`sacdenisSK2017-11-271-1/+1
|
* Re-order use statements alphabeticallyZeyla Hellyer2017-11-112-2/+1
|
* Add Debug derives to more public typesthelearnerofcode2017-11-071-5/+5
|
* Slightly improve performance of buildersZeyla Hellyer2017-10-181-2/+16
| | | | | | | | | | | | | | | Builders would keep a `serde_json::Map<String, Value>`, which would require re-creating owned strings for the same parameter multiple times in some cases, depending on builder defaults and keying strategies. This commit uses a `std::collections::HashMap<&'static str, Value>` internally, and moves over values to a `serde_json::Map<String, Value>` when it comes time to sending them to the appropriate `http` module function. This saves the number of heap-allocated string creations on most builders, with specific performance increase on `builder::CreateMessage` and `builder::CreateEmbed` & co.
* Update to account for changes made in 0.4.1acdenisSK2017-10-141-3/+3
|\
| * Fix clippy lintsZeyla Hellyer2017-10-111-3/+3
| |
| * Force `I` to be not implemented outside serenityacdenisSK2017-10-031-3/+15
| |
| * Revert "Use the de-generification trick."acdenisSK2017-10-031-18/+6
| | | | | | | | Makes the compiliation time just a bit worse
| * Use the de-generification trick.acdenisSK2017-10-021-6/+18
| | | | | | | | Fixes #168
| * `to_owned` -> `to_string`acdenisSK2017-10-013-7/+7
| |
* | Switch to parking_lot::{Mutex, RwLock}Zeyla Hellyer2017-10-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch to the `parking_lot` crate's implementations of `std::sync::Mutex` and `std::sync::RwLock`, which are more efficient. A writeup on why `parking_lot` is more efficient can be read here: <https://github.com/Amanieu/parking_lot> Upgrade path: Modify `mutex.lock().unwrap()` usage to `mutex.lock()` (not needing to unwrap or handle a result), and `rwlock.read().unwrap()`/`rwlock.write().unwrap()` usage to `rwlock.read()` and `rwlock.write()`. For example, modify: ```rust use serenity::CACHE; println!("{}", CACHE.read().unwrap().user.id); ``` to: ```rust use serenity::CACHE; println!("{}", CACHE.read().user.id); ```
* | Force `I` to be not implemented outside serenityacdenisSK2017-10-091-3/+15
| |
* | Revert "Use the de-generification trick."acdenisSK2017-10-091-18/+6
| | | | | | | | Makes the compiliation time just a bit worse
* | Use the de-generification trick.acdenisSK2017-10-091-6/+18
| | | | | | | | Fixes #168
* | `to_owned` -> `to_string`acdenisSK2017-10-093-7/+7
|/
* Apply rustfmtZeyla Hellyer2017-09-181-2/+5
|
* Fix compiles of a variety of feature combinationsZeyla Hellyer2017-09-181-0/+5
| | | | | This fixes compilation errors and warnings when compiling a mixture of non-default feature targets.
* Add ability to play DCA and Opus files. (#148)Maiddog2017-08-271-5/+2
|
* Revamp `RwLock` usage in the libacdenisSK2017-08-241-2/+5
| | | | Also not quite sure if they goofed rustfmt or something, but its changes it did were a bit bizarre.
* Apply rustfmt fixesZeyla Hellyer2017-08-221-6/+8
|
* Add `with_config{_mut}`acdenisSK2017-08-231-0/+40
|
* Clippy lintsZeyla Hellyer2017-08-181-0/+3
|
* Apply rustfmtZeyla Hellyer2017-08-182-16/+13
|
* Remove the `I` bound for the language param and fix `push_mono_safe`acdenisSK2017-08-081-5/+5
|
* Fix the test `message_content_safe`acdenisSK2017-08-061-67/+78
| | | | This commit does NOT interfere with the "accept Display" change to the builder
* >.>acdenisSK2017-08-051-1/+1
|