fluid-framework 2.0.0-dev-rc.5.0.0.263932 → 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.
@@ -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';
@@ -28,11 +25,7 @@ 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
27
  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';
28
+ import { ISharedObjectKind } from '@fluidframework/shared-object-base/internal';
36
29
  import { LocalReferencePosition } from '@fluidframework/merge-tree/internal';
37
30
  import { Marker } from '@fluidframework/merge-tree/internal';
38
31
  import { MergeTreeDeltaOperationType } from '@fluidframework/merge-tree/internal';
@@ -43,7 +36,7 @@ import { PropertiesManager } from '@fluidframework/merge-tree/internal';
43
36
  import { PropertySet } from '@fluidframework/merge-tree/internal';
44
37
  import { ReferencePosition } from '@fluidframework/merge-tree/internal';
45
38
  import { ReferenceType } from '@fluidframework/merge-tree/internal';
46
- import { SharedObject } from '@fluidframework/shared-object-base/internal';
39
+ import { SharedObjectKind as SharedObjectKind_2 } from '@fluidframework/shared-object-base/internal';
47
40
  import { SlidingPreference } from '@fluidframework/merge-tree/internal';
48
41
  import { TextSegment } from '@fluidframework/merge-tree/internal';
49
42
  import { TypedEventEmitter } from '@fluid-internal/client-utils';
@@ -100,32 +93,12 @@ export type ConnectionStateType = ConnectionStateType.Disconnected | ConnectionS
100
93
  // @public
101
94
  export type ContainerAttachProps<T = unknown> = T;
102
95
 
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
96
  // @public
117
97
  export interface ContainerSchema {
118
- readonly dynamicObjectTypes?: readonly LoadableObjectClass[];
119
- readonly initialObjects: LoadableObjectClassRecord;
98
+ readonly dynamicObjectTypes?: readonly SharedObjectKind[];
99
+ readonly initialObjects: Record<string, SharedObjectKind>;
120
100
  }
121
101
 
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
102
  // @public
130
103
  export interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
131
104
  }
@@ -133,16 +106,6 @@ export interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldP
133
106
  // @alpha (undocumented)
134
107
  export type DeserializeCallback = (properties: PropertySet) => void;
135
108
 
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
109
  // @public
147
110
  export const disposeSymbol: unique symbol;
148
111
 
@@ -237,7 +200,7 @@ export interface IFluidContainer<TContainerSchema extends ContainerSchema = Cont
237
200
  readonly attachState: AttachState;
238
201
  connect(): void;
239
202
  readonly connectionState: ConnectionStateType;
240
- create<T extends IFluidLoadable>(objectClass: LoadableObjectClass<T>): Promise<T>;
203
+ create<T extends IFluidLoadable>(objectClass: SharedObjectKind<T>): Promise<T>;
241
204
  disconnect(): void;
242
205
  dispose(): void;
243
206
  readonly disposed: boolean;
@@ -330,7 +293,7 @@ export type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
330
293
 
331
294
  // @public
332
295
  export type InitialObjects<T extends ContainerSchema> = {
333
- [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;
334
297
  };
335
298
 
336
299
  // @public
@@ -398,7 +361,7 @@ export type IntervalStickiness = (typeof IntervalStickiness)[keyof typeof Interv
398
361
  export enum IntervalType {
399
362
  // (undocumented)
400
363
  Simple = 0,
401
- SlideOnRemove = 2,
364
+ SlideOnRemove = 2,// SlideOnRemove is default behavior - all intervals are SlideOnRemove
402
365
  // @internal
403
366
  Transient = 4
404
367
  }
@@ -490,6 +453,57 @@ export interface ISharedMapEvents extends ISharedObjectEvents {
490
453
  (event: "clear", listener: (local: boolean, target: IEventThisPlaceHolder) => void): any;
491
454
  }
492
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
+
493
507
  // @alpha
494
508
  export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
495
509
  // (undocumented)
@@ -501,7 +515,7 @@ export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
501
515
  }
502
516
 
503
517
  // @alpha
504
- export interface ISharedString extends SharedSegmentSequence<SharedStringSegment> {
518
+ export interface ISharedString extends ISharedSegmentSequence<SharedStringSegment> {
505
519
  annotateMarker(marker: Marker, props: PropertySet): void;
506
520
  getMarkerFromId(id: string): ISegment | undefined;
507
521
  getText(start?: number, end?: number): string;
@@ -532,6 +546,11 @@ export interface ITree extends IFluidLoadable {
532
546
  schematize<TRoot extends ImplicitFieldSchema>(config: TreeConfiguration<TRoot>): TreeView<TRoot>;
533
547
  }
534
548
 
549
+ // @public
550
+ export interface ITreeConfigurationOptions {
551
+ enableSchemaValidation?: boolean;
552
+ }
553
+
535
554
  // @alpha @sealed
536
555
  export interface IValueChanged {
537
556
  readonly key: string;
@@ -541,26 +560,10 @@ export interface IValueChanged {
541
560
  // @public
542
561
  export type LazyItem<Item = unknown> = Item | (() => Item);
543
562
 
544
- // @public
545
- export type LoadableObjectClass<T extends IFluidLoadable = IFluidLoadable> = ISharedObjectKind<T> | DataObjectClass<T>;
546
-
547
- // @public
548
- export type LoadableObjectClassRecord = Record<string, LoadableObjectClass>;
549
-
550
563
  // @public
551
564
  export interface MakeNominal {
552
565
  }
553
566
 
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
567
  // @public
565
568
  export type MemberChangedListener<M extends IMember> = (clientId: string, member: M) => void;
566
569
 
@@ -759,76 +762,23 @@ export class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenance
759
762
  export type SequencePlace = number | "start" | "end" | InteriorSequencePlace;
760
763
 
761
764
  // @alpha
762
- export const SharedDirectory: ISharedObjectKind<ISharedDirectory>;
765
+ export const SharedDirectory: ISharedObjectKind<ISharedDirectory> & SharedObjectKind_2<ISharedDirectory>;
763
766
 
764
767
  // @alpha @deprecated
765
768
  export type SharedDirectory = ISharedDirectory;
766
769
 
767
770
  // @alpha
768
- export const SharedMap: ISharedObjectKind<ISharedMap>;
771
+ export const SharedMap: ISharedObjectKind<ISharedMap> & SharedObjectKind_2<ISharedMap>;
769
772
 
770
773
  // @alpha
771
774
  export type SharedMap = ISharedMap;
772
775
 
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;
776
+ // @public
777
+ export interface SharedObjectKind<out TSharedObject = unknown> extends ErasedType<readonly ["SharedObjectKind", TSharedObject]> {
828
778
  }
829
779
 
830
780
  // @alpha
831
- export const SharedString: ISharedObjectKind<ISharedString>;
781
+ export const SharedString: ISharedObjectKind<ISharedString> & SharedObjectKind_2<ISharedString>;
832
782
 
833
783
  // @alpha
834
784
  export type SharedString = ISharedString;
@@ -837,7 +787,7 @@ export type SharedString = ISharedString;
837
787
  export type SharedStringSegment = TextSegment | Marker;
838
788
 
839
789
  // @public
840
- export const SharedTree: ISharedObjectKind<ITree>;
790
+ export const SharedTree: SharedObjectKind<ITree>;
841
791
 
842
792
  // @alpha
843
793
  export enum Side {
@@ -901,9 +851,10 @@ export interface TreeChangeEvents {
901
851
 
902
852
  // @public
903
853
  export class TreeConfiguration<TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> {
904
- constructor(schema: TSchema, initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>);
854
+ constructor(schema: TSchema, initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>, options?: ITreeConfigurationOptions);
905
855
  // (undocumented)
906
856
  readonly initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>;
857
+ readonly options: Required<ITreeConfigurationOptions>;
907
858
  // (undocumented)
908
859
  readonly schema: TSchema;
909
860
  }
@@ -920,7 +871,11 @@ export type TreeLeafValue = number | string | boolean | IFluidHandle | null;
920
871
  // @public
921
872
  export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends ReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>, TreeNode {
922
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>;
923
877
  set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypes<T> | undefined): void;
878
+ values(): IterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
924
879
  }
925
880
 
926
881
  // @public
package/dist/index.d.ts CHANGED
@@ -12,11 +12,25 @@ 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";
16
17
  export * from "@fluidframework/tree";
17
- 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>;
18
31
  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";
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";
22
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,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,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;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,7 +19,6 @@ export {
19
19
  ConnectionStateType,
20
20
  ContainerAttachProps,
21
21
  ContainerSchema,
22
- DataObjectClass,
23
22
  DefaultProvider,
24
23
  Events,
25
24
  ExtractItemType,
@@ -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,7 +19,6 @@ export {
19
19
  ConnectionStateType,
20
20
  ContainerAttachProps,
21
21
  ContainerSchema,
22
- DataObjectClass,
23
22
  DefaultProvider,
24
23
  Events,
25
24
  ExtractItemType,
@@ -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
@@ -12,11 +12,25 @@ 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";
16
17
  export * from "@fluidframework/tree";
17
- 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>;
18
31
  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";
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";
22
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,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
@@ -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;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,7 +19,6 @@ export {
19
19
  ConnectionStateType,
20
20
  ContainerAttachProps,
21
21
  ContainerSchema,
22
- DataObjectClass,
23
22
  DefaultProvider,
24
23
  Events,
25
24
  ExtractItemType,
@@ -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,7 +19,6 @@ export {
19
19
  ConnectionStateType,
20
20
  ContainerAttachProps,
21
21
  ContainerSchema,
22
- DataObjectClass,
23
22
  DefaultProvider,
24
23
  Events,
25
24
  ExtractItemType,
@@ -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/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.265721",
4
4
  "description": "The main entry point into Fluid Framework public packages",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -37,20 +37,21 @@
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.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",
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
56
  "@microsoft/api-extractor": "^7.43.1",
56
57
  "@types/node": "^18.19.0",
@@ -58,7 +59,7 @@
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,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,47 @@ 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";
35
37
 
36
38
  // Let the tree package manage its own API surface, we will simply reflect it here.
37
39
  // Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are
38
40
  // desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree
39
41
  // alpha` to surface everything `@alpha` and higher).
40
- // eslint-disable-next-line no-restricted-syntax
42
+ // eslint-disable-next-line no-restricted-syntax, import/export
41
43
  export * from "@fluidframework/tree";
42
44
 
43
- // ===============================================================
44
- // 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;
45
68
 
46
- export { ContainerErrorTypes } from "@fluidframework/container-definitions/internal";
69
+ // #endregion Custom re-exports
70
+ // #endregion Public exports
71
+
72
+ // ===============================================================
73
+ // #region Legacy exports
47
74
 
48
75
  export type {
49
76
  IDirectory,
@@ -56,12 +83,7 @@ export type {
56
83
  IValueChanged,
57
84
  } from "@fluidframework/map/internal";
58
85
 
59
- export {
60
- DirectoryFactory,
61
- MapFactory,
62
- SharedDirectory,
63
- SharedMap,
64
- } from "@fluidframework/map/internal";
86
+ export { SharedDirectory, SharedMap } from "@fluidframework/map/internal";
65
87
 
66
88
  export type {
67
89
  DeserializeCallback,
@@ -80,6 +102,7 @@ export type {
80
102
  SequencePlace,
81
103
  SharedStringSegment,
82
104
  Side,
105
+ ISharedSegmentSequence,
83
106
  } from "@fluidframework/sequence/internal";
84
107
 
85
108
  export {
@@ -88,6 +111,12 @@ export {
88
111
  SequenceEvent,
89
112
  SequenceInterval,
90
113
  SequenceMaintenanceEvent,
91
- SharedSegmentSequence,
92
114
  SharedString,
93
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