fluid-framework 2.30.0 → 2.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1307 -1192
- package/api-extractor/api-extractor.current.json +0 -3
- package/api-report/fluid-framework.alpha.api.md +236 -88
- package/api-report/fluid-framework.beta.api.md +83 -58
- package/api-report/fluid-framework.legacy.alpha.api.md +141 -61
- package/api-report/fluid-framework.legacy.public.api.md +83 -58
- package/api-report/fluid-framework.public.api.md +83 -58
- package/dist/alpha.d.ts +27 -1
- package/dist/beta.d.ts +5 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -9
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +8 -1
- package/dist/public.d.ts +5 -1
- package/lib/alpha.d.ts +27 -1
- package/lib/beta.d.ts +5 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +8 -1
- package/lib/public.d.ts +5 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +13 -15
- package/src/index.ts +5 -0
- package/prettier.config.cjs +0 -8
|
@@ -90,7 +90,7 @@ type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ?
|
|
|
90
90
|
type FieldHasDefault<T extends ImplicitFieldSchema> = T extends FieldSchema<FieldKind.Optional | FieldKind.Identifier> ? true : false;
|
|
91
91
|
|
|
92
92
|
// @public @sealed
|
|
93
|
-
type FieldHasDefaultUnsafe<T extends
|
|
93
|
+
type FieldHasDefaultUnsafe<T extends ImplicitFieldSchemaUnsafe> = T extends FieldSchemaUnsafe<FieldKind.Optional | FieldKind.Identifier, ImplicitAllowedTypesUnsafe> ? true : false;
|
|
94
94
|
|
|
95
95
|
// @public
|
|
96
96
|
export enum FieldKind {
|
|
@@ -108,10 +108,14 @@ export interface FieldProps<TCustomMetadata = unknown> {
|
|
|
108
108
|
|
|
109
109
|
// @public @sealed
|
|
110
110
|
export class FieldSchema<out Kind extends FieldKind = FieldKind, out Types extends ImplicitAllowedTypes = ImplicitAllowedTypes, out TCustomMetadata = unknown> {
|
|
111
|
+
protected constructor(
|
|
112
|
+
kind: Kind,
|
|
113
|
+
allowedTypes: Types,
|
|
114
|
+
props?: FieldProps<TCustomMetadata> | undefined);
|
|
111
115
|
readonly allowedTypes: Types;
|
|
112
116
|
get allowedTypeSet(): ReadonlySet<TreeNodeSchema>;
|
|
113
117
|
readonly kind: Kind;
|
|
114
|
-
get metadata(): FieldSchemaMetadata<TCustomMetadata
|
|
118
|
+
get metadata(): FieldSchemaMetadata<TCustomMetadata>;
|
|
115
119
|
readonly props?: FieldProps<TCustomMetadata> | undefined;
|
|
116
120
|
readonly requiresValue: boolean;
|
|
117
121
|
protected _typeCheck: MakeNominal;
|
|
@@ -123,8 +127,8 @@ export interface FieldSchemaMetadata<TCustomMetadata = unknown> {
|
|
|
123
127
|
readonly description?: string | undefined;
|
|
124
128
|
}
|
|
125
129
|
|
|
126
|
-
// @public
|
|
127
|
-
export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends
|
|
130
|
+
// @public @sealed
|
|
131
|
+
export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchema<Kind, any, TCustomMetadata> {
|
|
128
132
|
readonly allowedTypes: Types;
|
|
129
133
|
readonly allowedTypeSet: ReadonlySet<TreeNodeSchema>;
|
|
130
134
|
readonly kind: Kind;
|
|
@@ -444,7 +448,7 @@ export interface IInterval {
|
|
|
444
448
|
union(b: IInterval): IInterval;
|
|
445
449
|
}
|
|
446
450
|
|
|
447
|
-
// @alpha
|
|
451
|
+
// @alpha @deprecated
|
|
448
452
|
export interface IIntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> {
|
|
449
453
|
// (undocumented)
|
|
450
454
|
[Symbol.iterator](): Iterator<TInterval>;
|
|
@@ -502,9 +506,15 @@ export interface IMember {
|
|
|
502
506
|
// @public
|
|
503
507
|
export type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
|
|
504
508
|
|
|
509
|
+
// @public
|
|
510
|
+
export type ImplicitAllowedTypesUnsafe = TreeNodeSchemaUnsafe | readonly LazyItem<Unenforced<TreeNodeSchema>>[];
|
|
511
|
+
|
|
505
512
|
// @public
|
|
506
513
|
export type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
|
|
507
514
|
|
|
515
|
+
// @public
|
|
516
|
+
export type ImplicitFieldSchemaUnsafe = FieldSchemaUnsafe<FieldKind, ImplicitAllowedTypesUnsafe> | ImplicitAllowedTypesUnsafe;
|
|
517
|
+
|
|
508
518
|
// @public
|
|
509
519
|
export type InitialObjects<T extends ContainerSchema> = {
|
|
510
520
|
[K in keyof T["initialObjects"]]: T["initialObjects"][K] extends SharedObjectKind<infer TChannel> ? TChannel : never;
|
|
@@ -517,24 +527,26 @@ type _InlineTrick = 0;
|
|
|
517
527
|
export type Input<T extends never> = T;
|
|
518
528
|
|
|
519
529
|
// @public
|
|
520
|
-
type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> =
|
|
530
|
+
type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {
|
|
531
|
+
arbitraryKey: "arbitraryValue";
|
|
532
|
+
} extends T ? Record<string, never> : never : FlattenKeys<{
|
|
521
533
|
readonly [Property in keyof T]?: InsertableTreeFieldFromImplicitField<T[Property & string]>;
|
|
522
534
|
} & {
|
|
523
535
|
readonly [Property in keyof T as FieldHasDefault<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitField<T[Property & string]>;
|
|
524
536
|
}>;
|
|
525
537
|
|
|
526
538
|
// @public
|
|
527
|
-
export type InsertableObjectFromSchemaRecordUnsafe<T extends
|
|
528
|
-
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property]>;
|
|
539
|
+
export type InsertableObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
|
|
540
|
+
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
|
|
529
541
|
} & {
|
|
530
|
-
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property]>;
|
|
542
|
+
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
|
|
531
543
|
};
|
|
532
544
|
|
|
533
545
|
// @public
|
|
534
546
|
export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
|
|
535
547
|
|
|
536
548
|
// @public
|
|
537
|
-
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends
|
|
549
|
+
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends ImplicitFieldSchemaUnsafe, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
|
|
538
550
|
|
|
539
551
|
// @public
|
|
540
552
|
export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> = TList extends readonly [
|
|
@@ -543,7 +555,7 @@ LazyItem<infer TSchema extends TreeNodeSchema>,
|
|
|
543
555
|
] ? InsertableTypedNode<TSchema> | InsertableTreeNodeFromAllowedTypes<Rest> : never;
|
|
544
556
|
|
|
545
557
|
// @public
|
|
546
|
-
export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends
|
|
558
|
+
export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = TList extends readonly [
|
|
547
559
|
LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
|
|
548
560
|
...infer Rest extends AllowedTypesUnsafe
|
|
549
561
|
] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
|
|
@@ -554,13 +566,13 @@ TSchema
|
|
|
554
566
|
] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
|
|
555
567
|
|
|
556
568
|
// @public
|
|
557
|
-
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends
|
|
569
|
+
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
|
|
558
570
|
|
|
559
571
|
// @public
|
|
560
572
|
export type InsertableTypedNode<TSchema extends TreeNodeSchema, T = UnionToIntersection<TSchema>> = (T extends TreeNodeSchema<string, NodeKind, TreeNode | TreeLeafValue, never, true> ? NodeBuilderData<T> : never) | (T extends TreeNodeSchema ? Unhydrated<TreeNode extends NodeFromSchema<T> ? never : NodeFromSchema<T>> : never);
|
|
561
573
|
|
|
562
574
|
// @public
|
|
563
|
-
type InsertableTypedNodeUnsafe<TSchema extends
|
|
575
|
+
type InsertableTypedNodeUnsafe<TSchema extends TreeNodeSchemaUnsafe, T = UnionToIntersection<TSchema>> = (T extends TreeNodeSchemaUnsafe<string, NodeKind, TreeNode | TreeLeafValue, never, true> ? NodeBuilderDataUnsafe<T> : never) | (T extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<T> : never);
|
|
564
576
|
|
|
565
577
|
export { InteriorSequencePlace }
|
|
566
578
|
|
|
@@ -665,6 +677,55 @@ export interface ISequenceDeltaRange<TOperation extends MergeTreeDeltaOperationT
|
|
|
665
677
|
segment: ISegment;
|
|
666
678
|
}
|
|
667
679
|
|
|
680
|
+
// @alpha
|
|
681
|
+
export interface ISequenceIntervalCollection extends TypedEventEmitter<ISequenceIntervalCollectionEvents> {
|
|
682
|
+
// (undocumented)
|
|
683
|
+
[Symbol.iterator](): Iterator<SequenceInterval>;
|
|
684
|
+
add({ start, end, props, }: {
|
|
685
|
+
start: SequencePlace;
|
|
686
|
+
end: SequencePlace;
|
|
687
|
+
props?: PropertySet;
|
|
688
|
+
}): SequenceInterval;
|
|
689
|
+
// (undocumented)
|
|
690
|
+
attachDeserializer(onDeserialize: DeserializeCallback): void;
|
|
691
|
+
// (undocumented)
|
|
692
|
+
readonly attached: boolean;
|
|
693
|
+
attachIndex(index: SequenceIntervalIndex): void;
|
|
694
|
+
change(id: string, { start, end, props }: {
|
|
695
|
+
start?: SequencePlace;
|
|
696
|
+
end?: SequencePlace;
|
|
697
|
+
props?: PropertySet;
|
|
698
|
+
}): SequenceInterval | undefined;
|
|
699
|
+
// (undocumented)
|
|
700
|
+
CreateBackwardIteratorWithEndPosition(endPosition: number): Iterator<SequenceInterval>;
|
|
701
|
+
// (undocumented)
|
|
702
|
+
CreateBackwardIteratorWithStartPosition(startPosition: number): Iterator<SequenceInterval>;
|
|
703
|
+
// (undocumented)
|
|
704
|
+
CreateForwardIteratorWithEndPosition(endPosition: number): Iterator<SequenceInterval>;
|
|
705
|
+
// (undocumented)
|
|
706
|
+
CreateForwardIteratorWithStartPosition(startPosition: number): Iterator<SequenceInterval>;
|
|
707
|
+
detachIndex(index: SequenceIntervalIndex): boolean;
|
|
708
|
+
// @deprecated (undocumented)
|
|
709
|
+
findOverlappingIntervals(startPosition: number, endPosition: number): SequenceInterval[];
|
|
710
|
+
gatherIterationResults(results: SequenceInterval[], iteratesForward: boolean, start?: number, end?: number): void;
|
|
711
|
+
// (undocumented)
|
|
712
|
+
getIntervalById(id: string): SequenceInterval | undefined;
|
|
713
|
+
map(fn: (interval: SequenceInterval) => void): void;
|
|
714
|
+
// @deprecated (undocumented)
|
|
715
|
+
nextInterval(pos: number): SequenceInterval | undefined;
|
|
716
|
+
// @deprecated (undocumented)
|
|
717
|
+
previousInterval(pos: number): SequenceInterval | undefined;
|
|
718
|
+
removeIntervalById(id: string): SequenceInterval | undefined;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
// @alpha
|
|
722
|
+
export interface ISequenceIntervalCollectionEvents extends IEvent {
|
|
723
|
+
(event: "changeInterval", listener: (interval: SequenceInterval, previousInterval: SequenceInterval, local: boolean, op: ISequencedDocumentMessage | undefined, slide: boolean) => void): void;
|
|
724
|
+
(event: "addInterval" | "deleteInterval", listener: (interval: SequenceInterval, local: boolean, op: ISequencedDocumentMessage | undefined) => void): void;
|
|
725
|
+
(event: "propertyChanged", listener: (interval: SequenceInterval, propertyDeltas: PropertySet, local: boolean, op: ISequencedDocumentMessage | undefined) => void): void;
|
|
726
|
+
(event: "changed", listener: (interval: SequenceInterval, propertyDeltas: PropertySet, previousInterval: SequenceInterval | undefined, local: boolean, slide: boolean) => void): void;
|
|
727
|
+
}
|
|
728
|
+
|
|
668
729
|
// @alpha (undocumented)
|
|
669
730
|
export interface ISerializableInterval extends IInterval {
|
|
670
731
|
getIntervalId(): string;
|
|
@@ -754,7 +815,7 @@ export interface ISharedObjectEvents extends IErrorEvent {
|
|
|
754
815
|
}
|
|
755
816
|
|
|
756
817
|
// @alpha (undocumented)
|
|
757
|
-
export interface ISharedSegmentSequence<T extends ISegment> extends ISharedObject<ISharedSegmentSequenceEvents>,
|
|
818
|
+
export interface ISharedSegmentSequence<T extends ISegment> extends ISharedObject<ISharedSegmentSequenceEvents>, MergeTreeRevertibleDriver {
|
|
758
819
|
annotateAdjustRange(start: number, end: number, adjust: MapLike<AdjustParams>): void;
|
|
759
820
|
annotateRange(start: number, end: number, props: PropertySet): void;
|
|
760
821
|
createLocalReferencePosition(segment: T, offset: number, refType: ReferenceType, properties: PropertySet | undefined, slidingPreference?: SlidingPreference, canSlideToEndpoint?: boolean): LocalReferencePosition;
|
|
@@ -764,7 +825,7 @@ export interface ISharedSegmentSequence<T extends ISegment> extends ISharedObjec
|
|
|
764
825
|
};
|
|
765
826
|
// (undocumented)
|
|
766
827
|
getCurrentSeq(): number;
|
|
767
|
-
getIntervalCollection(label: string):
|
|
828
|
+
getIntervalCollection(label: string): ISequenceIntervalCollection;
|
|
768
829
|
// (undocumented)
|
|
769
830
|
getIntervalCollectionLabels(): IterableIterator<string>;
|
|
770
831
|
getLength(): number;
|
|
@@ -862,6 +923,10 @@ export interface IValueChanged {
|
|
|
862
923
|
// @public
|
|
863
924
|
export type LazyItem<Item = unknown> = Item | (() => Item);
|
|
864
925
|
|
|
926
|
+
// @public @sealed
|
|
927
|
+
export interface LeafSchema<Name extends string, T extends TreeLeafValue> extends TreeNodeSchemaNonClass<`com.fluidframework.leaf.${Name}`, NodeKind.Leaf, T, T, true> {
|
|
928
|
+
}
|
|
929
|
+
|
|
865
930
|
// @public @sealed
|
|
866
931
|
export interface Listenable<TListeners extends object> {
|
|
867
932
|
off<K extends keyof Listeners<TListeners>>(eventName: K, listener: TListeners[K]): void;
|
|
@@ -928,13 +993,13 @@ export interface NodeSchemaOptions<out TCustomMetadata = unknown> {
|
|
|
928
993
|
}
|
|
929
994
|
|
|
930
995
|
// @public
|
|
931
|
-
type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = {
|
|
996
|
+
type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {} : {
|
|
932
997
|
-readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitField<T[Property]> : unknown;
|
|
933
998
|
};
|
|
934
999
|
|
|
935
1000
|
// @public
|
|
936
|
-
type ObjectFromSchemaRecordUnsafe<T extends
|
|
937
|
-
-readonly [Property in keyof T]: TreeFieldFromImplicitFieldUnsafe<T[Property]
|
|
1001
|
+
type ObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
|
|
1002
|
+
-readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitFieldUnsafe<T[Property]> : unknown;
|
|
938
1003
|
};
|
|
939
1004
|
|
|
940
1005
|
// @public
|
|
@@ -945,7 +1010,7 @@ export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends Rea
|
|
|
945
1010
|
}
|
|
946
1011
|
|
|
947
1012
|
// @public @sealed
|
|
948
|
-
interface ReadonlyMapInlined<K, T extends
|
|
1013
|
+
interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
|
|
949
1014
|
[Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
950
1015
|
entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
951
1016
|
// (undocumented)
|
|
@@ -1023,24 +1088,24 @@ export interface SchemaCompatibilityStatus {
|
|
|
1023
1088
|
}
|
|
1024
1089
|
|
|
1025
1090
|
// @public @sealed
|
|
1026
|
-
export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> {
|
|
1091
|
+
export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> implements SchemaStatics {
|
|
1027
1092
|
constructor(
|
|
1028
1093
|
scope: TScope);
|
|
1029
1094
|
array<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T, undefined>;
|
|
1030
1095
|
array<const Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T, undefined>;
|
|
1031
|
-
arrayRecursive<const Name extends TName, const T extends
|
|
1096
|
+
arrayRecursive<const Name extends TName, const T extends ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array, unknown>, {
|
|
1032
1097
|
[Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
1033
1098
|
}, false, T, undefined>;
|
|
1034
|
-
readonly boolean:
|
|
1035
|
-
static readonly boolean:
|
|
1036
|
-
readonly handle:
|
|
1037
|
-
static readonly handle:
|
|
1099
|
+
readonly boolean: LeafSchema<"boolean", boolean>;
|
|
1100
|
+
static readonly boolean: LeafSchema<"boolean", boolean>;
|
|
1101
|
+
readonly handle: LeafSchema<"handle", IFluidHandle<unknown>>;
|
|
1102
|
+
static readonly handle: LeafSchema<"handle", IFluidHandle<unknown>>;
|
|
1038
1103
|
get identifier(): FieldSchema<FieldKind.Identifier, typeof SchemaFactory.string>;
|
|
1039
|
-
readonly leaves: readonly [
|
|
1040
|
-
static readonly leaves: readonly [
|
|
1104
|
+
readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>];
|
|
1105
|
+
static readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>];
|
|
1041
1106
|
map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
|
|
1042
1107
|
map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
|
|
1043
|
-
mapRecursive<Name extends TName, const T extends
|
|
1108
|
+
mapRecursive<Name extends TName, const T extends ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map, unknown>, {
|
|
1044
1109
|
[Symbol.iterator](): Iterator<[
|
|
1045
1110
|
string,
|
|
1046
1111
|
InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
|
|
@@ -1048,38 +1113,44 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
|
|
|
1048
1113
|
} | {
|
|
1049
1114
|
readonly [x: string]: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
|
|
1050
1115
|
}, false, T, undefined>;
|
|
1051
|
-
readonly null:
|
|
1052
|
-
static readonly null:
|
|
1053
|
-
readonly number:
|
|
1054
|
-
static readonly number:
|
|
1116
|
+
readonly null: LeafSchema<"null", null>;
|
|
1117
|
+
static readonly null: LeafSchema<"null", null>;
|
|
1118
|
+
readonly number: LeafSchema<"number", number>;
|
|
1119
|
+
static readonly number: LeafSchema<"number", number>;
|
|
1055
1120
|
object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>>(name: Name, fields: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
|
|
1056
|
-
objectRecursive<const Name extends TName, const T extends
|
|
1121
|
+
objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
|
|
1057
1122
|
readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
|
|
1058
1123
|
static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
|
|
1059
|
-
readonly optionalRecursive: <const T extends unknown>(t: T, props?: Omit<FieldProps<
|
|
1060
|
-
static readonly optionalRecursive: <const T extends unknown>(t: T, props?: Omit<FieldProps<
|
|
1124
|
+
readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
1125
|
+
static readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
1061
1126
|
readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
|
|
1062
1127
|
static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
|
|
1063
|
-
readonly requiredRecursive: <const T extends unknown>(t: T, props?: Omit<FieldProps<
|
|
1064
|
-
static readonly requiredRecursive: <const T extends unknown>(t: T, props?: Omit<FieldProps<
|
|
1128
|
+
readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
1129
|
+
static readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
1065
1130
|
readonly scope: TScope;
|
|
1066
|
-
readonly string:
|
|
1067
|
-
static readonly string:
|
|
1131
|
+
readonly string: LeafSchema<"string", string>;
|
|
1132
|
+
static readonly string: LeafSchema<"string", string>;
|
|
1068
1133
|
}
|
|
1069
1134
|
|
|
1070
1135
|
// @public @sealed
|
|
1071
|
-
export
|
|
1072
|
-
readonly
|
|
1073
|
-
readonly
|
|
1074
|
-
readonly
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1136
|
+
export interface SchemaStatics {
|
|
1137
|
+
readonly boolean: LeafSchema<"boolean", boolean>;
|
|
1138
|
+
readonly handle: LeafSchema<"handle", IFluidHandle>;
|
|
1139
|
+
readonly leaves: readonly [
|
|
1140
|
+
SchemaStatics["string"],
|
|
1141
|
+
SchemaStatics["number"],
|
|
1142
|
+
SchemaStatics["boolean"],
|
|
1143
|
+
SchemaStatics["null"],
|
|
1144
|
+
SchemaStatics["handle"]
|
|
1145
|
+
];
|
|
1146
|
+
readonly null: LeafSchema<"null", null>;
|
|
1147
|
+
readonly number: LeafSchema<"number", number>;
|
|
1078
1148
|
readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
|
|
1079
|
-
readonly
|
|
1080
|
-
readonly
|
|
1081
|
-
readonly requiredRecursive: <const
|
|
1082
|
-
|
|
1149
|
+
readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
1150
|
+
readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
|
|
1151
|
+
readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
1152
|
+
readonly string: LeafSchema<"string", string>;
|
|
1153
|
+
}
|
|
1083
1154
|
|
|
1084
1155
|
// @public
|
|
1085
1156
|
type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
|
|
@@ -1131,6 +1202,12 @@ export interface SequenceInterval extends ISerializableInterval {
|
|
|
1131
1202
|
union(b: SequenceInterval): SequenceInterval;
|
|
1132
1203
|
}
|
|
1133
1204
|
|
|
1205
|
+
// @alpha
|
|
1206
|
+
export interface SequenceIntervalIndex {
|
|
1207
|
+
add(interval: SequenceInterval): void;
|
|
1208
|
+
remove(interval: SequenceInterval): void;
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1134
1211
|
// @alpha
|
|
1135
1212
|
export interface SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenanceType> {
|
|
1136
1213
|
// (undocumented)
|
|
@@ -1170,6 +1247,12 @@ export const SharedTree: SharedObjectKind<ITree>;
|
|
|
1170
1247
|
|
|
1171
1248
|
export { Side }
|
|
1172
1249
|
|
|
1250
|
+
// @public @sealed
|
|
1251
|
+
export interface SimpleNodeSchemaBase<out TNodeKind extends NodeKind, out TCustomMetadata = unknown> {
|
|
1252
|
+
readonly kind: TNodeKind;
|
|
1253
|
+
readonly metadata: NodeSchemaMetadata<TCustomMetadata>;
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1173
1256
|
// @public
|
|
1174
1257
|
export interface Tagged<V, T extends string = string> {
|
|
1175
1258
|
// (undocumented)
|
|
@@ -1197,7 +1280,7 @@ interface TreeApi extends TreeNodeApi {
|
|
|
1197
1280
|
}
|
|
1198
1281
|
|
|
1199
1282
|
// @public @sealed
|
|
1200
|
-
export interface TreeArrayNode<TAllowedTypes extends
|
|
1283
|
+
export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypesUnsafe = ImplicitAllowedTypes, out T = [TAllowedTypes] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TAllowedTypes> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TNew = [TAllowedTypes] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes> : InsertableTreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TMoveFrom = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
|
|
1201
1284
|
insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
1202
1285
|
insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
1203
1286
|
insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
@@ -1224,7 +1307,7 @@ export const TreeArrayNode: {
|
|
|
1224
1307
|
};
|
|
1225
1308
|
|
|
1226
1309
|
// @public @sealed
|
|
1227
|
-
export interface TreeArrayNodeUnsafe<TAllowedTypes extends
|
|
1310
|
+
export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
|
|
1228
1311
|
}
|
|
1229
1312
|
|
|
1230
1313
|
// @public @sealed
|
|
@@ -1237,7 +1320,7 @@ export interface TreeChangeEvents {
|
|
|
1237
1320
|
export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TreeNode | TreeLeafValue | undefined;
|
|
1238
1321
|
|
|
1239
1322
|
// @public
|
|
1240
|
-
type TreeFieldFromImplicitFieldUnsafe<TSchema extends
|
|
1323
|
+
type TreeFieldFromImplicitFieldUnsafe<TSchema extends ImplicitFieldSchemaUnsafe> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypesUnsafe ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
1241
1324
|
|
|
1242
1325
|
// @public
|
|
1243
1326
|
export type TreeLeafValue = number | string | boolean | IFluidHandle | null;
|
|
@@ -1253,7 +1336,7 @@ export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTyp
|
|
|
1253
1336
|
}
|
|
1254
1337
|
|
|
1255
1338
|
// @public @sealed
|
|
1256
|
-
export interface TreeMapNodeUnsafe<T extends
|
|
1339
|
+
export interface TreeMapNodeUnsafe<T extends ImplicitAllowedTypesUnsafe> extends ReadonlyMapInlined<string, T>, TreeNode {
|
|
1257
1340
|
delete(key: string): void;
|
|
1258
1341
|
set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
|
|
1259
1342
|
}
|
|
@@ -1283,7 +1366,7 @@ export interface TreeNodeApi {
|
|
|
1283
1366
|
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
1284
1367
|
|
|
1285
1368
|
// @public
|
|
1286
|
-
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends
|
|
1369
|
+
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
|
|
1287
1370
|
|
|
1288
1371
|
// @public @sealed
|
|
1289
1372
|
export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown, TCustomMetadata = unknown> = (TNode extends TreeNode ? TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info, never, TCustomMetadata> : never) | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info, never, TCustomMetadata>;
|
|
@@ -1296,22 +1379,19 @@ export type TreeNodeSchemaClass<Name extends string = string, Kind extends NodeK
|
|
|
1296
1379
|
});
|
|
1297
1380
|
|
|
1298
1381
|
// @public
|
|
1299
|
-
export interface TreeNodeSchemaClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
1382
|
+
export interface TreeNodeSchemaClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info, out TCustomMetadata = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info, never, TCustomMetadata> {
|
|
1300
1383
|
// @sealed
|
|
1301
1384
|
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
1302
1385
|
}
|
|
1303
1386
|
|
|
1304
1387
|
// @public @sealed
|
|
1305
|
-
export interface TreeNodeSchemaCore<out Name extends string, out Kind extends NodeKind, out ImplicitlyConstructable extends boolean, out Info = unknown, out TInsertable = never, out TCustomMetadata = unknown> {
|
|
1388
|
+
export interface TreeNodeSchemaCore<out Name extends string, out Kind extends NodeKind, out ImplicitlyConstructable extends boolean, out Info = unknown, out TInsertable = never, out TCustomMetadata = unknown> extends SimpleNodeSchemaBase<Kind, TCustomMetadata> {
|
|
1306
1389
|
readonly childTypes: ReadonlySet<TreeNodeSchema>;
|
|
1307
1390
|
// @sealed
|
|
1308
1391
|
createFromInsertable(data: TInsertable): Unhydrated<TreeNode | TreeLeafValue>;
|
|
1309
1392
|
readonly identifier: Name;
|
|
1310
1393
|
readonly implicitlyConstructable: ImplicitlyConstructable;
|
|
1311
1394
|
readonly info: Info;
|
|
1312
|
-
// (undocumented)
|
|
1313
|
-
readonly kind: Kind;
|
|
1314
|
-
readonly metadata?: NodeSchemaMetadata<TCustomMetadata> | undefined;
|
|
1315
1395
|
}
|
|
1316
1396
|
|
|
1317
1397
|
// @public @sealed
|
|
@@ -1334,7 +1414,7 @@ type TreeNodeSchemaUnsafe<Name extends string = string, Kind extends NodeKind =
|
|
|
1334
1414
|
export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
1335
1415
|
|
|
1336
1416
|
// @public
|
|
1337
|
-
export type TreeObjectNodeUnsafe<T extends
|
|
1417
|
+
export type TreeObjectNodeUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
1338
1418
|
|
|
1339
1419
|
// @public
|
|
1340
1420
|
export enum TreeStatus {
|