fluid-framework 2.0.0-dev-rc.4.0.0.261659 → 2.0.0-dev-rc.5.0.0.265721

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # fluid-framework
2
2
 
3
+ ## 2.0.0-rc.4.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - SharedString now uses ISharedObjectKind and does not export the factory [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
8
+
9
+ Most users of `SharedString` should be unaffected as long as they stick to the factory patterns supported by ISharedObjectKind.
10
+ If the actual class type is needed it can be found as `SharedStringClass`.
11
+
12
+ - Deprecated members of IFluidHandle are split off into new IFluidHandleInternal interface [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
13
+
14
+ Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
15
+ Code depending on the previously deprecated members of IFluidHandle can access them by using `toFluidHandleInternal` from `@fluidframework/runtime-utils/legacy`.
16
+
17
+ External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
18
+ Any existing and previously working, and now broken, external implementations of `IFluidHandle` should still work at runtime, but will need some unsafe type casts to compile.
19
+ Such handle implementation may break in the future and thus should be replaced with use of handles produced by the Fluid Framework client packages.
20
+
21
+ - Minor API fixes for "@fluidframework/tree" package. [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
22
+
23
+ Changes constructor for `FieldSchema` from public to private. Users should call `makeFieldSchema` to create instance of `FieldSchema`.
24
+
25
+ - Make several driver types no longer public [b7ad7d0b55](https://github.com/microsoft/FluidFramework/commit/b7ad7d0b55884dd8954abf7c398e518838b9bda0)
26
+
27
+ Move the following types from `@public` to `@alpha`:
28
+
29
+ - ITokenClaims
30
+ - IDocumentMessage
31
+ - IClientConfiguration
32
+ - IAnyDriverError
33
+ - IDriverErrorBase
34
+ - DriverErrorTypes
35
+
36
+ `DriverErrorTypes` is no longer exported from the `fluid-framework` package.
37
+
38
+ - Rename `AzureMember.userName` to `AzureMember.name` and `IMember.userId` to `IMember.id` [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
39
+
40
+ 1. Renamed `AzureMember.userName` to `AzureMember.name` to establish uniform naming across odsp-client and azure-client.
41
+ 2. Renamed `IMember.userId` to `IMember.id` to align with the properties received from AFR.
42
+
3
43
  ## 2.0.0-rc.3.0.0
4
44
 
5
45
  ### Major Changes
@@ -5,23 +5,17 @@
5
5
  ```ts
6
6
 
7
7
  import { Client } from '@fluidframework/merge-tree/internal';
8
- import { Deferred } from '@fluidframework/core-utils/internal';
9
8
  import { ErasedType } from '@fluidframework/core-interfaces';
10
- import { FluidObject } from '@fluidframework/core-interfaces';
11
- import { IChannel } from '@fluidframework/datastore-definitions';
12
- import { IChannelAttributes } from '@fluidframework/datastore-definitions';
13
- import type { IChannelFactory } from '@fluidframework/datastore-definitions';
14
- import type { IChannelServices } from '@fluidframework/datastore-definitions';
15
- import { IChannelStorageService } from '@fluidframework/datastore-definitions';
16
- import { IDisposable as IDisposable_2 } from '@fluidframework/core-interfaces';
9
+ import { IChannel } from '@fluidframework/datastore-definitions/internal';
10
+ import type { IDisposable as IDisposable_2 } from '@fluidframework/core-interfaces';
17
11
  import type { IErrorBase } from '@fluidframework/core-interfaces';
12
+ import { IErrorEvent } from '@fluidframework/core-interfaces';
18
13
  import { IEvent } from '@fluidframework/core-interfaces';
19
14
  import { IEventProvider } from '@fluidframework/core-interfaces';
20
15
  import { IEventThisPlaceHolder } from '@fluidframework/core-interfaces';
21
- import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
22
16
  import { IFluidHandle } from '@fluidframework/core-interfaces';
23
17
  import { IFluidLoadable } from '@fluidframework/core-interfaces';
24
- import { IFluidSerializer } from '@fluidframework/shared-object-base';
18
+ import { IGarbageCollectionData } from '@fluidframework/runtime-definitions/internal';
25
19
  import { IJSONSegment } from '@fluidframework/merge-tree/internal';
26
20
  import { IMergeTreeDeltaCallbackArgs } from '@fluidframework/merge-tree/internal';
27
21
  import { IMergeTreeDeltaOpArgs } from '@fluidframework/merge-tree/internal';
@@ -31,11 +25,7 @@ import { IRelativePosition } from '@fluidframework/merge-tree/internal';
31
25
  import { ISegment } from '@fluidframework/merge-tree/internal';
32
26
  import { ISegmentAction } from '@fluidframework/merge-tree/internal';
33
27
  import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
34
- import { ISharedObject } from '@fluidframework/shared-object-base';
35
- import { ISharedObjectEvents } from '@fluidframework/shared-object-base';
36
- import { ISharedObjectKind } from '@fluidframework/shared-object-base';
37
- import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
38
- import { ITelemetryContext } from '@fluidframework/runtime-definitions';
28
+ import { ISharedObjectKind } from '@fluidframework/shared-object-base/internal';
39
29
  import { LocalReferencePosition } from '@fluidframework/merge-tree/internal';
40
30
  import { Marker } from '@fluidframework/merge-tree/internal';
41
31
  import { MergeTreeDeltaOperationType } from '@fluidframework/merge-tree/internal';
@@ -46,7 +36,7 @@ import { PropertiesManager } from '@fluidframework/merge-tree/internal';
46
36
  import { PropertySet } from '@fluidframework/merge-tree/internal';
47
37
  import { ReferencePosition } from '@fluidframework/merge-tree/internal';
48
38
  import { ReferenceType } from '@fluidframework/merge-tree/internal';
49
- import { SharedObject } from '@fluidframework/shared-object-base/internal';
39
+ import { SharedObjectKind as SharedObjectKind_2 } from '@fluidframework/shared-object-base/internal';
50
40
  import { SlidingPreference } from '@fluidframework/merge-tree/internal';
51
41
  import { TextSegment } from '@fluidframework/merge-tree/internal';
52
42
  import { TypedEventEmitter } from '@fluid-internal/client-utils';
@@ -55,7 +45,11 @@ import { TypedEventEmitter } from '@fluid-internal/client-utils';
55
45
  export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
56
46
 
57
47
  // @public
58
- export type ApplyKind<T, Kind extends FieldKind> = Kind extends FieldKind.Required ? T : undefined | T;
48
+ export type ApplyKind<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = {
49
+ [FieldKind.Required]: T;
50
+ [FieldKind.Optional]: T | undefined;
51
+ [FieldKind.Identifier]: DefaultsAreOptional extends true ? T | undefined : T;
52
+ }[Kind];
59
53
 
60
54
  // @public
61
55
  export enum AttachState {
@@ -99,73 +93,22 @@ export type ConnectionStateType = ConnectionStateType.Disconnected | ConnectionS
99
93
  // @public
100
94
  export type ContainerAttachProps<T = unknown> = T;
101
95
 
102
- // @alpha
103
- export const ContainerErrorTypes: {
104
- readonly clientSessionExpiredError: "clientSessionExpiredError";
105
- readonly genericError: "genericError";
106
- readonly throttlingError: "throttlingError";
107
- readonly dataCorruptionError: "dataCorruptionError";
108
- readonly dataProcessingError: "dataProcessingError";
109
- readonly usageError: "usageError";
110
- };
111
-
112
- // @alpha
113
- export type ContainerErrorTypes = (typeof ContainerErrorTypes)[keyof typeof ContainerErrorTypes];
114
-
115
96
  // @public
116
97
  export interface ContainerSchema {
117
- readonly dynamicObjectTypes?: readonly LoadableObjectClass[];
118
- readonly initialObjects: LoadableObjectClassRecord;
98
+ readonly dynamicObjectTypes?: readonly SharedObjectKind[];
99
+ readonly initialObjects: Record<string, SharedObjectKind>;
119
100
  }
120
101
 
121
102
  // @public
122
- export type DataObjectClass<T extends IFluidLoadable = IFluidLoadable> = {
123
- readonly factory: {
124
- readonly IFluidDataStoreFactory: DataObjectClass<T>["factory"];
125
- };
126
- } & (new (...args: any[]) => T);
103
+ export interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
104
+ }
127
105
 
128
106
  // @alpha (undocumented)
129
107
  export type DeserializeCallback = (properties: PropertySet) => void;
130
108
 
131
- // @alpha @sealed
132
- export class DirectoryFactory implements IChannelFactory<ISharedDirectory> {
133
- static readonly Attributes: IChannelAttributes;
134
- get attributes(): IChannelAttributes;
135
- create(runtime: IFluidDataStoreRuntime, id: string): ISharedDirectory;
136
- load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, attributes: IChannelAttributes): Promise<ISharedDirectory>;
137
- static readonly Type = "https://graph.microsoft.com/types/directory";
138
- get type(): string;
139
- }
140
-
141
109
  // @public
142
110
  export const disposeSymbol: unique symbol;
143
111
 
144
- // @public
145
- export const DriverErrorTypes: {
146
- readonly genericNetworkError: "genericNetworkError";
147
- readonly authorizationError: "authorizationError";
148
- readonly fileNotFoundOrAccessDeniedError: "fileNotFoundOrAccessDeniedError";
149
- readonly offlineError: "offlineError";
150
- readonly unsupportedClientProtocolVersion: "unsupportedClientProtocolVersion";
151
- readonly writeError: "writeError";
152
- readonly fetchFailure: "fetchFailure";
153
- readonly fetchTokenError: "fetchTokenError";
154
- readonly incorrectServerResponse: "incorrectServerResponse";
155
- readonly fileOverwrittenInStorage: "fileOverwrittenInStorage";
156
- readonly deltaStreamConnectionForbidden: "deltaStreamConnectionForbidden";
157
- readonly locationRedirection: "locationRedirection";
158
- readonly fluidInvalidSchema: "fluidInvalidSchema";
159
- readonly fileIsLocked: "fileIsLocked";
160
- readonly outOfStorageError: "outOfStorageError";
161
- readonly genericError: "genericError";
162
- readonly throttlingError: "throttlingError";
163
- readonly usageError: "usageError";
164
- };
165
-
166
- // @public
167
- export type DriverErrorTypes = (typeof DriverErrorTypes)[keyof typeof DriverErrorTypes];
168
-
169
112
  // @public
170
113
  export type Events<E> = {
171
114
  [P in (string | symbol) & keyof E as IsEvent<E[P]> extends true ? P : never]: E[P];
@@ -183,6 +126,7 @@ export enum FieldKind {
183
126
 
184
127
  // @public
185
128
  export interface FieldProps {
129
+ readonly defaultProvider?: DefaultProvider;
186
130
  readonly key?: string;
187
131
  }
188
132
 
@@ -256,7 +200,7 @@ export interface IFluidContainer<TContainerSchema extends ContainerSchema = Cont
256
200
  readonly attachState: AttachState;
257
201
  connect(): void;
258
202
  readonly connectionState: ConnectionStateType;
259
- create<T extends IFluidLoadable>(objectClass: LoadableObjectClass<T>): Promise<T>;
203
+ create<T extends IFluidLoadable>(objectClass: SharedObjectKind<T>): Promise<T>;
260
204
  disconnect(): void;
261
205
  dispose(): void;
262
206
  readonly disposed: boolean;
@@ -349,7 +293,7 @@ export type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
349
293
 
350
294
  // @public
351
295
  export type InitialObjects<T extends ContainerSchema> = {
352
- [K in keyof T["initialObjects"]]: T["initialObjects"][K] extends LoadableObjectClass<infer TChannel> ? TChannel : never;
296
+ [K in keyof T["initialObjects"]]: T["initialObjects"][K] extends SharedObjectKind<infer TChannel> ? TChannel : never;
353
297
  };
354
298
 
355
299
  // @public
@@ -363,10 +307,10 @@ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<Restrict
363
307
  };
364
308
 
365
309
  // @public
366
- export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
310
+ export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
367
311
 
368
312
  // @public
369
- export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>;
313
+ export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>;
370
314
 
371
315
  // @public
372
316
  export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? InsertableTypedNode<TSchema> : TSchema extends AllowedTypes ? InsertableTypedNode<FlexListToUnion<TSchema>> : never;
@@ -417,7 +361,7 @@ export type IntervalStickiness = (typeof IntervalStickiness)[keyof typeof Interv
417
361
  export enum IntervalType {
418
362
  // (undocumented)
419
363
  Simple = 0,
420
- SlideOnRemove = 2,
364
+ SlideOnRemove = 2,// SlideOnRemove is default behavior - all intervals are SlideOnRemove
421
365
  // @internal
422
366
  Transient = 4
423
367
  }
@@ -509,6 +453,57 @@ export interface ISharedMapEvents extends ISharedObjectEvents {
509
453
  (event: "clear", listener: (local: boolean, target: IEventThisPlaceHolder) => void): any;
510
454
  }
511
455
 
456
+ // @alpha
457
+ export interface ISharedObject<TEvent extends ISharedObjectEvents = ISharedObjectEvents> extends IChannel, IEventProvider<TEvent> {
458
+ bindToContext(): void;
459
+ getGCData(fullGC?: boolean): IGarbageCollectionData;
460
+ }
461
+
462
+ // @alpha
463
+ export interface ISharedObjectEvents extends IErrorEvent {
464
+ // @eventProperty
465
+ (event: "pre-op", listener: (op: ISequencedDocumentMessage, local: boolean, target: IEventThisPlaceHolder) => void): any;
466
+ // @eventProperty
467
+ (event: "op", listener: (op: ISequencedDocumentMessage, local: boolean, target: IEventThisPlaceHolder) => void): any;
468
+ }
469
+
470
+ // @alpha (undocumented)
471
+ export interface ISharedSegmentSequence<T extends ISegment> extends ISharedObject<ISharedSegmentSequenceEvents>, ISharedIntervalCollection<SequenceInterval>, MergeTreeRevertibleDriver {
472
+ annotateRange(start: number, end: number, props: PropertySet): void;
473
+ createLocalReferencePosition(segment: T, offset: number, refType: ReferenceType, properties: PropertySet | undefined, slidingPreference?: SlidingPreference, canSlideToEndpoint?: boolean): LocalReferencePosition;
474
+ getContainingSegment(pos: number): {
475
+ segment: T | undefined;
476
+ offset: number | undefined;
477
+ };
478
+ // (undocumented)
479
+ getCurrentSeq(): number;
480
+ getIntervalCollection(label: string): IIntervalCollection<SequenceInterval>;
481
+ // (undocumented)
482
+ getIntervalCollectionLabels(): IterableIterator<string>;
483
+ getLength(): number;
484
+ getPosition(segment: ISegment): number;
485
+ // (undocumented)
486
+ getPropertiesAtPosition(pos: number): PropertySet | undefined;
487
+ // (undocumented)
488
+ getRangeExtentsOfPosition(pos: number): {
489
+ posStart: number | undefined;
490
+ posAfterEnd: number | undefined;
491
+ };
492
+ // @deprecated (undocumented)
493
+ groupOperation(groupOp: IMergeTreeGroupMsg): void;
494
+ initializeLocal(): void;
495
+ insertAtReferencePosition(pos: ReferencePosition, segment: T): void;
496
+ insertFromSpec(pos: number, spec: IJSONSegment): void;
497
+ localReferencePositionToPosition(lref: ReferencePosition): number;
498
+ obliterateRange(start: number, end: number): void;
499
+ posFromRelativePos(relativePos: IRelativePosition): number;
500
+ removeLocalReferencePosition(lref: LocalReferencePosition): LocalReferencePosition | undefined;
501
+ // (undocumented)
502
+ removeRange(start: number, end: number): void;
503
+ resolveRemoteClientPosition(remoteClientPosition: number, remoteClientRefSeq: number, remoteClientId: string): number | undefined;
504
+ walkSegments<TClientData>(handler: ISegmentAction<TClientData>, start?: number, end?: number, accum?: TClientData, splitRange?: boolean): void;
505
+ }
506
+
512
507
  // @alpha
513
508
  export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
514
509
  // (undocumented)
@@ -520,7 +515,7 @@ export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
520
515
  }
521
516
 
522
517
  // @alpha
523
- export interface ISharedString extends SharedSegmentSequence<SharedStringSegment> {
518
+ export interface ISharedString extends ISharedSegmentSequence<SharedStringSegment> {
524
519
  annotateMarker(marker: Marker, props: PropertySet): void;
525
520
  getMarkerFromId(id: string): ISegment | undefined;
526
521
  getText(start?: number, end?: number): string;
@@ -547,10 +542,15 @@ export class IterableTreeArrayContent<T> implements Iterable<T> {
547
542
  }
548
543
 
549
544
  // @public
550
- export interface ITree extends IChannel {
545
+ export interface ITree extends IFluidLoadable {
551
546
  schematize<TRoot extends ImplicitFieldSchema>(config: TreeConfiguration<TRoot>): TreeView<TRoot>;
552
547
  }
553
548
 
549
+ // @public
550
+ export interface ITreeConfigurationOptions {
551
+ enableSchemaValidation?: boolean;
552
+ }
553
+
554
554
  // @alpha @sealed
555
555
  export interface IValueChanged {
556
556
  readonly key: string;
@@ -560,26 +560,10 @@ export interface IValueChanged {
560
560
  // @public
561
561
  export type LazyItem<Item = unknown> = Item | (() => Item);
562
562
 
563
- // @public
564
- export type LoadableObjectClass<T extends IFluidLoadable = IFluidLoadable> = ISharedObjectKind<T> | DataObjectClass<T>;
565
-
566
- // @public
567
- export type LoadableObjectClassRecord = Record<string, LoadableObjectClass>;
568
-
569
563
  // @public
570
564
  export interface MakeNominal {
571
565
  }
572
566
 
573
- // @alpha @sealed
574
- export class MapFactory implements IChannelFactory<ISharedMap> {
575
- static readonly Attributes: IChannelAttributes;
576
- get attributes(): IChannelAttributes;
577
- create(runtime: IFluidDataStoreRuntime, id: string): ISharedMap;
578
- load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, attributes: IChannelAttributes): Promise<ISharedMap>;
579
- static readonly Type = "https://graph.microsoft.com/types/map";
580
- get type(): string;
581
- }
582
-
583
567
  // @public
584
568
  export type MemberChangedListener<M extends IMember> = (clientId: string, member: M) => void;
585
569
 
@@ -677,8 +661,8 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
677
661
  [Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
678
662
  }, false, T>;
679
663
  readonly boolean: TreeNodeSchema<"com.fluidframework.leaf.boolean", NodeKind.Leaf, boolean, boolean>;
680
- readonly handle: TreeNodeSchema<"com.fluidframework.leaf.handle", NodeKind.Leaf, IFluidHandle<FluidObject & IFluidLoadable>, IFluidHandle<FluidObject & IFluidLoadable>>;
681
- get identifier(): FieldSchema<FieldKind.Identifier>;
664
+ readonly handle: TreeNodeSchema<"com.fluidframework.leaf.handle", NodeKind.Leaf, IFluidHandle<unknown>, IFluidHandle<unknown>>;
665
+ get identifier(): FieldSchema<FieldKind.Identifier, typeof SchemaFactory.string>;
682
666
  map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchema<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, true, T>;
683
667
  map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, true, T>;
684
668
  mapRecursive<Name extends TName, const T extends Unenforced<ImplicitAllowedTypes>>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>>, {
@@ -691,10 +675,10 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
691
675
  readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf, number, number>;
692
676
  object<const Name extends TName, const T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>(name: Name, fields: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
693
677
  objectRecursive<const Name extends TName, const T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
694
- optional<const T extends ImplicitAllowedTypes>(t: T, props?: FieldProps): FieldSchema<FieldKind.Optional, T>;
695
- optionalRecursive<const T extends Unenforced<ImplicitAllowedTypes>>(t: T, props?: FieldProps): FieldSchemaUnsafe<FieldKind.Optional, T>;
696
- required<const T extends ImplicitAllowedTypes>(t: T, props?: FieldProps): FieldSchema<FieldKind.Required, T>;
697
- requiredRecursive<const T extends Unenforced<ImplicitAllowedTypes>>(t: T, props?: FieldProps): FieldSchemaUnsafe<FieldKind.Required, T>;
678
+ optional<const T extends ImplicitAllowedTypes>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchema<FieldKind.Optional, T>;
679
+ optionalRecursive<const T extends Unenforced<ImplicitAllowedTypes>>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchemaUnsafe<FieldKind.Optional, T>;
680
+ required<const T extends ImplicitAllowedTypes>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchema<FieldKind.Required, T>;
681
+ requiredRecursive<const T extends Unenforced<ImplicitAllowedTypes>>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchemaUnsafe<FieldKind.Required, T>;
698
682
  // (undocumented)
699
683
  readonly scope: TScope;
700
684
  readonly string: TreeNodeSchema<"com.fluidframework.leaf.string", NodeKind.Leaf, string, string>;
@@ -778,77 +762,23 @@ export class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenance
778
762
  export type SequencePlace = number | "start" | "end" | InteriorSequencePlace;
779
763
 
780
764
  // @alpha
781
- export const SharedDirectory: ISharedObjectKind<ISharedDirectory>;
765
+ export const SharedDirectory: ISharedObjectKind<ISharedDirectory> & SharedObjectKind_2<ISharedDirectory>;
782
766
 
783
767
  // @alpha @deprecated
784
768
  export type SharedDirectory = ISharedDirectory;
785
769
 
786
770
  // @alpha
787
- export const SharedMap: ISharedObjectKind<ISharedMap>;
771
+ export const SharedMap: ISharedObjectKind<ISharedMap> & SharedObjectKind_2<ISharedMap>;
788
772
 
789
773
  // @alpha
790
774
  export type SharedMap = ISharedMap;
791
775
 
792
- // @alpha (undocumented)
793
- export abstract class SharedSegmentSequence<T extends ISegment> extends SharedObject<ISharedSegmentSequenceEvents> implements ISharedIntervalCollection<SequenceInterval>, MergeTreeRevertibleDriver {
794
- constructor(dataStoreRuntime: IFluidDataStoreRuntime, id: string, attributes: IChannelAttributes, segmentFromSpec: (spec: IJSONSegment) => ISegment);
795
- annotateRange(start: number, end: number, props: PropertySet): void;
796
- protected applyStashedOp(content: any): void;
797
- // (undocumented)
798
- protected client: Client;
799
- createLocalReferencePosition(segment: T, offset: number, refType: ReferenceType, properties: PropertySet | undefined, slidingPreference?: SlidingPreference, canSlideToEndpoint?: boolean): LocalReferencePosition;
800
- protected didAttach(): void;
801
- getContainingSegment(pos: number): {
802
- segment: T | undefined;
803
- offset: number | undefined;
804
- };
805
- // (undocumented)
806
- getCurrentSeq(): number;
807
- getIntervalCollection(label: string): IIntervalCollection<SequenceInterval>;
808
- // (undocumented)
809
- getIntervalCollectionLabels(): IterableIterator<string>;
810
- getLength(): number;
811
- getPosition(segment: ISegment): number;
812
- // (undocumented)
813
- getPropertiesAtPosition(pos: number): PropertySet | undefined;
814
- // (undocumented)
815
- getRangeExtentsOfPosition(pos: number): {
816
- posStart: number | undefined;
817
- posAfterEnd: number | undefined;
818
- };
819
- // @deprecated (undocumented)
820
- groupOperation(groupOp: IMergeTreeGroupMsg): void;
821
- protected guardReentrancy: <TRet>(callback: () => TRet) => TRet;
822
- // (undocumented)
823
- id: string;
824
- protected initializeLocalCore(): void;
825
- insertAtReferencePosition(pos: ReferencePosition, segment: T): void;
826
- insertFromSpec(pos: number, spec: IJSONSegment): void;
827
- protected loadCore(storage: IChannelStorageService): Promise<void>;
828
- // (undocumented)
829
- get loaded(): Promise<void>;
830
- protected loadedDeferred: Deferred<void>;
831
- localReferencePositionToPosition(lref: ReferencePosition): number;
832
- obliterateRange(start: number, end: number): void;
833
- protected onConnect(): void;
834
- protected onDisconnect(): void;
835
- posFromRelativePos(relativePos: IRelativePosition): number;
836
- protected processCore(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;
837
- protected processGCDataCore(serializer: IFluidSerializer): void;
838
- removeLocalReferencePosition(lref: LocalReferencePosition): LocalReferencePosition | undefined;
839
- // (undocumented)
840
- removeRange(start: number, end: number): void;
841
- protected replaceRange(start: number, end: number, segment: ISegment): void;
842
- resolveRemoteClientPosition(remoteClientPosition: number, remoteClientRefSeq: number, remoteClientId: string): number | undefined;
843
- protected reSubmitCore(content: any, localOpMetadata: unknown): void;
844
- // (undocumented)
845
- readonly segmentFromSpec: (spec: IJSONSegment) => ISegment;
846
- protected summarizeCore(serializer: IFluidSerializer, telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;
847
- walkSegments<TClientData>(handler: ISegmentAction<TClientData>, start?: number, end?: number, accum?: TClientData, splitRange?: boolean): void;
776
+ // @public
777
+ export interface SharedObjectKind<out TSharedObject = unknown> extends ErasedType<readonly ["SharedObjectKind", TSharedObject]> {
848
778
  }
849
779
 
850
780
  // @alpha
851
- export const SharedString: ISharedObjectKind<ISharedString>;
781
+ export const SharedString: ISharedObjectKind<ISharedString> & SharedObjectKind_2<ISharedString>;
852
782
 
853
783
  // @alpha
854
784
  export type SharedString = ISharedString;
@@ -857,7 +787,7 @@ export type SharedString = ISharedString;
857
787
  export type SharedStringSegment = TextSegment | Marker;
858
788
 
859
789
  // @public
860
- export const SharedTree: ISharedObjectKind<ITree>;
790
+ export const SharedTree: SharedObjectKind<ITree>;
861
791
 
862
792
  // @alpha
863
793
  export enum Side {
@@ -921,18 +851,19 @@ export interface TreeChangeEvents {
921
851
 
922
852
  // @public
923
853
  export class TreeConfiguration<TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> {
924
- constructor(schema: TSchema, initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>);
854
+ constructor(schema: TSchema, initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>, options?: ITreeConfigurationOptions);
925
855
  // (undocumented)
926
856
  readonly initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>;
857
+ readonly options: Required<ITreeConfigurationOptions>;
927
858
  // (undocumented)
928
859
  readonly schema: TSchema;
929
860
  }
930
861
 
931
862
  // @public
932
- export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
863
+ export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
933
864
 
934
865
  // @public
935
- export type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
866
+ export type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
936
867
 
937
868
  // @public
938
869
  export type TreeLeafValue = number | string | boolean | IFluidHandle | null;
@@ -940,7 +871,11 @@ export type TreeLeafValue = number | string | boolean | IFluidHandle | null;
940
871
  // @public
941
872
  export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends ReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>, TreeNode {
942
873
  delete(key: string): void;
874
+ entries(): IterableIterator<[string, TreeNodeFromImplicitAllowedTypes<T>]>;
875
+ forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypes<T>, key: string, map: ReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>) => void, thisArg?: any): void;
876
+ keys(): IterableIterator<string>;
943
877
  set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypes<T> | undefined): void;
878
+ values(): IterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
944
879
  }
945
880
 
946
881
  // @public
@@ -957,7 +892,7 @@ export abstract class TreeNode implements WithType {
957
892
 
958
893
  // @public
959
894
  export interface TreeNodeApi {
960
- is<TSchema extends TreeNodeSchema>(value: unknown, schema: TSchema): value is NodeFromSchema<TSchema>;
895
+ is<TSchema extends ImplicitAllowedTypes>(value: unknown, schema: TSchema): value is TreeNodeFromImplicitAllowedTypes<TSchema>;
961
896
  key(node: TreeNode): string | number;
962
897
  on<K extends keyof TreeChangeEvents>(node: TreeNode, eventName: K, listener: TreeChangeEvents[K]): () => void;
963
898
  parent(node: TreeNode): TreeNode | undefined;
package/dist/index.d.ts CHANGED
@@ -11,13 +11,26 @@
11
11
  export type { ConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types
12
12
  ICriticalContainerError, } from "@fluidframework/container-definitions";
13
13
  export { AttachState } from "@fluidframework/container-definitions";
14
- export { DriverErrorTypes } from "@fluidframework/driver-definitions";
15
14
  export { ConnectionState } from "@fluidframework/container-loader";
16
- export type { ContainerAttachProps, ContainerSchema, DataObjectClass, IConnection, IFluidContainer, IFluidContainerEvents, IMember, InitialObjects, IServiceAudience, IServiceAudienceEvents, LoadableObjectClass, LoadableObjectClassRecord, MemberChangedListener, Myself, } from "@fluidframework/fluid-static";
15
+ export type { ContainerAttachProps, ContainerSchema, IConnection, IFluidContainer, IFluidContainerEvents, IMember, InitialObjects, IServiceAudience, IServiceAudienceEvents, MemberChangedListener, Myself, } from "@fluidframework/fluid-static";
16
+ export type { SharedObjectKind } from "@fluidframework/shared-object-base";
17
17
  export * from "@fluidframework/tree";
18
- export { ContainerErrorTypes } from "@fluidframework/container-definitions/internal";
18
+ import type { SharedObjectKind } from "@fluidframework/shared-object-base";
19
+ import type { ITree } from "@fluidframework/tree";
20
+ /**
21
+ * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees
22
+ * of objects, arrays, and other data types.
23
+ * @privateRemarks
24
+ * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
25
+ * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.
26
+ * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.
27
+ * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.
28
+ * @public
29
+ */
30
+ export declare const SharedTree: SharedObjectKind<ITree>;
19
31
  export type { IDirectory, IDirectoryEvents, IDirectoryValueChanged, ISharedDirectory, ISharedDirectoryEvents, ISharedMap, ISharedMapEvents, IValueChanged, } from "@fluidframework/map/internal";
20
- export { DirectoryFactory, MapFactory, SharedDirectory, SharedMap, } from "@fluidframework/map/internal";
21
- export type { DeserializeCallback, InteriorSequencePlace, IInterval, IIntervalCollectionEvent, IIntervalCollection, IntervalIndex, IntervalStickiness, ISequenceDeltaRange, ISerializableInterval, ISerializedInterval, ISharedIntervalCollection, ISharedSegmentSequenceEvents, ISharedString, SequencePlace, SharedStringSegment, Side, } from "@fluidframework/sequence/internal";
22
- export { IntervalType, SequenceDeltaEvent, SequenceEvent, SequenceInterval, SequenceMaintenanceEvent, SharedSegmentSequence, SharedString, } from "@fluidframework/sequence/internal";
32
+ export { SharedDirectory, SharedMap } from "@fluidframework/map/internal";
33
+ export type { DeserializeCallback, InteriorSequencePlace, IInterval, IIntervalCollectionEvent, IIntervalCollection, IntervalIndex, IntervalStickiness, ISequenceDeltaRange, ISerializableInterval, ISerializedInterval, ISharedIntervalCollection, ISharedSegmentSequenceEvents, ISharedString, SequencePlace, SharedStringSegment, Side, ISharedSegmentSequence, } from "@fluidframework/sequence/internal";
34
+ export { IntervalType, SequenceDeltaEvent, SequenceEvent, SequenceInterval, SequenceMaintenanceEvent, SharedString, } from "@fluidframework/sequence/internal";
35
+ export type { ISharedObject, ISharedObjectEvents, } from "@fluidframework/shared-object-base/internal";
23
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,YAAY,EACX,eAAe,IAAI,mBAAmB,EAAE,0CAA0C;AAClF,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,MAAM,GACN,MAAM,8BAA8B,CAAC;AAOtC,cAAc,sBAAsB,CAAC;AAKrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAErF,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACN,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,SAAS,GACT,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,IAAI,GACJ,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,GACZ,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAMH,YAAY,EACX,eAAe,IAAI,mBAAmB,EAAE,0CAA0C;AAClF,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,GACN,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAO3E,cAAc,sBAAsB,CAAC;AAQrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;;;;;;;;GASG;AAGH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAsB,CAAC;AAQtE,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE1E,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,IAAI,EACJ,sBAAsB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACZ,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACX,aAAa,EACb,mBAAmB,GACnB,MAAM,6CAA6C,CAAC"}
package/dist/index.js CHANGED
@@ -18,26 +18,32 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
18
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.SharedString = exports.SharedSegmentSequence = exports.SequenceMaintenanceEvent = exports.SequenceInterval = exports.SequenceEvent = exports.SequenceDeltaEvent = exports.IntervalType = exports.SharedMap = exports.SharedDirectory = exports.MapFactory = exports.DirectoryFactory = exports.ContainerErrorTypes = exports.ConnectionState = exports.DriverErrorTypes = exports.AttachState = void 0;
21
+ exports.SharedString = exports.SequenceMaintenanceEvent = exports.SequenceInterval = exports.SequenceEvent = exports.SequenceDeltaEvent = exports.IntervalType = exports.SharedMap = exports.SharedDirectory = exports.SharedTree = exports.ConnectionState = exports.AttachState = void 0;
22
22
  var container_definitions_1 = require("@fluidframework/container-definitions");
23
23
  Object.defineProperty(exports, "AttachState", { enumerable: true, get: function () { return container_definitions_1.AttachState; } });
24
- var driver_definitions_1 = require("@fluidframework/driver-definitions");
25
- Object.defineProperty(exports, "DriverErrorTypes", { enumerable: true, get: function () { return driver_definitions_1.DriverErrorTypes; } });
26
24
  var container_loader_1 = require("@fluidframework/container-loader");
27
25
  Object.defineProperty(exports, "ConnectionState", { enumerable: true, get: function () { return container_loader_1.ConnectionState; } });
28
26
  // Let the tree package manage its own API surface, we will simply reflect it here.
29
27
  // Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are
30
28
  // desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree
31
29
  // alpha` to surface everything `@alpha` and higher).
32
- // eslint-disable-next-line no-restricted-syntax
30
+ // eslint-disable-next-line no-restricted-syntax, import/export
33
31
  __exportStar(require("@fluidframework/tree"), exports);
34
- // ===============================================================
35
- // Legacy exports
36
- var internal_1 = require("@fluidframework/container-definitions/internal");
37
- Object.defineProperty(exports, "ContainerErrorTypes", { enumerable: true, get: function () { return internal_1.ContainerErrorTypes; } });
32
+ const internal_1 = require("@fluidframework/tree/internal");
33
+ /**
34
+ * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees
35
+ * of objects, arrays, and other data types.
36
+ * @privateRemarks
37
+ * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
38
+ * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.
39
+ * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.
40
+ * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.
41
+ * @public
42
+ */
43
+ // Remove this and above lint disable after using @fluidframework/eslint-config-fluid ^5.3.0
44
+ // eslint-disable-next-line import/export
45
+ exports.SharedTree = internal_1.SharedTree;
38
46
  var internal_2 = require("@fluidframework/map/internal");
39
- Object.defineProperty(exports, "DirectoryFactory", { enumerable: true, get: function () { return internal_2.DirectoryFactory; } });
40
- Object.defineProperty(exports, "MapFactory", { enumerable: true, get: function () { return internal_2.MapFactory; } });
41
47
  Object.defineProperty(exports, "SharedDirectory", { enumerable: true, get: function () { return internal_2.SharedDirectory; } });
42
48
  Object.defineProperty(exports, "SharedMap", { enumerable: true, get: function () { return internal_2.SharedMap; } });
43
49
  var internal_3 = require("@fluidframework/sequence/internal");
@@ -46,6 +52,6 @@ Object.defineProperty(exports, "SequenceDeltaEvent", { enumerable: true, get: fu
46
52
  Object.defineProperty(exports, "SequenceEvent", { enumerable: true, get: function () { return internal_3.SequenceEvent; } });
47
53
  Object.defineProperty(exports, "SequenceInterval", { enumerable: true, get: function () { return internal_3.SequenceInterval; } });
48
54
  Object.defineProperty(exports, "SequenceMaintenanceEvent", { enumerable: true, get: function () { return internal_3.SequenceMaintenanceEvent; } });
49
- Object.defineProperty(exports, "SharedSegmentSequence", { enumerable: true, get: function () { return internal_3.SharedSegmentSequence; } });
50
55
  Object.defineProperty(exports, "SharedString", { enumerable: true, get: function () { return internal_3.SharedString; } });
56
+ // #endregion Legacy exports
51
57
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAaH,+EAAoE;AAA3D,oHAAA,WAAW,OAAA;AACpB,yEAAsE;AAA7D,sHAAA,gBAAgB,OAAA;AACzB,qEAAmE;AAA1D,mHAAA,eAAe,OAAA;AAkBxB,mFAAmF;AACnF,gHAAgH;AAChH,gHAAgH;AAChH,qDAAqD;AACrD,gDAAgD;AAChD,uDAAqC;AAErC,kEAAkE;AAClE,iBAAiB;AAEjB,2EAAqF;AAA5E,+GAAA,mBAAmB,OAAA;AAa5B,yDAKsC;AAJrC,4GAAA,gBAAgB,OAAA;AAChB,sGAAA,UAAU,OAAA;AACV,2GAAA,eAAe,OAAA;AACf,qGAAA,SAAS,OAAA;AAsBV,8DAQ2C;AAP1C,wGAAA,YAAY,OAAA;AACZ,8GAAA,kBAAkB,OAAA;AAClB,yGAAA,aAAa,OAAA;AACb,4GAAA,gBAAgB,OAAA;AAChB,oHAAA,wBAAwB,OAAA;AACxB,iHAAA,qBAAqB,OAAA;AACrB,wGAAA,YAAY,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Bundles a collection of Fluid Framework client libraries for easy use when paired with a corresponding service client\n * package (e.g. `@fluidframework/azure-client`, `@fluidframework/tinylicious-client`, or `@fluid-experimental/osdp-client (BETA)`).\n *\n * @packageDocumentation\n */\n\nexport type {\n\tConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types\n\tICriticalContainerError,\n} from \"@fluidframework/container-definitions\";\nexport { AttachState } from \"@fluidframework/container-definitions\";\nexport { DriverErrorTypes } from \"@fluidframework/driver-definitions\";\nexport { ConnectionState } from \"@fluidframework/container-loader\";\nexport type {\n\tContainerAttachProps,\n\tContainerSchema,\n\tDataObjectClass,\n\tIConnection,\n\tIFluidContainer,\n\tIFluidContainerEvents,\n\tIMember,\n\tInitialObjects,\n\tIServiceAudience,\n\tIServiceAudienceEvents,\n\tLoadableObjectClass,\n\tLoadableObjectClassRecord,\n\tMemberChangedListener,\n\tMyself,\n} from \"@fluidframework/fluid-static\";\n\n// Let the tree package manage its own API surface, we will simply reflect it here.\n// Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are\n// desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree\n// alpha` to surface everything `@alpha` and higher).\n// eslint-disable-next-line no-restricted-syntax\nexport * from \"@fluidframework/tree\";\n\n// ===============================================================\n// Legacy exports\n\nexport { ContainerErrorTypes } from \"@fluidframework/container-definitions/internal\";\n\nexport type {\n\tIDirectory,\n\tIDirectoryEvents,\n\tIDirectoryValueChanged,\n\tISharedDirectory,\n\tISharedDirectoryEvents,\n\tISharedMap,\n\tISharedMapEvents,\n\tIValueChanged,\n} from \"@fluidframework/map/internal\";\n\nexport {\n\tDirectoryFactory,\n\tMapFactory,\n\tSharedDirectory,\n\tSharedMap,\n} from \"@fluidframework/map/internal\";\n\nexport type {\n\tDeserializeCallback,\n\tInteriorSequencePlace,\n\tIInterval,\n\tIIntervalCollectionEvent,\n\tIIntervalCollection,\n\tIntervalIndex,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializableInterval,\n\tISerializedInterval,\n\tISharedIntervalCollection,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n} from \"@fluidframework/sequence/internal\";\n\nexport {\n\tIntervalType,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceInterval,\n\tSequenceMaintenanceEvent,\n\tSharedSegmentSequence,\n\tSharedString,\n} from \"@fluidframework/sequence/internal\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAiBH,+EAAoE;AAA3D,oHAAA,WAAW,OAAA;AACpB,qEAAmE;AAA1D,mHAAA,eAAe,OAAA;AAgBxB,mFAAmF;AACnF,gHAAgH;AAChH,gHAAgH;AAChH,qDAAqD;AACrD,+DAA+D;AAC/D,uDAAqC;AAUrC,4DAAiF;AAEjF;;;;;;;;;GASG;AACH,4FAA4F;AAC5F,yCAAyC;AAC5B,QAAA,UAAU,GAA4B,qBAAkB,CAAC;AAmBtE,yDAA0E;AAAjE,2GAAA,eAAe,OAAA;AAAE,qGAAA,SAAS,OAAA;AAsBnC,8DAO2C;AAN1C,wGAAA,YAAY,OAAA;AACZ,8GAAA,kBAAkB,OAAA;AAClB,yGAAA,aAAa,OAAA;AACb,4GAAA,gBAAgB,OAAA;AAChB,oHAAA,wBAAwB,OAAA;AACxB,wGAAA,YAAY,OAAA;AAQb,4BAA4B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Bundles a collection of Fluid Framework client libraries for easy use when paired with a corresponding service client\n * package (e.g. `@fluidframework/azure-client`, `@fluidframework/tinylicious-client`, or `@fluid-experimental/osdp-client (BETA)`).\n *\n * @packageDocumentation\n */\n\n// ===============================================================\n// #region Public exports\n// #region Basic re-exports\n\nexport type {\n\tConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types\n\tICriticalContainerError,\n} from \"@fluidframework/container-definitions\";\nexport { AttachState } from \"@fluidframework/container-definitions\";\nexport { ConnectionState } from \"@fluidframework/container-loader\";\nexport type {\n\tContainerAttachProps,\n\tContainerSchema,\n\tIConnection,\n\tIFluidContainer,\n\tIFluidContainerEvents,\n\tIMember,\n\tInitialObjects,\n\tIServiceAudience,\n\tIServiceAudienceEvents,\n\tMemberChangedListener,\n\tMyself,\n} from \"@fluidframework/fluid-static\";\nexport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\n\n// Let the tree package manage its own API surface, we will simply reflect it here.\n// Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are\n// desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree\n// alpha` to surface everything `@alpha` and higher).\n// eslint-disable-next-line no-restricted-syntax, import/export\nexport * from \"@fluidframework/tree\";\n\n// End of basic public exports - nothing above this line should\n// depend on an /internal path.\n// #endregion Basic re-exports\n// ---------------------------------------------------------------\n// #region Custom re-exports\n\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport type { ITree } from \"@fluidframework/tree\";\nimport { SharedTree as OriginalSharedTree } from \"@fluidframework/tree/internal\";\n\n/**\n * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees\n * of objects, arrays, and other data types.\n * @privateRemarks\n * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.\n * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.\n * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.\n * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.\n * @public\n */\n// Remove this and above lint disable after using @fluidframework/eslint-config-fluid ^5.3.0\n// eslint-disable-next-line import/export\nexport const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;\n\n// #endregion Custom re-exports\n// #endregion Public exports\n\n// ===============================================================\n// #region Legacy exports\n\nexport type {\n\tIDirectory,\n\tIDirectoryEvents,\n\tIDirectoryValueChanged,\n\tISharedDirectory,\n\tISharedDirectoryEvents,\n\tISharedMap,\n\tISharedMapEvents,\n\tIValueChanged,\n} from \"@fluidframework/map/internal\";\n\nexport { SharedDirectory, SharedMap } from \"@fluidframework/map/internal\";\n\nexport type {\n\tDeserializeCallback,\n\tInteriorSequencePlace,\n\tIInterval,\n\tIIntervalCollectionEvent,\n\tIIntervalCollection,\n\tIntervalIndex,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializableInterval,\n\tISerializedInterval,\n\tISharedIntervalCollection,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n\tISharedSegmentSequence,\n} from \"@fluidframework/sequence/internal\";\n\nexport {\n\tIntervalType,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceInterval,\n\tSequenceMaintenanceEvent,\n\tSharedString,\n} from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tISharedObject,\n\tISharedObjectEvents,\n} from \"@fluidframework/shared-object-base/internal\";\n\n// #endregion Legacy exports\n"]}
package/dist/legacy.d.ts CHANGED
@@ -19,8 +19,7 @@ export {
19
19
  ConnectionStateType,
20
20
  ContainerAttachProps,
21
21
  ContainerSchema,
22
- DataObjectClass,
23
- DriverErrorTypes,
22
+ DefaultProvider,
24
23
  Events,
25
24
  ExtractItemType,
26
25
  FieldKind,
@@ -39,6 +38,7 @@ export {
39
38
  IServiceAudienceEvents,
40
39
  ISubscribable,
41
40
  ITree,
41
+ ITreeConfigurationOptions,
42
42
  ImplicitAllowedTypes,
43
43
  ImplicitFieldSchema,
44
44
  InitialObjects,
@@ -54,8 +54,6 @@ export {
54
54
  IsEvent,
55
55
  IterableTreeArrayContent,
56
56
  LazyItem,
57
- LoadableObjectClass,
58
- LoadableObjectClassRecord,
59
57
  MakeNominal,
60
58
  MemberChangedListener,
61
59
  Myself,
@@ -75,6 +73,7 @@ export {
75
73
  SchemaFactory,
76
74
  SchemaIncompatible,
77
75
  ScopedSchemaName,
76
+ SharedObjectKind,
78
77
  SharedTree,
79
78
  TransactionConstraint,
80
79
  Tree,
@@ -111,9 +110,7 @@ export {
111
110
  type,
112
111
 
113
112
  // @alpha APIs
114
- ContainerErrorTypes,
115
113
  DeserializeCallback,
116
- DirectoryFactory,
117
114
  IDirectory,
118
115
  IDirectoryEvents,
119
116
  IDirectoryValueChanged,
@@ -128,6 +125,9 @@ export {
128
125
  ISharedIntervalCollection,
129
126
  ISharedMap,
130
127
  ISharedMapEvents,
128
+ ISharedObject,
129
+ ISharedObjectEvents,
130
+ ISharedSegmentSequence,
131
131
  ISharedSegmentSequenceEvents,
132
132
  ISharedString,
133
133
  IValueChanged,
@@ -135,7 +135,6 @@ export {
135
135
  IntervalIndex,
136
136
  IntervalStickiness,
137
137
  IntervalType,
138
- MapFactory,
139
138
  SequenceDeltaEvent,
140
139
  SequenceEvent,
141
140
  SequenceInterval,
@@ -143,7 +142,6 @@ export {
143
142
  SequencePlace,
144
143
  SharedDirectory,
145
144
  SharedMap,
146
- SharedSegmentSequence,
147
145
  SharedString,
148
146
  SharedStringSegment,
149
147
  Side
package/dist/public.d.ts CHANGED
@@ -19,8 +19,7 @@ export {
19
19
  ConnectionStateType,
20
20
  ContainerAttachProps,
21
21
  ContainerSchema,
22
- DataObjectClass,
23
- DriverErrorTypes,
22
+ DefaultProvider,
24
23
  Events,
25
24
  ExtractItemType,
26
25
  FieldKind,
@@ -39,6 +38,7 @@ export {
39
38
  IServiceAudienceEvents,
40
39
  ISubscribable,
41
40
  ITree,
41
+ ITreeConfigurationOptions,
42
42
  ImplicitAllowedTypes,
43
43
  ImplicitFieldSchema,
44
44
  InitialObjects,
@@ -54,8 +54,6 @@ export {
54
54
  IsEvent,
55
55
  IterableTreeArrayContent,
56
56
  LazyItem,
57
- LoadableObjectClass,
58
- LoadableObjectClassRecord,
59
57
  MakeNominal,
60
58
  MemberChangedListener,
61
59
  Myself,
@@ -75,6 +73,7 @@ export {
75
73
  SchemaFactory,
76
74
  SchemaIncompatible,
77
75
  ScopedSchemaName,
76
+ SharedObjectKind,
78
77
  SharedTree,
79
78
  TransactionConstraint,
80
79
  Tree,
package/lib/index.d.ts CHANGED
@@ -11,13 +11,26 @@
11
11
  export type { ConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types
12
12
  ICriticalContainerError, } from "@fluidframework/container-definitions";
13
13
  export { AttachState } from "@fluidframework/container-definitions";
14
- export { DriverErrorTypes } from "@fluidframework/driver-definitions";
15
14
  export { ConnectionState } from "@fluidframework/container-loader";
16
- export type { ContainerAttachProps, ContainerSchema, DataObjectClass, IConnection, IFluidContainer, IFluidContainerEvents, IMember, InitialObjects, IServiceAudience, IServiceAudienceEvents, LoadableObjectClass, LoadableObjectClassRecord, MemberChangedListener, Myself, } from "@fluidframework/fluid-static";
15
+ export type { ContainerAttachProps, ContainerSchema, IConnection, IFluidContainer, IFluidContainerEvents, IMember, InitialObjects, IServiceAudience, IServiceAudienceEvents, MemberChangedListener, Myself, } from "@fluidframework/fluid-static";
16
+ export type { SharedObjectKind } from "@fluidframework/shared-object-base";
17
17
  export * from "@fluidframework/tree";
18
- export { ContainerErrorTypes } from "@fluidframework/container-definitions/internal";
18
+ import type { SharedObjectKind } from "@fluidframework/shared-object-base";
19
+ import type { ITree } from "@fluidframework/tree";
20
+ /**
21
+ * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees
22
+ * of objects, arrays, and other data types.
23
+ * @privateRemarks
24
+ * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
25
+ * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.
26
+ * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.
27
+ * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.
28
+ * @public
29
+ */
30
+ export declare const SharedTree: SharedObjectKind<ITree>;
19
31
  export type { IDirectory, IDirectoryEvents, IDirectoryValueChanged, ISharedDirectory, ISharedDirectoryEvents, ISharedMap, ISharedMapEvents, IValueChanged, } from "@fluidframework/map/internal";
20
- export { DirectoryFactory, MapFactory, SharedDirectory, SharedMap, } from "@fluidframework/map/internal";
21
- export type { DeserializeCallback, InteriorSequencePlace, IInterval, IIntervalCollectionEvent, IIntervalCollection, IntervalIndex, IntervalStickiness, ISequenceDeltaRange, ISerializableInterval, ISerializedInterval, ISharedIntervalCollection, ISharedSegmentSequenceEvents, ISharedString, SequencePlace, SharedStringSegment, Side, } from "@fluidframework/sequence/internal";
22
- export { IntervalType, SequenceDeltaEvent, SequenceEvent, SequenceInterval, SequenceMaintenanceEvent, SharedSegmentSequence, SharedString, } from "@fluidframework/sequence/internal";
32
+ export { SharedDirectory, SharedMap } from "@fluidframework/map/internal";
33
+ export type { DeserializeCallback, InteriorSequencePlace, IInterval, IIntervalCollectionEvent, IIntervalCollection, IntervalIndex, IntervalStickiness, ISequenceDeltaRange, ISerializableInterval, ISerializedInterval, ISharedIntervalCollection, ISharedSegmentSequenceEvents, ISharedString, SequencePlace, SharedStringSegment, Side, ISharedSegmentSequence, } from "@fluidframework/sequence/internal";
34
+ export { IntervalType, SequenceDeltaEvent, SequenceEvent, SequenceInterval, SequenceMaintenanceEvent, SharedString, } from "@fluidframework/sequence/internal";
35
+ export type { ISharedObject, ISharedObjectEvents, } from "@fluidframework/shared-object-base/internal";
23
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,YAAY,EACX,eAAe,IAAI,mBAAmB,EAAE,0CAA0C;AAClF,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,MAAM,GACN,MAAM,8BAA8B,CAAC;AAOtC,cAAc,sBAAsB,CAAC;AAKrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAErF,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACN,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,SAAS,GACT,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,IAAI,GACJ,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,GACZ,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAMH,YAAY,EACX,eAAe,IAAI,mBAAmB,EAAE,0CAA0C;AAClF,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,GACN,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAO3E,cAAc,sBAAsB,CAAC;AAQrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;;;;;;;;GASG;AAGH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAsB,CAAC;AAQtE,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE1E,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,IAAI,EACJ,sBAAsB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACZ,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACX,aAAa,EACb,mBAAmB,GACnB,MAAM,6CAA6C,CAAC"}
package/lib/index.js CHANGED
@@ -3,17 +3,28 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
  export { AttachState } from "@fluidframework/container-definitions";
6
- export { DriverErrorTypes } from "@fluidframework/driver-definitions";
7
6
  export { ConnectionState } from "@fluidframework/container-loader";
8
7
  // Let the tree package manage its own API surface, we will simply reflect it here.
9
8
  // Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are
10
9
  // desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree
11
10
  // alpha` to surface everything `@alpha` and higher).
12
- // eslint-disable-next-line no-restricted-syntax
11
+ // eslint-disable-next-line no-restricted-syntax, import/export
13
12
  export * from "@fluidframework/tree";
14
- // ===============================================================
15
- // Legacy exports
16
- export { ContainerErrorTypes } from "@fluidframework/container-definitions/internal";
17
- export { DirectoryFactory, MapFactory, SharedDirectory, SharedMap, } from "@fluidframework/map/internal";
18
- export { IntervalType, SequenceDeltaEvent, SequenceEvent, SequenceInterval, SequenceMaintenanceEvent, SharedSegmentSequence, SharedString, } from "@fluidframework/sequence/internal";
13
+ import { SharedTree as OriginalSharedTree } from "@fluidframework/tree/internal";
14
+ /**
15
+ * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees
16
+ * of objects, arrays, and other data types.
17
+ * @privateRemarks
18
+ * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
19
+ * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.
20
+ * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.
21
+ * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.
22
+ * @public
23
+ */
24
+ // Remove this and above lint disable after using @fluidframework/eslint-config-fluid ^5.3.0
25
+ // eslint-disable-next-line import/export
26
+ export const SharedTree = OriginalSharedTree;
27
+ export { SharedDirectory, SharedMap } from "@fluidframework/map/internal";
28
+ export { IntervalType, SequenceDeltaEvent, SequenceEvent, SequenceInterval, SequenceMaintenanceEvent, SharedString, } from "@fluidframework/sequence/internal";
29
+ // #endregion Legacy exports
19
30
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAkBnE,mFAAmF;AACnF,gHAAgH;AAChH,gHAAgH;AAChH,qDAAqD;AACrD,gDAAgD;AAChD,cAAc,sBAAsB,CAAC;AAErC,kEAAkE;AAClE,iBAAiB;AAEjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAarF,OAAO,EACN,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,SAAS,GACT,MAAM,8BAA8B,CAAC;AAqBtC,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,GACZ,MAAM,mCAAmC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Bundles a collection of Fluid Framework client libraries for easy use when paired with a corresponding service client\n * package (e.g. `@fluidframework/azure-client`, `@fluidframework/tinylicious-client`, or `@fluid-experimental/osdp-client (BETA)`).\n *\n * @packageDocumentation\n */\n\nexport type {\n\tConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types\n\tICriticalContainerError,\n} from \"@fluidframework/container-definitions\";\nexport { AttachState } from \"@fluidframework/container-definitions\";\nexport { DriverErrorTypes } from \"@fluidframework/driver-definitions\";\nexport { ConnectionState } from \"@fluidframework/container-loader\";\nexport type {\n\tContainerAttachProps,\n\tContainerSchema,\n\tDataObjectClass,\n\tIConnection,\n\tIFluidContainer,\n\tIFluidContainerEvents,\n\tIMember,\n\tInitialObjects,\n\tIServiceAudience,\n\tIServiceAudienceEvents,\n\tLoadableObjectClass,\n\tLoadableObjectClassRecord,\n\tMemberChangedListener,\n\tMyself,\n} from \"@fluidframework/fluid-static\";\n\n// Let the tree package manage its own API surface, we will simply reflect it here.\n// Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are\n// desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree\n// alpha` to surface everything `@alpha` and higher).\n// eslint-disable-next-line no-restricted-syntax\nexport * from \"@fluidframework/tree\";\n\n// ===============================================================\n// Legacy exports\n\nexport { ContainerErrorTypes } from \"@fluidframework/container-definitions/internal\";\n\nexport type {\n\tIDirectory,\n\tIDirectoryEvents,\n\tIDirectoryValueChanged,\n\tISharedDirectory,\n\tISharedDirectoryEvents,\n\tISharedMap,\n\tISharedMapEvents,\n\tIValueChanged,\n} from \"@fluidframework/map/internal\";\n\nexport {\n\tDirectoryFactory,\n\tMapFactory,\n\tSharedDirectory,\n\tSharedMap,\n} from \"@fluidframework/map/internal\";\n\nexport type {\n\tDeserializeCallback,\n\tInteriorSequencePlace,\n\tIInterval,\n\tIIntervalCollectionEvent,\n\tIIntervalCollection,\n\tIntervalIndex,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializableInterval,\n\tISerializedInterval,\n\tISharedIntervalCollection,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n} from \"@fluidframework/sequence/internal\";\n\nexport {\n\tIntervalType,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceInterval,\n\tSequenceMaintenanceEvent,\n\tSharedSegmentSequence,\n\tSharedString,\n} from \"@fluidframework/sequence/internal\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAgBnE,mFAAmF;AACnF,gHAAgH;AAChH,gHAAgH;AAChH,qDAAqD;AACrD,+DAA+D;AAC/D,cAAc,sBAAsB,CAAC;AAUrC,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEjF;;;;;;;;;GASG;AACH,4FAA4F;AAC5F,yCAAyC;AACzC,MAAM,CAAC,MAAM,UAAU,GAA4B,kBAAkB,CAAC;AAmBtE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAsB1E,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACZ,MAAM,mCAAmC,CAAC;AAO3C,4BAA4B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Bundles a collection of Fluid Framework client libraries for easy use when paired with a corresponding service client\n * package (e.g. `@fluidframework/azure-client`, `@fluidframework/tinylicious-client`, or `@fluid-experimental/osdp-client (BETA)`).\n *\n * @packageDocumentation\n */\n\n// ===============================================================\n// #region Public exports\n// #region Basic re-exports\n\nexport type {\n\tConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types\n\tICriticalContainerError,\n} from \"@fluidframework/container-definitions\";\nexport { AttachState } from \"@fluidframework/container-definitions\";\nexport { ConnectionState } from \"@fluidframework/container-loader\";\nexport type {\n\tContainerAttachProps,\n\tContainerSchema,\n\tIConnection,\n\tIFluidContainer,\n\tIFluidContainerEvents,\n\tIMember,\n\tInitialObjects,\n\tIServiceAudience,\n\tIServiceAudienceEvents,\n\tMemberChangedListener,\n\tMyself,\n} from \"@fluidframework/fluid-static\";\nexport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\n\n// Let the tree package manage its own API surface, we will simply reflect it here.\n// Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are\n// desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree\n// alpha` to surface everything `@alpha` and higher).\n// eslint-disable-next-line no-restricted-syntax, import/export\nexport * from \"@fluidframework/tree\";\n\n// End of basic public exports - nothing above this line should\n// depend on an /internal path.\n// #endregion Basic re-exports\n// ---------------------------------------------------------------\n// #region Custom re-exports\n\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport type { ITree } from \"@fluidframework/tree\";\nimport { SharedTree as OriginalSharedTree } from \"@fluidframework/tree/internal\";\n\n/**\n * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees\n * of objects, arrays, and other data types.\n * @privateRemarks\n * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.\n * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.\n * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.\n * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.\n * @public\n */\n// Remove this and above lint disable after using @fluidframework/eslint-config-fluid ^5.3.0\n// eslint-disable-next-line import/export\nexport const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;\n\n// #endregion Custom re-exports\n// #endregion Public exports\n\n// ===============================================================\n// #region Legacy exports\n\nexport type {\n\tIDirectory,\n\tIDirectoryEvents,\n\tIDirectoryValueChanged,\n\tISharedDirectory,\n\tISharedDirectoryEvents,\n\tISharedMap,\n\tISharedMapEvents,\n\tIValueChanged,\n} from \"@fluidframework/map/internal\";\n\nexport { SharedDirectory, SharedMap } from \"@fluidframework/map/internal\";\n\nexport type {\n\tDeserializeCallback,\n\tInteriorSequencePlace,\n\tIInterval,\n\tIIntervalCollectionEvent,\n\tIIntervalCollection,\n\tIntervalIndex,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializableInterval,\n\tISerializedInterval,\n\tISharedIntervalCollection,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n\tISharedSegmentSequence,\n} from \"@fluidframework/sequence/internal\";\n\nexport {\n\tIntervalType,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceInterval,\n\tSequenceMaintenanceEvent,\n\tSharedString,\n} from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tISharedObject,\n\tISharedObjectEvents,\n} from \"@fluidframework/shared-object-base/internal\";\n\n// #endregion Legacy exports\n"]}
package/lib/legacy.d.ts CHANGED
@@ -19,8 +19,7 @@ export {
19
19
  ConnectionStateType,
20
20
  ContainerAttachProps,
21
21
  ContainerSchema,
22
- DataObjectClass,
23
- DriverErrorTypes,
22
+ DefaultProvider,
24
23
  Events,
25
24
  ExtractItemType,
26
25
  FieldKind,
@@ -39,6 +38,7 @@ export {
39
38
  IServiceAudienceEvents,
40
39
  ISubscribable,
41
40
  ITree,
41
+ ITreeConfigurationOptions,
42
42
  ImplicitAllowedTypes,
43
43
  ImplicitFieldSchema,
44
44
  InitialObjects,
@@ -54,8 +54,6 @@ export {
54
54
  IsEvent,
55
55
  IterableTreeArrayContent,
56
56
  LazyItem,
57
- LoadableObjectClass,
58
- LoadableObjectClassRecord,
59
57
  MakeNominal,
60
58
  MemberChangedListener,
61
59
  Myself,
@@ -75,6 +73,7 @@ export {
75
73
  SchemaFactory,
76
74
  SchemaIncompatible,
77
75
  ScopedSchemaName,
76
+ SharedObjectKind,
78
77
  SharedTree,
79
78
  TransactionConstraint,
80
79
  Tree,
@@ -111,9 +110,7 @@ export {
111
110
  type,
112
111
 
113
112
  // @alpha APIs
114
- ContainerErrorTypes,
115
113
  DeserializeCallback,
116
- DirectoryFactory,
117
114
  IDirectory,
118
115
  IDirectoryEvents,
119
116
  IDirectoryValueChanged,
@@ -128,6 +125,9 @@ export {
128
125
  ISharedIntervalCollection,
129
126
  ISharedMap,
130
127
  ISharedMapEvents,
128
+ ISharedObject,
129
+ ISharedObjectEvents,
130
+ ISharedSegmentSequence,
131
131
  ISharedSegmentSequenceEvents,
132
132
  ISharedString,
133
133
  IValueChanged,
@@ -135,7 +135,6 @@ export {
135
135
  IntervalIndex,
136
136
  IntervalStickiness,
137
137
  IntervalType,
138
- MapFactory,
139
138
  SequenceDeltaEvent,
140
139
  SequenceEvent,
141
140
  SequenceInterval,
@@ -143,7 +142,6 @@ export {
143
142
  SequencePlace,
144
143
  SharedDirectory,
145
144
  SharedMap,
146
- SharedSegmentSequence,
147
145
  SharedString,
148
146
  SharedStringSegment,
149
147
  Side
package/lib/public.d.ts CHANGED
@@ -19,8 +19,7 @@ export {
19
19
  ConnectionStateType,
20
20
  ContainerAttachProps,
21
21
  ContainerSchema,
22
- DataObjectClass,
23
- DriverErrorTypes,
22
+ DefaultProvider,
24
23
  Events,
25
24
  ExtractItemType,
26
25
  FieldKind,
@@ -39,6 +38,7 @@ export {
39
38
  IServiceAudienceEvents,
40
39
  ISubscribable,
41
40
  ITree,
41
+ ITreeConfigurationOptions,
42
42
  ImplicitAllowedTypes,
43
43
  ImplicitFieldSchema,
44
44
  InitialObjects,
@@ -54,8 +54,6 @@ export {
54
54
  IsEvent,
55
55
  IterableTreeArrayContent,
56
56
  LazyItem,
57
- LoadableObjectClass,
58
- LoadableObjectClassRecord,
59
57
  MakeNominal,
60
58
  MemberChangedListener,
61
59
  Myself,
@@ -75,6 +73,7 @@ export {
75
73
  SchemaFactory,
76
74
  SchemaIncompatible,
77
75
  ScopedSchemaName,
76
+ SharedObjectKind,
78
77
  SharedTree,
79
78
  TransactionConstraint,
80
79
  Tree,
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.42.3"
8
+ "packageVersion": "7.43.1"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluid-framework",
3
- "version": "2.0.0-dev-rc.4.0.0.261659",
3
+ "version": "2.0.0-dev-rc.5.0.0.265721",
4
4
  "description": "The main entry point into Fluid Framework public packages",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -37,28 +37,29 @@
37
37
  "main": "lib/index.js",
38
38
  "types": "lib/public.d.ts",
39
39
  "dependencies": {
40
- "@fluidframework/container-definitions": "2.0.0-dev-rc.4.0.0.261659",
41
- "@fluidframework/container-loader": "2.0.0-dev-rc.4.0.0.261659",
42
- "@fluidframework/driver-definitions": "2.0.0-dev-rc.4.0.0.261659",
43
- "@fluidframework/fluid-static": "2.0.0-dev-rc.4.0.0.261659",
44
- "@fluidframework/map": "2.0.0-dev-rc.4.0.0.261659",
45
- "@fluidframework/sequence": "2.0.0-dev-rc.4.0.0.261659",
46
- "@fluidframework/tree": "2.0.0-dev-rc.4.0.0.261659"
40
+ "@fluidframework/container-definitions": "2.0.0-dev-rc.5.0.0.265721",
41
+ "@fluidframework/container-loader": "2.0.0-dev-rc.5.0.0.265721",
42
+ "@fluidframework/driver-definitions": "2.0.0-dev-rc.5.0.0.265721",
43
+ "@fluidframework/fluid-static": "2.0.0-dev-rc.5.0.0.265721",
44
+ "@fluidframework/map": "2.0.0-dev-rc.5.0.0.265721",
45
+ "@fluidframework/sequence": "2.0.0-dev-rc.5.0.0.265721",
46
+ "@fluidframework/shared-object-base": "2.0.0-dev-rc.5.0.0.265721",
47
+ "@fluidframework/tree": "2.0.0-dev-rc.5.0.0.265721"
47
48
  },
48
49
  "devDependencies": {
49
50
  "@arethetypeswrong/cli": "^0.15.2",
50
51
  "@biomejs/biome": "^1.6.2",
51
- "@fluid-tools/build-cli": "0.38.0-259537",
52
+ "@fluid-tools/build-cli": "^0.39.0-264124",
52
53
  "@fluidframework/build-common": "^2.0.3",
53
- "@fluidframework/build-tools": "0.38.0-259537",
54
+ "@fluidframework/build-tools": "^0.39.0-264124",
54
55
  "@fluidframework/eslint-config-fluid": "^5.1.0",
55
- "@microsoft/api-extractor": "^7.42.3",
56
+ "@microsoft/api-extractor": "^7.43.1",
56
57
  "@types/node": "^18.19.0",
57
58
  "copyfiles": "^2.4.1",
58
59
  "eslint": "~8.55.0",
59
60
  "prettier": "~3.0.3",
60
61
  "rimraf": "^4.4.0",
61
- "typescript": "~5.1.6"
62
+ "typescript": "~5.3.3"
62
63
  },
63
64
  "fluidBuild": {
64
65
  "tasks": {
package/src/index.ts CHANGED
@@ -10,17 +10,19 @@
10
10
  * @packageDocumentation
11
11
  */
12
12
 
13
+ // ===============================================================
14
+ // #region Public exports
15
+ // #region Basic re-exports
16
+
13
17
  export type {
14
18
  ConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types
15
19
  ICriticalContainerError,
16
20
  } from "@fluidframework/container-definitions";
17
21
  export { AttachState } from "@fluidframework/container-definitions";
18
- export { DriverErrorTypes } from "@fluidframework/driver-definitions";
19
22
  export { ConnectionState } from "@fluidframework/container-loader";
20
23
  export type {
21
24
  ContainerAttachProps,
22
25
  ContainerSchema,
23
- DataObjectClass,
24
26
  IConnection,
25
27
  IFluidContainer,
26
28
  IFluidContainerEvents,
@@ -28,23 +30,47 @@ export type {
28
30
  InitialObjects,
29
31
  IServiceAudience,
30
32
  IServiceAudienceEvents,
31
- LoadableObjectClass,
32
- LoadableObjectClassRecord,
33
33
  MemberChangedListener,
34
34
  Myself,
35
35
  } from "@fluidframework/fluid-static";
36
+ export type { SharedObjectKind } from "@fluidframework/shared-object-base";
36
37
 
37
38
  // Let the tree package manage its own API surface, we will simply reflect it here.
38
39
  // Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are
39
40
  // desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree
40
41
  // alpha` to surface everything `@alpha` and higher).
41
- // eslint-disable-next-line no-restricted-syntax
42
+ // eslint-disable-next-line no-restricted-syntax, import/export
42
43
  export * from "@fluidframework/tree";
43
44
 
44
- // ===============================================================
45
- // Legacy exports
45
+ // End of basic public exports - nothing above this line should
46
+ // depend on an /internal path.
47
+ // #endregion Basic re-exports
48
+ // ---------------------------------------------------------------
49
+ // #region Custom re-exports
50
+
51
+ import type { SharedObjectKind } from "@fluidframework/shared-object-base";
52
+ import type { ITree } from "@fluidframework/tree";
53
+ import { SharedTree as OriginalSharedTree } from "@fluidframework/tree/internal";
54
+
55
+ /**
56
+ * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees
57
+ * of objects, arrays, and other data types.
58
+ * @privateRemarks
59
+ * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
60
+ * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.
61
+ * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.
62
+ * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.
63
+ * @public
64
+ */
65
+ // Remove this and above lint disable after using @fluidframework/eslint-config-fluid ^5.3.0
66
+ // eslint-disable-next-line import/export
67
+ export const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;
46
68
 
47
- export { ContainerErrorTypes } from "@fluidframework/container-definitions/internal";
69
+ // #endregion Custom re-exports
70
+ // #endregion Public exports
71
+
72
+ // ===============================================================
73
+ // #region Legacy exports
48
74
 
49
75
  export type {
50
76
  IDirectory,
@@ -57,12 +83,7 @@ export type {
57
83
  IValueChanged,
58
84
  } from "@fluidframework/map/internal";
59
85
 
60
- export {
61
- DirectoryFactory,
62
- MapFactory,
63
- SharedDirectory,
64
- SharedMap,
65
- } from "@fluidframework/map/internal";
86
+ export { SharedDirectory, SharedMap } from "@fluidframework/map/internal";
66
87
 
67
88
  export type {
68
89
  DeserializeCallback,
@@ -81,6 +102,7 @@ export type {
81
102
  SequencePlace,
82
103
  SharedStringSegment,
83
104
  Side,
105
+ ISharedSegmentSequence,
84
106
  } from "@fluidframework/sequence/internal";
85
107
 
86
108
  export {
@@ -89,6 +111,12 @@ export {
89
111
  SequenceEvent,
90
112
  SequenceInterval,
91
113
  SequenceMaintenanceEvent,
92
- SharedSegmentSequence,
93
114
  SharedString,
94
115
  } from "@fluidframework/sequence/internal";
116
+
117
+ export type {
118
+ ISharedObject,
119
+ ISharedObjectEvents,
120
+ } from "@fluidframework/shared-object-base/internal";
121
+
122
+ // #endregion Legacy exports