Commit Graph

9 Commits

Author SHA1 Message Date
baummarten 1524895122 entities/Cargo.toml: time >= 0.3.16 2023-06-09 17:38:49 +02:00
Josh McKinney 1e8d7f3967 build: set the rust msrv to 1.65
necessary due to the use of workspace.package to handle inherited props
2023-04-14 16:21:35 -07:00
D. Scott Boggs e279f4bda7 Switch from the `is_variant` crate to the `derive_is_enum_variant` one. 2023-03-19 11:22:51 -04:00
D. Scott Boggs 6f5a2a5e90 Add is_variant methods to all enums 2023-02-01 15:38:48 -05:00
D. Scott Boggs 3ac64d3d08 Add description to entities crate 2023-01-29 07:03:09 -05:00
D. Scott Boggs e662eac46a Fix routes which take an Id type; fix doctests 2023-01-24 15:33:49 -05:00
D. Scott Boggs c93e5a5020 Add static assertions 2023-01-09 09:03:21 -05:00
Matthias Beyer e0f38240b7 Make package fields workspace-wide
This patch makes the "version", "license", "authors" and "edition"
fields in the manifest workspace-wide.

This way we ensure that mastodon-async-entities stays in sync with
mastodon-async.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2023-01-04 08:29:52 -05:00
Matthias Beyer af3facfbf0 Add mastodon_async_entities
This patch move the entities module to a helper-crate.

With this, we give the user the opportunity to use only the entities
types in their codebase, if need be.
One scenario where this is required came up in

    https://github.com/dscottboggs/mastodon-async/issues/38

TL;DR is: A user needed to be able to pass types like `Status` from a
backend part of an application to a frontend which was compiled to WASM.
Because mastodon_async depends on tokio, which does not compile to WASM
(at least not with the features required by mastodon_async).

One option would have been to provide types in the application code
which can be constructed from mastodon_asyncs entity types. This would
lead to _a lot_ of code duplication (over several projects still,... but
that's rather undesireable anyways).

The solution mastodon_async offers with this patch is a helper-crate
which only contains the entity types: mastodon_async_entities.

mastodon_async publicly exports the whole mastodon_async_entities crate,
so users do not have to depend on the latter directly.

In addition to the `entities` module from mastodon_async, also the
`Visibility` type had to be moved.

`mastodon_async_entities` also got an own `Error` type, which
`mastodon_async::Error` can of course wrap.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Suggested-by: D. Scott Boggs <scott@tams.tech>
2023-01-04 08:29:52 -05:00