JavaScript is disabled, refresh for a better experience. ambee/giterated

ambee/giterated

Git repository hosting, collaboration, and discovery for the Fediverse.

Beginning of `stack-next` refactor

-Refactoring the protocol stack into something similar to a runtime. -Handles merging handler builders which is placing the ground work for plugins in. - Increased metadata generation during compilation enables less ser/de during execution. - Goal is to have an O(1) time from incoming operation to calling handlers. - Decreased penalty for using the statically typed API from within your code, now avoids some allocation. # Changes - Added `GiteratedRuntime` which is to replace the current unified stack - Added `RuntimeBuilder` which does what the current `OperationHandlers` struct does, but much better. - Added `RuntimeMetadata` to store type metadata for new `Any` based internals - Refactored serde_json out of the internal operation handling

Amber - ⁨2⁩ years ago

parent: tbd commit: ⁨708dea4

⁨giterated-models/src/update/mod.rs⁩ - ⁨352⁩ bytes
Raw
1 use crate::value::AnyValue;
2
3 mod instance;
4 mod repository;
5 mod user;
6
7 pub struct ValueUpdate {
8 pub object: String,
9 pub value_name: String,
10 pub value: AnyValue<()>,
11 }
12
13 pub struct SettingUpdate {
14 object: String,
15 value_name: String,
16 value: AnyValue<()>,
17 }
18
19 pub enum GiteratedUpdateKind {
20 Instance,
21 Repository,
22 Value,
23 }
24