Skip to main content

@fluidframework/core-interfaces Package

Interfaces

InterfaceAlertsModifiersDescription
IConfigProviderBaseBase interface for providing configurations to enable/disable/control features.
IDisposablesealedBase interface for objects that require lifetime management via explicit disposal.
IErrorBaseBase interface for all errors and warnings emitted the container.
IErrorEventBase interface for error event emitters.
IEventBase interface for event emitters.
IEventProvidersealedBase interface for event providers.
IFluidHandlesealedHandle to a shared FluidObject.
IFluidHandleContextLegacyDescribes a routing context from which other IFluidHandleContexts are defined.
IFluidHandleErasedsealedA type erased Fluid Handle. These can only be produced by the Fluid Framework and provide the implementation details needed to power IFluidHandle.
IFluidHandleEventsLegacyEvents which fire from an IFluidHandle.
IFluidHandleInternalLegacyHandle to a shared FluidObject.
IFluidHandlePayloadPendingLegacyObservable state on the handle regarding its payload sharing state.
IFluidLoadablesealedA shared FluidObject with a handle that can be used to retrieve it.
ILayerIncompatibilityErrorLegacyLayer incompatibility error indicating that two Fluid layers are incompatible. For instance, if the Loader layer is not compatible with the Runtime layer, the container will be disposed with this error.
ILocalFluidHandleLegacyAdditional observable state on a local handle regarding its payload sharing state.
ILocalFluidHandleEventsLegacyAdditional events which fire as a local handle's payload state transitions.
ILoggingErrorLegacyAn error object that supports exporting its properties to be logged to telemetry
IProvideFluidHandleDeprecated, Legacy
IProvideFluidHandleContextLegacy
IProvideFluidLoadable
IRequest
IRequestHeader
IResponse
ITelemetryBaseEventBase interface for logging telemetry statements. Can contain any number of properties that get serialized as json payload.
ITelemetryBaseLoggerInterface to output telemetry events. Implemented by hosting app / loader
ITelemetryBasePropertiesJSON-serializable properties, which will be logged with telemetry.
IThrottlingWarningLegacyWarning emitted when requests to storage are being throttled
ListenablesealedAn object which allows the registration of listeners so that subscribers can be notified when an event happens.
Tagged

A property to be logged to telemetry may require a tag indicating the value may contain sensitive data. This type wraps a value of the given type V in an object along with a string tag (type can be further specified as T).

This indicates that the value should be organized or handled differently by loggers in various first or third party scenarios. For example, tags are used to mark data that should not be stored in logs for privacy reasons.

TypedMessageLegacyA message that has a string type associated with content.

Classes

ClassAlertsModifiersDescription
ErasedBaseTypeSystemsealedUsed to mark a @sealed interface in a strongly typed way to prevent external implementations.
ErasedTypesealedErased type which can be used to expose a opaque/erased version of a type without referencing the actual type.

Types

TypeAliasAlertsDescription
ConfigTypesTypes supported by IConfigProviderBase.
ExtendEventProviderAllows an interface to extend interfaces that already extend an IEventProvider.
FluidErrorTypesLegacy
FluidErrorTypesAlphaLegacy
FluidObject

This utility type take interface(s) that follow the FluidObject pattern, and produces a new type that can be used for inspection and discovery of those interfaces.

It is meant to be used with types that are known to implement the FluidObject pattern. A common way to specify a type implements the FluidObject pattern is to expose it as a FluidObject without a generic argument.

FluidObjectKeys

This utility type creates a type that is the union of all keys on the generic type which implement the FluidObject pattern.

See FluidObject

For example FluidObjectKeys<IFoo & IBar> would result in "IFoo"

FluidObjectProviderKeysProduces a valid FluidObject key given a type and a property.
IEventThisPlaceHolderThe placeholder type that should be used instead of this in events.
IEventTransformerThis type is a conditional type for transforming all the overloads provided in TEvent.
IsListenertrue iff the given type is an acceptable shape for a event listener
ListenersUsed to specify the kinds of events emitted by a Listenable.
LogLevelSpecify a level to the log to filter out logs based on the level.
OffA function that, when called, will deregister an event listener subscription that was previously registered.
PayloadStateLegacyThe state of the handle's payload. - "pending" - The payload is not shared to all collaborators - "shared" - The payload is available to both the local client and remote collaborators
ReplaceIEventThisPlaceHolderDoes the type replacement by changing types of IEventThisPlaceHolder to TThis
TelemetryBaseEventPropertyTypeProperty types that can be logged.
TransformedEventTransforms the event overload by replacing IEventThisPlaceHolder with TThis in the event listener arguments and having the overload return TTHis as well

Variables

VariableAlertsModifiersTypeDescription
FluidErrorTypesLegacyreadonly{ readonly genericError: "genericError"; readonly throttlingError: "throttlingError"; readonly dataCorruptionError: "dataCorruptionError"; readonly dataProcessingError: "dataProcessingError"; readonly usageError: "usageError"; }Error types the Fluid Framework may report.
FluidErrorTypesAlphaLegacyreadonly{ readonly layerIncompatibilityError: "layerIncompatibilityError"; readonly genericError: "genericError"; readonly throttlingError: "throttlingError"; readonly dataCorruptionError: "dataCorruptionError"; readonly dataProcessingError: "dataProcessingError"; readonly usageError: "usageError"; }New error types that are still in alpha stage. Once stabilized, they will be moved to FluidErrorTypes.
fluidHandleSymbolreadonlyunique symbolSymbol which must only be used on an IFluidHandle, and is used to identify such objects.
IFluidHandlereadonly
IFluidHandleContextLegacyreadonlykeyof IProvideFluidHandleContext
IFluidLoadablereadonlykeyof IProvideFluidLoadable
LogLevelreadonly{ readonly verbose: 10; readonly default: 20; readonly error: 30; }Specify levels of the logs.

Variable Details

FluidErrorTypes

Error types the Fluid Framework may report.

This API is provided for existing users, but is not recommended for new users.

To use, import via @fluidframework/core-interfaces/legacy.

For more information about our API support guarantees, see here.

Signature

FluidErrorTypes: {
readonly genericError: "genericError";
readonly throttlingError: "throttlingError";
readonly dataCorruptionError: "dataCorruptionError";
readonly dataProcessingError: "dataProcessingError";
readonly usageError: "usageError";
}

Type: { readonly genericError: "genericError"; readonly throttlingError: "throttlingError"; readonly dataCorruptionError: "dataCorruptionError"; readonly dataProcessingError: "dataProcessingError"; readonly usageError: "usageError"; }

FluidErrorTypesAlpha

New error types that are still in alpha stage. Once stabilized, they will be moved to FluidErrorTypes.

This API is provided for existing users, but is not recommended for new users.

To use, import via @fluidframework/core-interfaces/legacy.

For more information about our API support guarantees, see here.

Signature

FluidErrorTypesAlpha: {
readonly layerIncompatibilityError: "layerIncompatibilityError";
readonly genericError: "genericError";
readonly throttlingError: "throttlingError";
readonly dataCorruptionError: "dataCorruptionError";
readonly dataProcessingError: "dataProcessingError";
readonly usageError: "usageError";
}

Type: { readonly layerIncompatibilityError: "layerIncompatibilityError"; readonly genericError: "genericError"; readonly throttlingError: "throttlingError"; readonly dataCorruptionError: "dataCorruptionError"; readonly dataProcessingError: "dataProcessingError"; readonly usageError: "usageError"; }

fluidHandleSymbol

Symbol which must only be used on an IFluidHandle, and is used to identify such objects.

Signature

fluidHandleSymbol: unique symbol

Type: unique symbol

Remarks

To narrow arbitrary objects to handles do not simply check for this symbol: instead use isFluidHandle(value) which has improved compatibility with older implementations of handles that may exist due to dynamic code loading of older packages.

IFluidHandle

Signature

IFluidHandle = "IFluidHandle"

IFluidHandleContext

This API is provided for existing users, but is not recommended for new users.

To use, import via @fluidframework/core-interfaces/legacy.

For more information about our API support guarantees, see here.

Signature

IFluidHandleContext: keyof IProvideFluidHandleContext

Type: keyof IProvideFluidHandleContext

IFluidLoadable

Signature

IFluidLoadable: keyof IProvideFluidLoadable

Type: keyof IProvideFluidLoadable

LogLevel

Specify levels of the logs.

Signature

LogLevel: {
readonly verbose: 10;
readonly default: 20;
readonly error: 30;
}

Type: { readonly verbose: 10; readonly default: 20; readonly error: 30; }