@fluidframework/sequence Package
Supports distributed data structures which are list-like.
This library's main export is SharedString, a DDS for storing and simultaneously editing a sequence of text.
See the package's README for a high-level introduction to SharedString
's feature set.
Remarks
Note that SharedString is a sequence DDS but it has additional specialized features and behaviors for working with text.
Interfaces
Interface | Alerts | Description |
---|---|---|
IInterval | Legacy , Alpha |
Basic interval abstraction |
IIntervalCollection | Legacy , Alpha |
Collection of intervals that supports addition, modification, removal, and efficient spatial querying. Changes to this collection will be incur updates on collaborating clients (i.e. they are not local-only). |
IIntervalCollectionEvent | Legacy , Alpha |
Change events emitted by IntervalCollection s |
IntervalIndex | Legacy , Alpha |
Collection of intervals. Implementers of this interface will typically implement additional APIs to support efficiently querying a collection of intervals in some manner, for example: - "find all intervals with start endpoint between these two points" - "find all intervals which overlap this range" etc. |
IOverlappingIntervalsIndex | Legacy , Alpha |
|
ISequenceDeltaRange | Legacy , Alpha |
A range that has changed corresponding to a segment modification. |
ISerializableInterval | Legacy , Alpha |
|
ISerializedInterval | Legacy , Alpha |
Serialized object representation of an interval. This representation is used for ops that create or change intervals. |
ISharedIntervalCollection | Legacy , Alpha |
|
ISharedSegmentSequence | Legacy , Alpha |
|
ISharedSegmentSequenceEvents | Legacy , Alpha |
Events emitted in response to changes to the sequence data. |
ISharedString | Legacy , Alpha |
Fluid object interface describing access methods on a SharedString |
SequenceDeltaEvent | Legacy , Alpha |
The event object returned on sequenceDelta events. The properties of this object and its sub-objects represent the state of the sequence at the point in time at which the operation was applied. They will not take into consideration any future modifications performed to the underlying sequence and merge tree. For group ops, each op will get its own event, and the group op property will be set on the op args. Ops may get multiple events. For instance, an insert-replace will get a remove then an insert event. |
SequenceEvent | Legacy , Alpha |
Base class for SequenceDeltaEvent and SequenceMaintenanceEvent. The properties of this object and its sub-objects represent the state of the sequence at the point in time at which the operation was applied. They will not take into any future modifications performed to the underlying sequence and merge tree. |
SequenceInterval | Legacy , Alpha |
Interval implementation whose ends are associated with positions in a mutatable sequence. As such, when content is inserted into the middle of the interval, the interval expands to include that content. |
SequenceMaintenanceEvent | Legacy , Alpha |
The event object returned on maintenance events. The properties of this object and its sub-objects represent the state of the sequence at the point in time at which the operation was applied. They will not take into consideration any future modifications performed to the underlying sequence and merge tree. |
Enumerations
Enum | Alerts | Description |
---|---|---|
IntervalType | Legacy , Alpha |
Types
TypeAlias | Alerts | Description |
---|---|---|
DeserializeCallback | Legacy , Alpha |
|
IntervalOpType | Legacy , Alpha |
|
IntervalRevertible | Legacy , Alpha |
Data for undoing edits affecting Intervals. |
IntervalStickiness | Legacy , Alpha |
Determines how an interval should expand when segments are inserted adjacent to the range it spans Note that interval stickiness is currently an experimental feature and must be explicitly enabled with the |
SharedString | Legacy , Alpha |
Alias for ISharedString for compatibility. |
SharedStringRevertible | Legacy , Alpha |
Data for undoing edits on SharedStrings and Intervals. |
SharedStringSegment | Legacy , Alpha |
Functions
Function | Alerts | Return Type | Description |
---|---|---|---|
appendAddIntervalToRevertibles(interval, revertibles) | Legacy , Alpha |
SharedStringRevertible[] | Create revertibles for adding an interval |
appendChangeIntervalToRevertibles(string, newInterval, previousInterval, revertibles) | Legacy , Alpha |
SharedStringRevertible[] | Create revertibles for moving endpoints of an interval |
appendDeleteIntervalToRevertibles(string, interval, revertibles) | Legacy , Alpha |
SharedStringRevertible[] | Create revertibles for deleting an interval |
appendIntervalPropertyChangedToRevertibles(interval, deltas, revertibles) | Legacy , Alpha |
SharedStringRevertible[] | Create revertibles for changing properties of an interval |
appendSharedStringDeltaToRevertibles(string, delta, revertibles) | Legacy , Alpha |
void | Create revertibles for SharedStringDeltas, handling indirectly modified intervals (e.g. reverting remove of a range that contains an interval will move the interval back) |
createOverlappingIntervalsIndex(sharedString) | Legacy , Alpha |
IOverlappingIntervalsIndex<SequenceInterval> | |
discardSharedStringRevertibles(sharedString, revertibles) | Legacy , Alpha |
void | Clean up resources held by revertibles that are no longer needed. |
revertSharedStringRevertibles(sharedString, revertibles) | Legacy , Alpha |
void | Invoke revertibles to reverse prior edits |
Variables
Variable | Alerts | Modifiers | Type | Description |
---|---|---|---|---|
IntervalOpType | Legacy , Alpha |
readonly |
{ readonly PROPERTY_CHANGED: "propertyChanged"; readonly POSITION_REMOVE: "positionRemove"; readonly ADD: "add"; readonly DELETE: "delete"; readonly CHANGE: "change"; } | Values are used in revertibles. |
IntervalStickiness | Legacy , Alpha |
readonly |
{ readonly NONE: 0; readonly START: 1; readonly END: 2; readonly FULL: 3; } |
Determines how an interval should expand when segments are inserted adjacent to the range it spans Note that interval stickiness is currently an experimental feature and must be explicitly enabled with the |
SharedString | Legacy , Alpha |
readonly |
import("@fluidframework/shared-object-base/internal").ISharedObjectKind<ISharedString> & import("@fluidframework/shared-object-base/internal").SharedObjectKind<ISharedString> | Entrypoint for ISharedString creation. |
Function Details
appendAddIntervalToRevertibles
Create revertibles for adding an interval
To use, import via @fluidframework/sequence/legacy
.
For more information about our API support guarantees, see here.
Signature
export declare function appendAddIntervalToRevertibles(interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
Parameters
Parameter | Type | Description |
---|---|---|
interval | SequenceInterval | |
revertibles | SharedStringRevertible[] |
Returns
Return type: SharedStringRevertible[]
appendChangeIntervalToRevertibles
Create revertibles for moving endpoints of an interval
To use, import via @fluidframework/sequence/legacy
.
For more information about our API support guarantees, see here.
Signature
export declare function appendChangeIntervalToRevertibles(string: ISharedString, newInterval: SequenceInterval, previousInterval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
Parameters
Parameter | Type | Description |
---|---|---|
string | ISharedString | |
newInterval | SequenceInterval | |
previousInterval | SequenceInterval | |
revertibles | SharedStringRevertible[] |
Returns
Return type: SharedStringRevertible[]
appendDeleteIntervalToRevertibles
Create revertibles for deleting an interval
To use, import via @fluidframework/sequence/legacy
.
For more information about our API support guarantees, see here.
Signature
export declare function appendDeleteIntervalToRevertibles(string: ISharedString, interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
Parameters
Parameter | Type | Description |
---|---|---|
string | ISharedString | |
interval | SequenceInterval | |
revertibles | SharedStringRevertible[] |
Returns
Return type: SharedStringRevertible[]
appendIntervalPropertyChangedToRevertibles
Create revertibles for changing properties of an interval
To use, import via @fluidframework/sequence/legacy
.
For more information about our API support guarantees, see here.
Signature
export declare function appendIntervalPropertyChangedToRevertibles(interval: SequenceInterval, deltas: PropertySet, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
Parameters
Parameter | Type | Description |
---|---|---|
interval | SequenceInterval | |
deltas | PropertySet | |
revertibles | SharedStringRevertible[] |
Returns
Return type: SharedStringRevertible[]
appendSharedStringDeltaToRevertibles
Create revertibles for SharedStringDeltas, handling indirectly modified intervals (e.g. reverting remove of a range that contains an interval will move the interval back)
To use, import via @fluidframework/sequence/legacy
.
For more information about our API support guarantees, see here.
Signature
export declare function appendSharedStringDeltaToRevertibles(string: ISharedString, delta: SequenceDeltaEvent, revertibles: SharedStringRevertible[]): void;
Parameters
Parameter | Type | Description |
---|---|---|
string | ISharedString | |
delta | SequenceDeltaEvent | |
revertibles | SharedStringRevertible[] |
createOverlappingIntervalsIndex
To use, import via @fluidframework/sequence/legacy
.
For more information about our API support guarantees, see here.
Signature
export declare function createOverlappingIntervalsIndex(sharedString: ISharedString): IOverlappingIntervalsIndex<SequenceInterval>;
Parameters
Parameter | Type | Description |
---|---|---|
sharedString | ISharedString |
Returns
Return type: IOverlappingIntervalsIndex<SequenceInterval>
discardSharedStringRevertibles
Clean up resources held by revertibles that are no longer needed.
To use, import via @fluidframework/sequence/legacy
.
For more information about our API support guarantees, see here.
Signature
export declare function discardSharedStringRevertibles(sharedString: ISharedString, revertibles: SharedStringRevertible[]): void;
Parameters
Parameter | Type | Description |
---|---|---|
sharedString | ISharedString | |
revertibles | SharedStringRevertible[] |
revertSharedStringRevertibles
Invoke revertibles to reverse prior edits
To use, import via @fluidframework/sequence/legacy
.
For more information about our API support guarantees, see here.
Signature
export declare function revertSharedStringRevertibles(sharedString: ISharedString, revertibles: SharedStringRevertible[]): void;
Parameters
Parameter | Type | Description |
---|---|---|
sharedString | ISharedString | |
revertibles | SharedStringRevertible[] |
Variable Details
IntervalOpType
Values are used in revertibles.
To use, import via @fluidframework/sequence/legacy
.
For more information about our API support guarantees, see here.
Signature
IntervalOpType: {
readonly PROPERTY_CHANGED: "propertyChanged";
readonly POSITION_REMOVE: "positionRemove";
readonly ADD: "add";
readonly DELETE: "delete";
readonly CHANGE: "change";
}
Type: { readonly PROPERTY_CHANGED: "propertyChanged"; readonly POSITION_REMOVE: "positionRemove"; readonly ADD: "add"; readonly DELETE: "delete"; readonly CHANGE: "change"; }
IntervalStickiness
Determines how an interval should expand when segments are inserted adjacent to the range it spans
Note that interval stickiness is currently an experimental feature and must be explicitly enabled with the intervalStickinessEnabled
flag
To use, import via @fluidframework/sequence/legacy
.
For more information about our API support guarantees, see here.
Signature
IntervalStickiness: {
readonly NONE: 0;
readonly START: 1;
readonly END: 2;
readonly FULL: 3;
}
Type: { readonly NONE: 0; readonly START: 1; readonly END: 2; readonly FULL: 3; }
SharedString
Entrypoint for ISharedString creation.
To use, import via @fluidframework/sequence/legacy
.
For more information about our API support guarantees, see here.
Signature
SharedString: import("@fluidframework/shared-object-base/internal").ISharedObjectKind<ISharedString> & import("@fluidframework/shared-object-base/internal").SharedObjectKind<ISharedString>
Type: import("@fluidframework/shared-object-base/internal").ISharedObjectKind<ISharedString> & import("@fluidframework/shared-object-base/internal").SharedObjectKind<ISharedString>