You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looks like the types to expose from Rust over into swift include BlockOrText - an enum that holds either the block structure or a string value (from automerge/tests/block_tests.rs)
For the attrs map, the example in the test showed a key of a string and a value of an int
A lot of those parts are using functions: hydrate_map, hydrate_list, hydrate_text that may be useful to expose and leverage, haven't read through them all yet.
The exposed WASM tests illustrate potentially more of how this might be better exposed:
UniFFI exposes a Hashmap as a default type (https://mozilla.github.io/uniffi-rs/udl/builtin_types.html), which it looks like we'll need to use for some of this API which accepts (and returns) maps. the hydrate.rs module features prominently in the api, and it's Value type (enum) has cases for List and Map in addition to Object and ScalarValue. We may want/need to expand that in the Automerge-swift Value type - or accomodate that in some form (a different type to avoid futzing with existing API?) to accomodate the more complex structures in spans and blocks
The core API:
For docs (Rust) ref: automerge/automerge@806ef43
The rust commit that added most of the core: automerge/automerge@1d987cd
The commit that exposed through to WASM: automerge/automerge@5068143
The commit that exposed through to JavaScript: automerge/automerge@e7b090a
The blocks API should allow us to provide mapping from some common JavaScript-based rich-text editors through to Swift's AttributedString type.
The text was updated successfully, but these errors were encountered: