Skip to main content

@fluidframework/core-interfaces Package

Interfaces

Interface Alerts Modifiers Description
IConfigProviderBase Base interface for providing configurations to enable/disable/control features.
IDisposable sealed Base interface for objects that require lifetime management via explicit disposal.
IErrorBase Base interface for all errors and warnings emitted the container.
IErrorEvent Base interface for error event emitters.
IEvent Base interface for event emitters.
IEventProvider sealed Base interface for event providers.
IFluidHandle sealed Handle to a shared FluidObject.
IFluidHandleContext Legacy, Alpha Describes a routing context from which other IFluidHandleContexts are defined.
IFluidHandleErased sealed A type erased Fluid Handle. These can only be produced by the Fluid Framework and provide the implementation details needed to power IFluidHandle.
IFluidHandleInternal Legacy, Alpha Handle to a shared FluidObject.
IFluidLoadable sealed A shared FluidObject has a URL from which it can be referenced
ILoggingError Legacy, Alpha An error object that supports exporting its properties to be logged to telemetry
IProvideFluidHandle Deprecated, Legacy, Alpha
IProvideFluidHandleContext Legacy, Alpha
IProvideFluidLoadable
IRequest
IRequestHeader
IResponse
ITelemetryBaseEvent Base interface for logging telemetry statements. Can contain any number of properties that get serialized as json payload.
ITelemetryBaseLogger Interface to output telemetry events. Implemented by hosting app / loader
ITelemetryBaseProperties JSON-serializable properties, which will be logged with telemetry.
IThrottlingWarning Legacy, Alpha Warning emitted when requests to storage are being throttled
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.

Classes

Class Modifiers Description
ErasedType sealed Erased type which can be used to expose a opaque/erased version of a type without referencing the actual type.

Types

TypeAlias Alerts Description
ConfigTypes Types supported by IConfigProviderBase.
ExtendEventProvider Allows an interface to extend interfaces that already extend an IEventProvider.
FluidErrorTypes Legacy, Alpha
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" | "IBar"

FluidObjectProviderKeys Produces a valid FluidObject key given a type and a property.
IEventThisPlaceHolder The placeholder type that should be used instead of this in events.
IEventTransformer This type is a conditional type for transforming all the overloads provided in TEvent.
LogLevel Specify a level to the log to filter out logs based on the level.
ReplaceIEventThisPlaceHolder Does the type replacement by changing types of IEventThisPlaceHolder to TThis
TelemetryBaseEventPropertyType Property types that can be logged.
TransformedEvent Transforms the event overload by replacing IEventThisPlaceHolder with TThis in the event listener arguments and having the overload return TTHis as well

Variables

Variable Alerts Modifiers Type Description
FluidErrorTypes Legacy, Alpha readonly { readonly genericError: "genericError"; readonly throttlingError: "throttlingError"; readonly dataCorruptionError: "dataCorruptionError"; readonly dataProcessingError: "dataProcessingError"; readonly usageError: "usageError"; } Error types the Fluid Framework may report.
fluidHandleSymbol readonly unique symbol Symbol which must only be used on an IFluidHandle, and is used to identify such objects.
IFluidHandle readonly
IFluidHandleContext Legacy, Alpha readonly keyof IProvideFluidHandleContext
IFluidLoadable readonly keyof IProvideFluidLoadable
LogLevel readonly { 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"; }

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; }