fluid-framework 2.0.0-dev-rc.5.0.0.263932 → 2.0.0-dev-rc.5.0.0.267932

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.
@@ -6,19 +6,16 @@
6
6
 
7
7
  import { Client } from '@fluidframework/merge-tree/internal';
8
8
  import { ErasedType } from '@fluidframework/core-interfaces';
9
- import { IChannelAttributes } from '@fluidframework/datastore-definitions';
10
- import type { IChannelFactory } from '@fluidframework/datastore-definitions';
11
- import type { IChannelServices } from '@fluidframework/datastore-definitions';
12
- import { IChannelStorageService } from '@fluidframework/datastore-definitions';
9
+ import { IChannel } from '@fluidframework/datastore-definitions/internal';
13
10
  import type { IDisposable as IDisposable_2 } from '@fluidframework/core-interfaces';
14
11
  import type { IErrorBase } from '@fluidframework/core-interfaces';
12
+ import { IErrorEvent } from '@fluidframework/core-interfaces';
15
13
  import { IEvent } from '@fluidframework/core-interfaces';
16
14
  import { IEventProvider } from '@fluidframework/core-interfaces';
17
15
  import { IEventThisPlaceHolder } from '@fluidframework/core-interfaces';
18
- import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
19
16
  import { IFluidHandle } from '@fluidframework/core-interfaces';
20
17
  import { IFluidLoadable } from '@fluidframework/core-interfaces';
21
- import { IFluidSerializer } from '@fluidframework/shared-object-base';
18
+ import { IGarbageCollectionData } from '@fluidframework/runtime-definitions/internal';
22
19
  import { IJSONSegment } from '@fluidframework/merge-tree/internal';
23
20
  import { IMergeTreeDeltaCallbackArgs } from '@fluidframework/merge-tree/internal';
24
21
  import { IMergeTreeDeltaOpArgs } from '@fluidframework/merge-tree/internal';
@@ -27,12 +24,7 @@ import { IMergeTreeMaintenanceCallbackArgs } from '@fluidframework/merge-tree/in
27
24
  import { IRelativePosition } from '@fluidframework/merge-tree/internal';
28
25
  import { ISegment } from '@fluidframework/merge-tree/internal';
29
26
  import { ISegmentAction } from '@fluidframework/merge-tree/internal';
30
- import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
31
- import type { ISharedObject } from '@fluidframework/shared-object-base';
32
- import { ISharedObjectEvents } from '@fluidframework/shared-object-base';
33
- import { ISharedObjectKind } from '@fluidframework/shared-object-base';
34
- import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
35
- import { ITelemetryContext } from '@fluidframework/runtime-definitions';
27
+ import { ISharedObjectKind } from '@fluidframework/shared-object-base/internal';
36
28
  import { LocalReferencePosition } from '@fluidframework/merge-tree/internal';
37
29
  import { Marker } from '@fluidframework/merge-tree/internal';
38
30
  import { MergeTreeDeltaOperationType } from '@fluidframework/merge-tree/internal';
@@ -43,7 +35,7 @@ import { PropertiesManager } from '@fluidframework/merge-tree/internal';
43
35
  import { PropertySet } from '@fluidframework/merge-tree/internal';
44
36
  import { ReferencePosition } from '@fluidframework/merge-tree/internal';
45
37
  import { ReferenceType } from '@fluidframework/merge-tree/internal';
46
- import { SharedObject } from '@fluidframework/shared-object-base/internal';
38
+ import { SharedObjectKind as SharedObjectKind_2 } from '@fluidframework/shared-object-base/internal';
47
39
  import { SlidingPreference } from '@fluidframework/merge-tree/internal';
48
40
  import { TextSegment } from '@fluidframework/merge-tree/internal';
49
41
  import { TypedEventEmitter } from '@fluid-internal/client-utils';
@@ -100,32 +92,12 @@ export type ConnectionStateType = ConnectionStateType.Disconnected | ConnectionS
100
92
  // @public
101
93
  export type ContainerAttachProps<T = unknown> = T;
102
94
 
103
- // @alpha
104
- export const ContainerErrorTypes: {
105
- readonly clientSessionExpiredError: "clientSessionExpiredError";
106
- readonly genericError: "genericError";
107
- readonly throttlingError: "throttlingError";
108
- readonly dataCorruptionError: "dataCorruptionError";
109
- readonly dataProcessingError: "dataProcessingError";
110
- readonly usageError: "usageError";
111
- };
112
-
113
- // @alpha
114
- export type ContainerErrorTypes = (typeof ContainerErrorTypes)[keyof typeof ContainerErrorTypes];
115
-
116
95
  // @public
117
96
  export interface ContainerSchema {
118
- readonly dynamicObjectTypes?: readonly LoadableObjectClass[];
119
- readonly initialObjects: LoadableObjectClassRecord;
97
+ readonly dynamicObjectTypes?: readonly SharedObjectKind[];
98
+ readonly initialObjects: Record<string, SharedObjectKind>;
120
99
  }
121
100
 
122
- // @public
123
- export type DataObjectClass<T extends IFluidLoadable = IFluidLoadable> = {
124
- readonly factory: {
125
- readonly IFluidDataStoreFactory: DataObjectClass<T>["factory"];
126
- };
127
- } & (new (...args: any[]) => T);
128
-
129
101
  // @public
130
102
  export interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
131
103
  }
@@ -133,24 +105,9 @@ export interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldP
133
105
  // @alpha (undocumented)
134
106
  export type DeserializeCallback = (properties: PropertySet) => void;
135
107
 
136
- // @alpha @sealed
137
- export class DirectoryFactory implements IChannelFactory<ISharedDirectory> {
138
- static readonly Attributes: IChannelAttributes;
139
- get attributes(): IChannelAttributes;
140
- create(runtime: IFluidDataStoreRuntime, id: string): ISharedDirectory;
141
- load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, attributes: IChannelAttributes): Promise<ISharedDirectory>;
142
- static readonly Type = "https://graph.microsoft.com/types/directory";
143
- get type(): string;
144
- }
145
-
146
108
  // @public
147
109
  export const disposeSymbol: unique symbol;
148
110
 
149
- // @public
150
- export type Events<E> = {
151
- [P in (string | symbol) & keyof E as IsEvent<E[P]> extends true ? P : never]: E[P];
152
- };
153
-
154
111
  // @public
155
112
  export type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
156
113
 
@@ -189,6 +146,13 @@ export type FlexList<Item = unknown> = readonly LazyItem<Item>[];
189
146
  // @public
190
147
  export type FlexListToUnion<TList extends FlexList> = ExtractItemType<TList[number]>;
191
148
 
149
+ // @public
150
+ export interface IBranchOrigin {
151
+ id: string;
152
+ minimumSequenceNumber: number;
153
+ sequenceNumber: number;
154
+ }
155
+
192
156
  // @public
193
157
  export interface IConnection {
194
158
  readonly id: string;
@@ -237,7 +201,7 @@ export interface IFluidContainer<TContainerSchema extends ContainerSchema = Cont
237
201
  readonly attachState: AttachState;
238
202
  connect(): void;
239
203
  readonly connectionState: ConnectionStateType;
240
- create<T extends IFluidLoadable>(objectClass: LoadableObjectClass<T>): Promise<T>;
204
+ create<T extends IFluidLoadable>(objectClass: SharedObjectKind<T>): Promise<T>;
241
205
  disconnect(): void;
242
206
  dispose(): void;
243
207
  readonly disposed: boolean;
@@ -330,7 +294,7 @@ export type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
330
294
 
331
295
  // @public
332
296
  export type InitialObjects<T extends ContainerSchema> = {
333
- [K in keyof T["initialObjects"]]: T["initialObjects"][K] extends LoadableObjectClass<infer TChannel> ? TChannel : never;
297
+ [K in keyof T["initialObjects"]]: T["initialObjects"][K] extends SharedObjectKind<infer TChannel> ? TChannel : never;
334
298
  };
335
299
 
336
300
  // @public
@@ -398,11 +362,32 @@ export type IntervalStickiness = (typeof IntervalStickiness)[keyof typeof Interv
398
362
  export enum IntervalType {
399
363
  // (undocumented)
400
364
  Simple = 0,
401
- SlideOnRemove = 2,
365
+ SlideOnRemove = 2,// SlideOnRemove is default behavior - all intervals are SlideOnRemove
402
366
  // @internal
403
367
  Transient = 4
404
368
  }
405
369
 
370
+ // @public
371
+ export interface ISequencedDocumentMessage {
372
+ clientId: string | null;
373
+ clientSequenceNumber: number;
374
+ // @deprecated
375
+ compression?: string;
376
+ contents: unknown;
377
+ data?: string;
378
+ // @deprecated
379
+ expHash1?: string;
380
+ metadata?: unknown;
381
+ minimumSequenceNumber: number;
382
+ origin?: IBranchOrigin;
383
+ referenceSequenceNumber: number;
384
+ sequenceNumber: number;
385
+ serverMetadata?: unknown;
386
+ timestamp: number;
387
+ traces?: ITrace[];
388
+ type: string;
389
+ }
390
+
406
391
  // @alpha
407
392
  export interface ISequenceDeltaRange<TOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes> {
408
393
  operation: TOperation;
@@ -453,9 +438,6 @@ export interface IServiceAudienceEvents<M extends IMember> extends IEvent {
453
438
  (event: "memberRemoved", listener: MemberChangedListener<M>): void;
454
439
  }
455
440
 
456
- // @public
457
- export type IsEvent<Event> = Event extends (...args: any[]) => any ? true : false;
458
-
459
441
  // @alpha
460
442
  export interface ISharedDirectory extends ISharedObject<ISharedDirectoryEvents & IDirectoryEvents>, Omit<IDirectory, "on" | "once" | "off"> {
461
443
  // (undocumented)
@@ -490,6 +472,57 @@ export interface ISharedMapEvents extends ISharedObjectEvents {
490
472
  (event: "clear", listener: (local: boolean, target: IEventThisPlaceHolder) => void): any;
491
473
  }
492
474
 
475
+ // @alpha
476
+ export interface ISharedObject<TEvent extends ISharedObjectEvents = ISharedObjectEvents> extends IChannel, IEventProvider<TEvent> {
477
+ bindToContext(): void;
478
+ getGCData(fullGC?: boolean): IGarbageCollectionData;
479
+ }
480
+
481
+ // @alpha
482
+ export interface ISharedObjectEvents extends IErrorEvent {
483
+ // @eventProperty
484
+ (event: "pre-op", listener: (op: ISequencedDocumentMessage, local: boolean, target: IEventThisPlaceHolder) => void): any;
485
+ // @eventProperty
486
+ (event: "op", listener: (op: ISequencedDocumentMessage, local: boolean, target: IEventThisPlaceHolder) => void): any;
487
+ }
488
+
489
+ // @alpha (undocumented)
490
+ export interface ISharedSegmentSequence<T extends ISegment> extends ISharedObject<ISharedSegmentSequenceEvents>, ISharedIntervalCollection<SequenceInterval>, MergeTreeRevertibleDriver {
491
+ annotateRange(start: number, end: number, props: PropertySet): void;
492
+ createLocalReferencePosition(segment: T, offset: number, refType: ReferenceType, properties: PropertySet | undefined, slidingPreference?: SlidingPreference, canSlideToEndpoint?: boolean): LocalReferencePosition;
493
+ getContainingSegment(pos: number): {
494
+ segment: T | undefined;
495
+ offset: number | undefined;
496
+ };
497
+ // (undocumented)
498
+ getCurrentSeq(): number;
499
+ getIntervalCollection(label: string): IIntervalCollection<SequenceInterval>;
500
+ // (undocumented)
501
+ getIntervalCollectionLabels(): IterableIterator<string>;
502
+ getLength(): number;
503
+ getPosition(segment: ISegment): number;
504
+ // (undocumented)
505
+ getPropertiesAtPosition(pos: number): PropertySet | undefined;
506
+ // (undocumented)
507
+ getRangeExtentsOfPosition(pos: number): {
508
+ posStart: number | undefined;
509
+ posAfterEnd: number | undefined;
510
+ };
511
+ // @deprecated (undocumented)
512
+ groupOperation(groupOp: IMergeTreeGroupMsg): void;
513
+ initializeLocal(): void;
514
+ insertAtReferencePosition(pos: ReferencePosition, segment: T): void;
515
+ insertFromSpec(pos: number, spec: IJSONSegment): void;
516
+ localReferencePositionToPosition(lref: ReferencePosition): number;
517
+ obliterateRange(start: number, end: number): void;
518
+ posFromRelativePos(relativePos: IRelativePosition): number;
519
+ removeLocalReferencePosition(lref: LocalReferencePosition): LocalReferencePosition | undefined;
520
+ // (undocumented)
521
+ removeRange(start: number, end: number): void;
522
+ resolveRemoteClientPosition(remoteClientPosition: number, remoteClientRefSeq: number, remoteClientId: string): number | undefined;
523
+ walkSegments<TClientData>(handler: ISegmentAction<TClientData>, start?: number, end?: number, accum?: TClientData, splitRange?: boolean): void;
524
+ }
525
+
493
526
  // @alpha
494
527
  export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
495
528
  // (undocumented)
@@ -501,7 +534,7 @@ export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
501
534
  }
502
535
 
503
536
  // @alpha
504
- export interface ISharedString extends SharedSegmentSequence<SharedStringSegment> {
537
+ export interface ISharedString extends ISharedSegmentSequence<SharedStringSegment> {
505
538
  annotateMarker(marker: Marker, props: PropertySet): void;
506
539
  getMarkerFromId(id: string): ISegment | undefined;
507
540
  getText(start?: number, end?: number): string;
@@ -518,20 +551,30 @@ export interface ISharedString extends SharedSegmentSequence<SharedStringSegment
518
551
  }
519
552
 
520
553
  // @public
521
- export interface ISubscribable<E extends Events<E>> {
522
- on<K extends keyof Events<E>>(eventName: K, listener: E[K]): () => void;
523
- }
554
+ export type IsListener<TListener> = TListener extends (...args: any[]) => void ? true : false;
524
555
 
525
556
  // @public
526
557
  export class IterableTreeArrayContent<T> implements Iterable<T> {
527
558
  [Symbol.iterator](): Iterator<T>;
528
559
  }
529
560
 
561
+ // @public
562
+ export interface ITrace {
563
+ action: string;
564
+ service: string;
565
+ timestamp: number;
566
+ }
567
+
530
568
  // @public
531
569
  export interface ITree extends IFluidLoadable {
532
570
  schematize<TRoot extends ImplicitFieldSchema>(config: TreeConfiguration<TRoot>): TreeView<TRoot>;
533
571
  }
534
572
 
573
+ // @public
574
+ export interface ITreeConfigurationOptions {
575
+ enableSchemaValidation?: boolean;
576
+ }
577
+
535
578
  // @alpha @sealed
536
579
  export interface IValueChanged {
537
580
  readonly key: string;
@@ -542,25 +585,19 @@ export interface IValueChanged {
542
585
  export type LazyItem<Item = unknown> = Item | (() => Item);
543
586
 
544
587
  // @public
545
- export type LoadableObjectClass<T extends IFluidLoadable = IFluidLoadable> = ISharedObjectKind<T> | DataObjectClass<T>;
588
+ export interface Listenable<TListeners extends object> {
589
+ on<K extends keyof Listeners<TListeners>>(eventName: K, listener: TListeners[K]): Off;
590
+ }
546
591
 
547
592
  // @public
548
- export type LoadableObjectClassRecord = Record<string, LoadableObjectClass>;
593
+ export type Listeners<T extends object> = {
594
+ [P in (string | symbol) & keyof T as IsListener<T[P]> extends true ? P : never]: T[P];
595
+ };
549
596
 
550
597
  // @public
551
598
  export interface MakeNominal {
552
599
  }
553
600
 
554
- // @alpha @sealed
555
- export class MapFactory implements IChannelFactory<ISharedMap> {
556
- static readonly Attributes: IChannelAttributes;
557
- get attributes(): IChannelAttributes;
558
- create(runtime: IFluidDataStoreRuntime, id: string): ISharedMap;
559
- load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, attributes: IChannelAttributes): Promise<ISharedMap>;
560
- static readonly Type = "https://graph.microsoft.com/types/map";
561
- get type(): string;
562
- }
563
-
564
601
  // @public
565
602
  export type MemberChangedListener<M extends IMember> = (clientId: string, member: M) => void;
566
603
 
@@ -607,6 +644,9 @@ export type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveReadonl
607
644
  -readonly [Property in keyof T]: TreeFieldFromImplicitFieldUnsafe<T[Property]>;
608
645
  };
609
646
 
647
+ // @public
648
+ export type Off = () => void;
649
+
610
650
  // @public
611
651
  export type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
612
652
  readonly [P in symbol | string]: P extends K ? T : never;
@@ -759,76 +799,23 @@ export class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenance
759
799
  export type SequencePlace = number | "start" | "end" | InteriorSequencePlace;
760
800
 
761
801
  // @alpha
762
- export const SharedDirectory: ISharedObjectKind<ISharedDirectory>;
802
+ export const SharedDirectory: ISharedObjectKind<ISharedDirectory> & SharedObjectKind_2<ISharedDirectory>;
763
803
 
764
804
  // @alpha @deprecated
765
805
  export type SharedDirectory = ISharedDirectory;
766
806
 
767
807
  // @alpha
768
- export const SharedMap: ISharedObjectKind<ISharedMap>;
808
+ export const SharedMap: ISharedObjectKind<ISharedMap> & SharedObjectKind_2<ISharedMap>;
769
809
 
770
810
  // @alpha
771
811
  export type SharedMap = ISharedMap;
772
812
 
773
- // @alpha (undocumented)
774
- export abstract class SharedSegmentSequence<T extends ISegment> extends SharedObject<ISharedSegmentSequenceEvents> implements ISharedIntervalCollection<SequenceInterval>, MergeTreeRevertibleDriver {
775
- constructor(dataStoreRuntime: IFluidDataStoreRuntime, id: string, attributes: IChannelAttributes, segmentFromSpec: (spec: IJSONSegment) => ISegment);
776
- annotateRange(start: number, end: number, props: PropertySet): void;
777
- protected applyStashedOp(content: any): void;
778
- // (undocumented)
779
- protected client: Client;
780
- createLocalReferencePosition(segment: T, offset: number, refType: ReferenceType, properties: PropertySet | undefined, slidingPreference?: SlidingPreference, canSlideToEndpoint?: boolean): LocalReferencePosition;
781
- protected didAttach(): void;
782
- getContainingSegment(pos: number): {
783
- segment: T | undefined;
784
- offset: number | undefined;
785
- };
786
- // (undocumented)
787
- getCurrentSeq(): number;
788
- getIntervalCollection(label: string): IIntervalCollection<SequenceInterval>;
789
- // (undocumented)
790
- getIntervalCollectionLabels(): IterableIterator<string>;
791
- getLength(): number;
792
- getPosition(segment: ISegment): number;
793
- // (undocumented)
794
- getPropertiesAtPosition(pos: number): PropertySet | undefined;
795
- // (undocumented)
796
- getRangeExtentsOfPosition(pos: number): {
797
- posStart: number | undefined;
798
- posAfterEnd: number | undefined;
799
- };
800
- // @deprecated (undocumented)
801
- groupOperation(groupOp: IMergeTreeGroupMsg): void;
802
- protected guardReentrancy: <TRet>(callback: () => TRet) => TRet;
803
- // (undocumented)
804
- id: string;
805
- protected initializeLocalCore(): void;
806
- insertAtReferencePosition(pos: ReferencePosition, segment: T): void;
807
- insertFromSpec(pos: number, spec: IJSONSegment): void;
808
- protected loadCore(storage: IChannelStorageService): Promise<void>;
809
- // @deprecated
810
- get loaded(): Promise<void>;
811
- localReferencePositionToPosition(lref: ReferencePosition): number;
812
- obliterateRange(start: number, end: number): void;
813
- protected onConnect(): void;
814
- protected onDisconnect(): void;
815
- posFromRelativePos(relativePos: IRelativePosition): number;
816
- protected processCore(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;
817
- protected processGCDataCore(serializer: IFluidSerializer): void;
818
- removeLocalReferencePosition(lref: LocalReferencePosition): LocalReferencePosition | undefined;
819
- // (undocumented)
820
- removeRange(start: number, end: number): void;
821
- protected replaceRange(start: number, end: number, segment: ISegment): void;
822
- resolveRemoteClientPosition(remoteClientPosition: number, remoteClientRefSeq: number, remoteClientId: string): number | undefined;
823
- protected reSubmitCore(content: any, localOpMetadata: unknown): void;
824
- // (undocumented)
825
- readonly segmentFromSpec: (spec: IJSONSegment) => ISegment;
826
- protected summarizeCore(serializer: IFluidSerializer, telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;
827
- walkSegments<TClientData>(handler: ISegmentAction<TClientData>, start?: number, end?: number, accum?: TClientData, splitRange?: boolean): void;
813
+ // @public
814
+ export interface SharedObjectKind<out TSharedObject = unknown> extends ErasedType<readonly ["SharedObjectKind", TSharedObject]> {
828
815
  }
829
816
 
830
817
  // @alpha
831
- export const SharedString: ISharedObjectKind<ISharedString>;
818
+ export const SharedString: ISharedObjectKind<ISharedString> & SharedObjectKind_2<ISharedString>;
832
819
 
833
820
  // @alpha
834
821
  export type SharedString = ISharedString;
@@ -837,7 +824,7 @@ export type SharedString = ISharedString;
837
824
  export type SharedStringSegment = TextSegment | Marker;
838
825
 
839
826
  // @public
840
- export const SharedTree: ISharedObjectKind<ITree>;
827
+ export const SharedTree: SharedObjectKind<ITree>;
841
828
 
842
829
  // @alpha
843
830
  export enum Side {
@@ -901,9 +888,10 @@ export interface TreeChangeEvents {
901
888
 
902
889
  // @public
903
890
  export class TreeConfiguration<TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> {
904
- constructor(schema: TSchema, initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>);
891
+ constructor(schema: TSchema, initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>, options?: ITreeConfigurationOptions);
905
892
  // (undocumented)
906
893
  readonly initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>;
894
+ readonly options: Required<ITreeConfigurationOptions>;
907
895
  // (undocumented)
908
896
  readonly schema: TSchema;
909
897
  }
@@ -920,7 +908,11 @@ export type TreeLeafValue = number | string | boolean | IFluidHandle | null;
920
908
  // @public
921
909
  export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends ReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>, TreeNode {
922
910
  delete(key: string): void;
911
+ entries(): IterableIterator<[string, TreeNodeFromImplicitAllowedTypes<T>]>;
912
+ forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypes<T>, key: string, map: ReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>) => void, thisArg?: any): void;
913
+ keys(): IterableIterator<string>;
923
914
  set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypes<T> | undefined): void;
915
+ values(): IterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
924
916
  }
925
917
 
926
918
  // @public
@@ -993,7 +985,7 @@ export enum TreeStatus {
993
985
  // @public
994
986
  export interface TreeView<TSchema extends ImplicitFieldSchema> extends IDisposable {
995
987
  readonly error?: SchemaIncompatible;
996
- readonly events: ISubscribable<TreeViewEvents>;
988
+ readonly events: Listenable<TreeViewEvents>;
997
989
  get root(): TreeFieldFromImplicitField<TSchema>;
998
990
  set root(newRoot: InsertableTreeFieldFromImplicitField<TSchema>);
999
991
  upgradeSchema(): void;
package/dist/index.d.ts CHANGED
@@ -12,11 +12,28 @@ export type { ConnectionState as ConnectionStateType, // TODO: deduplicate Conne
12
12
  ICriticalContainerError, } from "@fluidframework/container-definitions";
13
13
  export { AttachState } from "@fluidframework/container-definitions";
14
14
  export { ConnectionState } from "@fluidframework/container-loader";
15
- 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
+ export type { ISequencedDocumentMessage, // Leaked via ISharedObjectEvents
18
+ IBranchOrigin, // Required for ISequencedDocumentMessage
19
+ ITrace, } from "@fluidframework/driver-definitions";
16
20
  export * from "@fluidframework/tree";
17
- export { ContainerErrorTypes } from "@fluidframework/container-definitions/internal";
21
+ import type { SharedObjectKind } from "@fluidframework/shared-object-base";
22
+ import type { ITree } from "@fluidframework/tree";
23
+ /**
24
+ * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees
25
+ * of objects, arrays, and other data types.
26
+ * @privateRemarks
27
+ * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
28
+ * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.
29
+ * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.
30
+ * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.
31
+ * @public
32
+ */
33
+ export declare const SharedTree: SharedObjectKind<ITree>;
18
34
  export type { IDirectory, IDirectoryEvents, IDirectoryValueChanged, ISharedDirectory, ISharedDirectoryEvents, ISharedMap, ISharedMapEvents, IValueChanged, } from "@fluidframework/map/internal";
19
- export { DirectoryFactory, MapFactory, SharedDirectory, SharedMap, } from "@fluidframework/map/internal";
20
- export type { DeserializeCallback, InteriorSequencePlace, IInterval, IIntervalCollectionEvent, IIntervalCollection, IntervalIndex, IntervalStickiness, ISequenceDeltaRange, ISerializableInterval, ISerializedInterval, ISharedIntervalCollection, ISharedSegmentSequenceEvents, ISharedString, SequencePlace, SharedStringSegment, Side, } from "@fluidframework/sequence/internal";
21
- export { IntervalType, SequenceDeltaEvent, SequenceEvent, SequenceInterval, SequenceMaintenanceEvent, SharedSegmentSequence, SharedString, } from "@fluidframework/sequence/internal";
35
+ export { SharedDirectory, SharedMap } from "@fluidframework/map/internal";
36
+ export type { DeserializeCallback, InteriorSequencePlace, IInterval, IIntervalCollectionEvent, IIntervalCollection, IntervalIndex, IntervalStickiness, ISequenceDeltaRange, ISerializableInterval, ISerializedInterval, ISharedIntervalCollection, ISharedSegmentSequenceEvents, ISharedString, SequencePlace, SharedStringSegment, Side, ISharedSegmentSequence, } from "@fluidframework/sequence/internal";
37
+ export { IntervalType, SequenceDeltaEvent, SequenceEvent, SequenceInterval, SequenceMaintenanceEvent, SharedString, } from "@fluidframework/sequence/internal";
38
+ export type { ISharedObject, ISharedObjectEvents, } from "@fluidframework/shared-object-base/internal";
22
39
  //# 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,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;AAE3E,YAAY,EACX,yBAAyB,EAAE,iCAAiC;AAC5D,aAAa,EAAE,yCAAyC;AACxD,MAAM,GACN,MAAM,oCAAoC,CAAC;AAO5C,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,7 +18,7 @@ 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.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
24
  var container_loader_1 = require("@fluidframework/container-loader");
@@ -27,15 +27,23 @@ Object.defineProperty(exports, "ConnectionState", { enumerable: true, get: funct
27
27
  // Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are
28
28
  // desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree
29
29
  // alpha` to surface everything `@alpha` and higher).
30
- // eslint-disable-next-line no-restricted-syntax
30
+ // eslint-disable-next-line no-restricted-syntax, import/export
31
31
  __exportStar(require("@fluidframework/tree"), exports);
32
- // ===============================================================
33
- // Legacy exports
34
- var internal_1 = require("@fluidframework/container-definitions/internal");
35
- 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;
36
46
  var internal_2 = require("@fluidframework/map/internal");
37
- Object.defineProperty(exports, "DirectoryFactory", { enumerable: true, get: function () { return internal_2.DirectoryFactory; } });
38
- Object.defineProperty(exports, "MapFactory", { enumerable: true, get: function () { return internal_2.MapFactory; } });
39
47
  Object.defineProperty(exports, "SharedDirectory", { enumerable: true, get: function () { return internal_2.SharedDirectory; } });
40
48
  Object.defineProperty(exports, "SharedMap", { enumerable: true, get: function () { return internal_2.SharedMap; } });
41
49
  var internal_3 = require("@fluidframework/sequence/internal");
@@ -44,6 +52,6 @@ Object.defineProperty(exports, "SequenceDeltaEvent", { enumerable: true, get: fu
44
52
  Object.defineProperty(exports, "SequenceEvent", { enumerable: true, get: function () { return internal_3.SequenceEvent; } });
45
53
  Object.defineProperty(exports, "SequenceInterval", { enumerable: true, get: function () { return internal_3.SequenceInterval; } });
46
54
  Object.defineProperty(exports, "SequenceMaintenanceEvent", { enumerable: true, get: function () { return internal_3.SequenceMaintenanceEvent; } });
47
- Object.defineProperty(exports, "SharedSegmentSequence", { enumerable: true, get: function () { return internal_3.SharedSegmentSequence; } });
48
55
  Object.defineProperty(exports, "SharedString", { enumerable: true, get: function () { return internal_3.SharedString; } });
56
+ // #endregion Legacy exports
49
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,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 { 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;AAsBxB,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\nexport type {\n\tISequencedDocumentMessage, // Leaked via ISharedObjectEvents\n\tIBranchOrigin, // Required for ISequencedDocumentMessage\n\tITrace, // Required for ISequencedDocumentMessage\n} from \"@fluidframework/driver-definitions\";\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,9 +19,7 @@ export {
19
19
  ConnectionStateType,
20
20
  ContainerAttachProps,
21
21
  ContainerSchema,
22
- DataObjectClass,
23
22
  DefaultProvider,
24
- Events,
25
23
  ExtractItemType,
26
24
  FieldKind,
27
25
  FieldProps,
@@ -29,16 +27,19 @@ export {
29
27
  FieldSchemaUnsafe,
30
28
  FlexList,
31
29
  FlexListToUnion,
30
+ IBranchOrigin,
32
31
  IConnection,
33
32
  ICriticalContainerError,
34
33
  IDisposable,
35
34
  IFluidContainer,
36
35
  IFluidContainerEvents,
37
36
  IMember,
37
+ ISequencedDocumentMessage,
38
38
  IServiceAudience,
39
39
  IServiceAudienceEvents,
40
- ISubscribable,
40
+ ITrace,
41
41
  ITree,
42
+ ITreeConfigurationOptions,
42
43
  ImplicitAllowedTypes,
43
44
  ImplicitFieldSchema,
44
45
  InitialObjects,
@@ -51,11 +52,11 @@ export {
51
52
  InsertableTypedNode,
52
53
  InsertableTypedNodeUnsafe,
53
54
  InternalTreeNode,
54
- IsEvent,
55
+ IsListener,
55
56
  IterableTreeArrayContent,
56
57
  LazyItem,
57
- LoadableObjectClass,
58
- LoadableObjectClassRecord,
58
+ Listenable,
59
+ Listeners,
59
60
  MakeNominal,
60
61
  MemberChangedListener,
61
62
  Myself,
@@ -67,6 +68,7 @@ export {
67
68
  NodeKind,
68
69
  ObjectFromSchemaRecord,
69
70
  ObjectFromSchemaRecordUnsafe,
71
+ Off,
70
72
  RestrictiveReadonlyRecord,
71
73
  Revertible,
72
74
  RevertibleFactory,
@@ -75,6 +77,7 @@ export {
75
77
  SchemaFactory,
76
78
  SchemaIncompatible,
77
79
  ScopedSchemaName,
80
+ SharedObjectKind,
78
81
  SharedTree,
79
82
  TransactionConstraint,
80
83
  Tree,
@@ -111,9 +114,7 @@ export {
111
114
  type,
112
115
 
113
116
  // @alpha APIs
114
- ContainerErrorTypes,
115
117
  DeserializeCallback,
116
- DirectoryFactory,
117
118
  IDirectory,
118
119
  IDirectoryEvents,
119
120
  IDirectoryValueChanged,
@@ -128,6 +129,9 @@ export {
128
129
  ISharedIntervalCollection,
129
130
  ISharedMap,
130
131
  ISharedMapEvents,
132
+ ISharedObject,
133
+ ISharedObjectEvents,
134
+ ISharedSegmentSequence,
131
135
  ISharedSegmentSequenceEvents,
132
136
  ISharedString,
133
137
  IValueChanged,
@@ -135,7 +139,6 @@ export {
135
139
  IntervalIndex,
136
140
  IntervalStickiness,
137
141
  IntervalType,
138
- MapFactory,
139
142
  SequenceDeltaEvent,
140
143
  SequenceEvent,
141
144
  SequenceInterval,
@@ -143,7 +146,6 @@ export {
143
146
  SequencePlace,
144
147
  SharedDirectory,
145
148
  SharedMap,
146
- SharedSegmentSequence,
147
149
  SharedString,
148
150
  SharedStringSegment,
149
151
  Side
package/dist/public.d.ts CHANGED
@@ -19,9 +19,7 @@ export {
19
19
  ConnectionStateType,
20
20
  ContainerAttachProps,
21
21
  ContainerSchema,
22
- DataObjectClass,
23
22
  DefaultProvider,
24
- Events,
25
23
  ExtractItemType,
26
24
  FieldKind,
27
25
  FieldProps,
@@ -29,16 +27,19 @@ export {
29
27
  FieldSchemaUnsafe,
30
28
  FlexList,
31
29
  FlexListToUnion,
30
+ IBranchOrigin,
32
31
  IConnection,
33
32
  ICriticalContainerError,
34
33
  IDisposable,
35
34
  IFluidContainer,
36
35
  IFluidContainerEvents,
37
36
  IMember,
37
+ ISequencedDocumentMessage,
38
38
  IServiceAudience,
39
39
  IServiceAudienceEvents,
40
- ISubscribable,
40
+ ITrace,
41
41
  ITree,
42
+ ITreeConfigurationOptions,
42
43
  ImplicitAllowedTypes,
43
44
  ImplicitFieldSchema,
44
45
  InitialObjects,
@@ -51,11 +52,11 @@ export {
51
52
  InsertableTypedNode,
52
53
  InsertableTypedNodeUnsafe,
53
54
  InternalTreeNode,
54
- IsEvent,
55
+ IsListener,
55
56
  IterableTreeArrayContent,
56
57
  LazyItem,
57
- LoadableObjectClass,
58
- LoadableObjectClassRecord,
58
+ Listenable,
59
+ Listeners,
59
60
  MakeNominal,
60
61
  MemberChangedListener,
61
62
  Myself,
@@ -67,6 +68,7 @@ export {
67
68
  NodeKind,
68
69
  ObjectFromSchemaRecord,
69
70
  ObjectFromSchemaRecordUnsafe,
71
+ Off,
70
72
  RestrictiveReadonlyRecord,
71
73
  Revertible,
72
74
  RevertibleFactory,
@@ -75,6 +77,7 @@ export {
75
77
  SchemaFactory,
76
78
  SchemaIncompatible,
77
79
  ScopedSchemaName,
80
+ SharedObjectKind,
78
81
  SharedTree,
79
82
  TransactionConstraint,
80
83
  Tree,
package/lib/index.d.ts CHANGED
@@ -12,11 +12,28 @@ export type { ConnectionState as ConnectionStateType, // TODO: deduplicate Conne
12
12
  ICriticalContainerError, } from "@fluidframework/container-definitions";
13
13
  export { AttachState } from "@fluidframework/container-definitions";
14
14
  export { ConnectionState } from "@fluidframework/container-loader";
15
- 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
+ export type { ISequencedDocumentMessage, // Leaked via ISharedObjectEvents
18
+ IBranchOrigin, // Required for ISequencedDocumentMessage
19
+ ITrace, } from "@fluidframework/driver-definitions";
16
20
  export * from "@fluidframework/tree";
17
- export { ContainerErrorTypes } from "@fluidframework/container-definitions/internal";
21
+ import type { SharedObjectKind } from "@fluidframework/shared-object-base";
22
+ import type { ITree } from "@fluidframework/tree";
23
+ /**
24
+ * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees
25
+ * of objects, arrays, and other data types.
26
+ * @privateRemarks
27
+ * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
28
+ * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.
29
+ * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.
30
+ * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.
31
+ * @public
32
+ */
33
+ export declare const SharedTree: SharedObjectKind<ITree>;
18
34
  export type { IDirectory, IDirectoryEvents, IDirectoryValueChanged, ISharedDirectory, ISharedDirectoryEvents, ISharedMap, ISharedMapEvents, IValueChanged, } from "@fluidframework/map/internal";
19
- export { DirectoryFactory, MapFactory, SharedDirectory, SharedMap, } from "@fluidframework/map/internal";
20
- export type { DeserializeCallback, InteriorSequencePlace, IInterval, IIntervalCollectionEvent, IIntervalCollection, IntervalIndex, IntervalStickiness, ISequenceDeltaRange, ISerializableInterval, ISerializedInterval, ISharedIntervalCollection, ISharedSegmentSequenceEvents, ISharedString, SequencePlace, SharedStringSegment, Side, } from "@fluidframework/sequence/internal";
21
- export { IntervalType, SequenceDeltaEvent, SequenceEvent, SequenceInterval, SequenceMaintenanceEvent, SharedSegmentSequence, SharedString, } from "@fluidframework/sequence/internal";
35
+ export { SharedDirectory, SharedMap } from "@fluidframework/map/internal";
36
+ export type { DeserializeCallback, InteriorSequencePlace, IInterval, IIntervalCollectionEvent, IIntervalCollection, IntervalIndex, IntervalStickiness, ISequenceDeltaRange, ISerializableInterval, ISerializedInterval, ISharedIntervalCollection, ISharedSegmentSequenceEvents, ISharedString, SequencePlace, SharedStringSegment, Side, ISharedSegmentSequence, } from "@fluidframework/sequence/internal";
37
+ export { IntervalType, SequenceDeltaEvent, SequenceEvent, SequenceInterval, SequenceMaintenanceEvent, SharedString, } from "@fluidframework/sequence/internal";
38
+ export type { ISharedObject, ISharedObjectEvents, } from "@fluidframework/shared-object-base/internal";
22
39
  //# 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,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;AAE3E,YAAY,EACX,yBAAyB,EAAE,iCAAiC;AAC5D,aAAa,EAAE,yCAAyC;AACxD,MAAM,GACN,MAAM,oCAAoC,CAAC;AAO5C,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
@@ -8,11 +8,23 @@ export { ConnectionState } from "@fluidframework/container-loader";
8
8
  // Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are
9
9
  // desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree
10
10
  // alpha` to surface everything `@alpha` and higher).
11
- // eslint-disable-next-line no-restricted-syntax
11
+ // eslint-disable-next-line no-restricted-syntax, import/export
12
12
  export * from "@fluidframework/tree";
13
- // ===============================================================
14
- // Legacy exports
15
- export { ContainerErrorTypes } from "@fluidframework/container-definitions/internal";
16
- export { DirectoryFactory, MapFactory, SharedDirectory, SharedMap, } from "@fluidframework/map/internal";
17
- 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
18
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,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 { 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;AAsBnE,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\nexport type {\n\tISequencedDocumentMessage, // Leaked via ISharedObjectEvents\n\tIBranchOrigin, // Required for ISequencedDocumentMessage\n\tITrace, // Required for ISequencedDocumentMessage\n} from \"@fluidframework/driver-definitions\";\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,9 +19,7 @@ export {
19
19
  ConnectionStateType,
20
20
  ContainerAttachProps,
21
21
  ContainerSchema,
22
- DataObjectClass,
23
22
  DefaultProvider,
24
- Events,
25
23
  ExtractItemType,
26
24
  FieldKind,
27
25
  FieldProps,
@@ -29,16 +27,19 @@ export {
29
27
  FieldSchemaUnsafe,
30
28
  FlexList,
31
29
  FlexListToUnion,
30
+ IBranchOrigin,
32
31
  IConnection,
33
32
  ICriticalContainerError,
34
33
  IDisposable,
35
34
  IFluidContainer,
36
35
  IFluidContainerEvents,
37
36
  IMember,
37
+ ISequencedDocumentMessage,
38
38
  IServiceAudience,
39
39
  IServiceAudienceEvents,
40
- ISubscribable,
40
+ ITrace,
41
41
  ITree,
42
+ ITreeConfigurationOptions,
42
43
  ImplicitAllowedTypes,
43
44
  ImplicitFieldSchema,
44
45
  InitialObjects,
@@ -51,11 +52,11 @@ export {
51
52
  InsertableTypedNode,
52
53
  InsertableTypedNodeUnsafe,
53
54
  InternalTreeNode,
54
- IsEvent,
55
+ IsListener,
55
56
  IterableTreeArrayContent,
56
57
  LazyItem,
57
- LoadableObjectClass,
58
- LoadableObjectClassRecord,
58
+ Listenable,
59
+ Listeners,
59
60
  MakeNominal,
60
61
  MemberChangedListener,
61
62
  Myself,
@@ -67,6 +68,7 @@ export {
67
68
  NodeKind,
68
69
  ObjectFromSchemaRecord,
69
70
  ObjectFromSchemaRecordUnsafe,
71
+ Off,
70
72
  RestrictiveReadonlyRecord,
71
73
  Revertible,
72
74
  RevertibleFactory,
@@ -75,6 +77,7 @@ export {
75
77
  SchemaFactory,
76
78
  SchemaIncompatible,
77
79
  ScopedSchemaName,
80
+ SharedObjectKind,
78
81
  SharedTree,
79
82
  TransactionConstraint,
80
83
  Tree,
@@ -111,9 +114,7 @@ export {
111
114
  type,
112
115
 
113
116
  // @alpha APIs
114
- ContainerErrorTypes,
115
117
  DeserializeCallback,
116
- DirectoryFactory,
117
118
  IDirectory,
118
119
  IDirectoryEvents,
119
120
  IDirectoryValueChanged,
@@ -128,6 +129,9 @@ export {
128
129
  ISharedIntervalCollection,
129
130
  ISharedMap,
130
131
  ISharedMapEvents,
132
+ ISharedObject,
133
+ ISharedObjectEvents,
134
+ ISharedSegmentSequence,
131
135
  ISharedSegmentSequenceEvents,
132
136
  ISharedString,
133
137
  IValueChanged,
@@ -135,7 +139,6 @@ export {
135
139
  IntervalIndex,
136
140
  IntervalStickiness,
137
141
  IntervalType,
138
- MapFactory,
139
142
  SequenceDeltaEvent,
140
143
  SequenceEvent,
141
144
  SequenceInterval,
@@ -143,7 +146,6 @@ export {
143
146
  SequencePlace,
144
147
  SharedDirectory,
145
148
  SharedMap,
146
- SharedSegmentSequence,
147
149
  SharedString,
148
150
  SharedStringSegment,
149
151
  Side
package/lib/public.d.ts CHANGED
@@ -19,9 +19,7 @@ export {
19
19
  ConnectionStateType,
20
20
  ContainerAttachProps,
21
21
  ContainerSchema,
22
- DataObjectClass,
23
22
  DefaultProvider,
24
- Events,
25
23
  ExtractItemType,
26
24
  FieldKind,
27
25
  FieldProps,
@@ -29,16 +27,19 @@ export {
29
27
  FieldSchemaUnsafe,
30
28
  FlexList,
31
29
  FlexListToUnion,
30
+ IBranchOrigin,
32
31
  IConnection,
33
32
  ICriticalContainerError,
34
33
  IDisposable,
35
34
  IFluidContainer,
36
35
  IFluidContainerEvents,
37
36
  IMember,
37
+ ISequencedDocumentMessage,
38
38
  IServiceAudience,
39
39
  IServiceAudienceEvents,
40
- ISubscribable,
40
+ ITrace,
41
41
  ITree,
42
+ ITreeConfigurationOptions,
42
43
  ImplicitAllowedTypes,
43
44
  ImplicitFieldSchema,
44
45
  InitialObjects,
@@ -51,11 +52,11 @@ export {
51
52
  InsertableTypedNode,
52
53
  InsertableTypedNodeUnsafe,
53
54
  InternalTreeNode,
54
- IsEvent,
55
+ IsListener,
55
56
  IterableTreeArrayContent,
56
57
  LazyItem,
57
- LoadableObjectClass,
58
- LoadableObjectClassRecord,
58
+ Listenable,
59
+ Listeners,
59
60
  MakeNominal,
60
61
  MemberChangedListener,
61
62
  Myself,
@@ -67,6 +68,7 @@ export {
67
68
  NodeKind,
68
69
  ObjectFromSchemaRecord,
69
70
  ObjectFromSchemaRecordUnsafe,
71
+ Off,
70
72
  RestrictiveReadonlyRecord,
71
73
  Revertible,
72
74
  RevertibleFactory,
@@ -75,6 +77,7 @@ export {
75
77
  SchemaFactory,
76
78
  SchemaIncompatible,
77
79
  ScopedSchemaName,
80
+ SharedObjectKind,
78
81
  SharedTree,
79
82
  TransactionConstraint,
80
83
  Tree,
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.43.1"
8
+ "packageVersion": "7.45.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.5.0.0.263932",
3
+ "version": "2.0.0-dev-rc.5.0.0.267932",
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.5.0.0.263932",
41
- "@fluidframework/container-loader": "2.0.0-dev-rc.5.0.0.263932",
42
- "@fluidframework/driver-definitions": "2.0.0-dev-rc.5.0.0.263932",
43
- "@fluidframework/fluid-static": "2.0.0-dev-rc.5.0.0.263932",
44
- "@fluidframework/map": "2.0.0-dev-rc.5.0.0.263932",
45
- "@fluidframework/sequence": "2.0.0-dev-rc.5.0.0.263932",
46
- "@fluidframework/tree": "2.0.0-dev-rc.5.0.0.263932"
40
+ "@fluidframework/container-definitions": "2.0.0-dev-rc.5.0.0.267932",
41
+ "@fluidframework/container-loader": "2.0.0-dev-rc.5.0.0.267932",
42
+ "@fluidframework/driver-definitions": "2.0.0-dev-rc.5.0.0.267932",
43
+ "@fluidframework/fluid-static": "2.0.0-dev-rc.5.0.0.267932",
44
+ "@fluidframework/map": "2.0.0-dev-rc.5.0.0.267932",
45
+ "@fluidframework/sequence": "2.0.0-dev-rc.5.0.0.267932",
46
+ "@fluidframework/shared-object-base": "2.0.0-dev-rc.5.0.0.267932",
47
+ "@fluidframework/tree": "2.0.0-dev-rc.5.0.0.267932"
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",
52
+ "@fluid-tools/build-cli": "^0.39.0-264124",
52
53
  "@fluidframework/build-common": "^2.0.3",
53
- "@fluidframework/build-tools": "^0.38.0",
54
+ "@fluidframework/build-tools": "^0.39.0-264124",
54
55
  "@fluidframework/eslint-config-fluid": "^5.1.0",
55
- "@microsoft/api-extractor": "^7.43.1",
56
+ "@microsoft/api-extractor": "^7.45.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.4.5"
62
63
  },
63
64
  "fluidBuild": {
64
65
  "tasks": {
package/src/index.ts CHANGED
@@ -10,6 +10,10 @@
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,
@@ -19,7 +23,6 @@ export { ConnectionState } from "@fluidframework/container-loader";
19
23
  export type {
20
24
  ContainerAttachProps,
21
25
  ContainerSchema,
22
- DataObjectClass,
23
26
  IConnection,
24
27
  IFluidContainer,
25
28
  IFluidContainerEvents,
@@ -27,23 +30,53 @@ export type {
27
30
  InitialObjects,
28
31
  IServiceAudience,
29
32
  IServiceAudienceEvents,
30
- LoadableObjectClass,
31
- LoadableObjectClassRecord,
32
33
  MemberChangedListener,
33
34
  Myself,
34
35
  } from "@fluidframework/fluid-static";
36
+ export type { SharedObjectKind } from "@fluidframework/shared-object-base";
37
+
38
+ export type {
39
+ ISequencedDocumentMessage, // Leaked via ISharedObjectEvents
40
+ IBranchOrigin, // Required for ISequencedDocumentMessage
41
+ ITrace, // Required for ISequencedDocumentMessage
42
+ } from "@fluidframework/driver-definitions";
35
43
 
36
44
  // Let the tree package manage its own API surface, we will simply reflect it here.
37
45
  // Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are
38
46
  // desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree
39
47
  // alpha` to surface everything `@alpha` and higher).
40
- // eslint-disable-next-line no-restricted-syntax
48
+ // eslint-disable-next-line no-restricted-syntax, import/export
41
49
  export * from "@fluidframework/tree";
42
50
 
43
- // ===============================================================
44
- // Legacy exports
51
+ // End of basic public exports - nothing above this line should
52
+ // depend on an /internal path.
53
+ // #endregion Basic re-exports
54
+ // ---------------------------------------------------------------
55
+ // #region Custom re-exports
56
+
57
+ import type { SharedObjectKind } from "@fluidframework/shared-object-base";
58
+ import type { ITree } from "@fluidframework/tree";
59
+ import { SharedTree as OriginalSharedTree } from "@fluidframework/tree/internal";
60
+
61
+ /**
62
+ * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees
63
+ * of objects, arrays, and other data types.
64
+ * @privateRemarks
65
+ * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.
66
+ * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.
67
+ * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.
68
+ * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.
69
+ * @public
70
+ */
71
+ // Remove this and above lint disable after using @fluidframework/eslint-config-fluid ^5.3.0
72
+ // eslint-disable-next-line import/export
73
+ export const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;
74
+
75
+ // #endregion Custom re-exports
76
+ // #endregion Public exports
45
77
 
46
- export { ContainerErrorTypes } from "@fluidframework/container-definitions/internal";
78
+ // ===============================================================
79
+ // #region Legacy exports
47
80
 
48
81
  export type {
49
82
  IDirectory,
@@ -56,12 +89,7 @@ export type {
56
89
  IValueChanged,
57
90
  } from "@fluidframework/map/internal";
58
91
 
59
- export {
60
- DirectoryFactory,
61
- MapFactory,
62
- SharedDirectory,
63
- SharedMap,
64
- } from "@fluidframework/map/internal";
92
+ export { SharedDirectory, SharedMap } from "@fluidframework/map/internal";
65
93
 
66
94
  export type {
67
95
  DeserializeCallback,
@@ -80,6 +108,7 @@ export type {
80
108
  SequencePlace,
81
109
  SharedStringSegment,
82
110
  Side,
111
+ ISharedSegmentSequence,
83
112
  } from "@fluidframework/sequence/internal";
84
113
 
85
114
  export {
@@ -88,6 +117,12 @@ export {
88
117
  SequenceEvent,
89
118
  SequenceInterval,
90
119
  SequenceMaintenanceEvent,
91
- SharedSegmentSequence,
92
120
  SharedString,
93
121
  } from "@fluidframework/sequence/internal";
122
+
123
+ export type {
124
+ ISharedObject,
125
+ ISharedObjectEvents,
126
+ } from "@fluidframework/shared-object-base/internal";
127
+
128
+ // #endregion Legacy exports