FluidFramework icon indicating copy to clipboard operation
FluidFramework copied to clipboard

Add beta version of ISharedMap for declarative API

Open CraigMacomber opened this issue 8 months ago • 0 comments

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.

CraigMacomber avatar Jun 07 '24 01:06 CraigMacomber