FluidFramework
FluidFramework copied to clipboard
Add beta version of ISharedMap for declarative API
Description
Add declarative API compatible ISharedMap to fluid-framework.
This also fixes the use of "any" in ISharedMap that the original had but didn't want to change due to that being breaking.
Breaking Changes
Users of ISharedMap from fluid-framework/legacy
will have the returned values default to unknown instead of any (but type is still inferred to be what ever the caller wants, so this doesn't improve safety or break usages with an explicit generic type or type for the value the result is assigned to: just avoid any leaking any
into call sites inferring the type.
Users of ISharedMap from fluid-framework/legacy
will have ISharedObject and its events removed from the interface as those expose encapsulated API specific types.
ISharedMapEvents no longer extends ISharedObjectEvents. The ISharedMap interface exported from the map package does retain these events, so most use should be unimpacted.
Reviewer Guidance
The review process is outlined on this wiki page.
This is an alternative to the approach taken in https://github.com/microsoft/FluidFramework/pull/21231
The APIs marked @beta
here should become @public
once they can do so while staying under fluid-framework/legacy.
Making them as @beta
ensures they do not accidently depend on any of the @alpha
API surface.