Packages > @fluidframework/core-interfaces

@fluidframework/core-interfaces Package

Interfaces

Interface Description
IConfigProviderBase Base interface for providing configurations to enable/disable/control features.
IDisposable 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 Base interface for event providers.
IFluidHandle Handle to a shared FluidObject.
IFluidHandleContext Describes a routing context from which other IFluidHandleContexts are defined.
IFluidHandleErased A type erased Fluid Handle. These can only be produced by the Fluid Framework and provide the implementation details needed to power IFluidHandle.
IFluidLoadable A shared FluidObject has a URL from which it can be referenced
IProvideFluidHandleContext
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.
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 Description
ConfigTypes Types supported by IConfigProviderBase.
ExtendEventProvider Allows an interface to extend interfaces that already extend an IEventProvider.
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 Modifiers Type Description
fluidHandleSymbol readonly unique symbol Symbol which must only be used on an IFluidHandle, and is used to identify such objects.
IFluidHandle readonly
IFluidHandleContext 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

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 @fluidframework/runtime-utils#isFluidHandle 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

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