loro-swift
loro-swift copied to clipboard
refactor: upgrade to uniffi v0.29
Here is an attempt using uniffi-rs v0.29, in which they support Allow UDL to define Enums with objects so that we can
[Enum]
interface Container{
List(LoroList container);
Map(LoroMap container);
Text(LoroText container);
Tree(LoroTree container);
MovableList(LoroMovableList container);
Counter(LoroCounter container);
Unknown(LoroUnknown container);
};
[Enum]
interface ValueOrContainer{
Value(LoroValue value);
Container(Container container);
};
However, the definition of remote type is strengthened at the same time. In the current architecture, all types in loro-ffi are remote types. uniffi-rs do not yet support remote definitions of traits