fluid-framework 2.117.0 → 3.0.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.
@@ -5,9 +5,7 @@
5
5
  ```ts
6
6
 
7
7
  // @beta
8
- export function adaptEnum<TScope extends string, const TEnum extends Record<string, string | number>>(factory: SchemaFactory<TScope>, members: TEnum): (<TValue extends TEnum[keyof TEnum]>(value: TValue) => TValue extends unknown ? TreeNode & {
9
- readonly value: TValue;
10
- } : never) & { readonly [Property in keyof TEnum]: TreeNodeSchemaClass<ScopedSchemaName<TScope, TEnum[Property]>, NodeKind.Object, TreeNode & {
8
+ export function adaptEnum<TScope extends string, const TEnum extends Record<string, string | number>>(factory: SchemaFactory<TScope>, members: TEnum): (<TValue extends TEnum[keyof TEnum]>(value: TValue) => TValue extends unknown ? NodeFromSchema<ReturnType<typeof singletonSchema<TScope, TValue>>> : never) & { readonly [Property in keyof TEnum]: TreeNodeSchemaClass<ScopedSchemaName<TScope, TEnum[Property]>, NodeKind.Object, TreeNode & {
11
9
  readonly value: TEnum[Property];
12
10
  }, Record<string, never>, true, Record<string, never>, undefined>; } & {
13
11
  readonly schema: UnionToTuple<{ readonly [Property in keyof TEnum]: TreeNodeSchemaClass<ScopedSchemaName<TScope, TEnum[Property]>, NodeKind.Object, TreeNode & {
@@ -86,6 +84,41 @@ type ApplyKindInput<T, Kind extends FieldKind, DefaultsAreOptional extends boole
86
84
  Kind
87
85
  ] extends [FieldKind.Required] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : [Kind] extends [FieldKind.Identifier] ? DefaultsAreOptional extends true ? T | undefined : T : never;
88
86
 
87
+ // @beta @sealed
88
+ export type ArrayNodeDeltaOp = ArrayNodeRetainOp | ArrayNodeInsertOp | ArrayNodeRemoveOp;
89
+
90
+ // @beta @sealed
91
+ export interface ArrayNodeInsertOp {
92
+ // (undocumented)
93
+ readonly count: number;
94
+ // (undocumented)
95
+ readonly type: "insert";
96
+ }
97
+
98
+ // @beta @sealed
99
+ export interface ArrayNodeRemoveOp {
100
+ // (undocumented)
101
+ readonly count: number;
102
+ // (undocumented)
103
+ readonly type: "remove";
104
+ }
105
+
106
+ // @beta @sealed
107
+ export interface ArrayNodeRetainOp {
108
+ // (undocumented)
109
+ readonly count: number;
110
+ // (undocumented)
111
+ readonly type: "retain";
112
+ }
113
+
114
+ // @beta
115
+ export type ArrayNodeTreeChangedDeltaOp = ArrayNodeTreeChangedRetainOp | ArrayNodeInsertOp | ArrayNodeRemoveOp;
116
+
117
+ // @beta @sealed
118
+ export interface ArrayNodeTreeChangedRetainOp extends ArrayNodeRetainOp {
119
+ readonly subtreeChanged: boolean;
120
+ }
121
+
89
122
  // @beta
90
123
  export function asBeta<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): TreeViewBeta<TSchema>;
91
124
 
@@ -160,6 +193,9 @@ export function createIdentifierIndex<TSchema extends ImplicitFieldSchema>(view:
160
193
  // @beta
161
194
  export function createIndependentTreeBeta<const TSchema extends ImplicitFieldSchema>(options?: ForestOptions): ViewableTree;
162
195
 
196
+ // @beta
197
+ export function createIndependentTreeView<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options?: ForestOptions): TreeViewBeta<TSchema>;
198
+
163
199
  // @beta
164
200
  export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, indexer: (schema: TreeNodeSchema) => string | undefined, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
165
201
 
@@ -180,9 +216,7 @@ interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider
180
216
  export type DeserializeCallback = (properties: PropertySet) => void;
181
217
 
182
218
  // @beta
183
- export function enumFromStrings<TScope extends string, const Members extends readonly string[]>(factory: SchemaFactory<TScope>, members: Members): (<TValue extends Members[number]>(value: TValue) => TValue extends unknown ? TreeNode & {
184
- readonly value: TValue;
185
- } : never) & { [Index in Extract<keyof Members, `${number}`> extends `${infer N extends number}` ? N : never as Members[Index]]: TreeNodeSchemaClass<ScopedSchemaName<TScope, Members[Index]>, NodeKind.Object, TreeNode & {
219
+ export function enumFromStrings<TScope extends string, const Members extends readonly string[]>(factory: SchemaFactory<TScope>, members: Members): (<TValue extends Members[number]>(value: TValue) => TValue extends unknown ? NodeFromSchema<ReturnType<typeof singletonSchema<TScope, TValue>>> : never) & { [Index in Extract<keyof Members, `${number}`> extends `${infer N extends number}` ? N : never as Members[Index]]: TreeNodeSchemaClass<ScopedSchemaName<TScope, Members[Index]>, NodeKind.Object, TreeNode & {
186
220
  readonly value: Members[Index];
187
221
  }, Record<string, never>, true, Record<string, never>, undefined>; } & {
188
222
  readonly schema: UnionToTuple<Members[number] extends unknown ? { [Index in Extract<keyof Members, `${number}`> extends `${infer N extends number}` ? N : never as Members[Index]]: TreeNodeSchemaClass<ScopedSchemaName<TScope, Members[Index]>, NodeKind.Object, TreeNode & {
@@ -376,7 +410,7 @@ export namespace FluidSerializableAsTree {
376
410
  export type _RecursiveArrayWorkaroundJsonArray = FixRecursiveArraySchema<typeof Array>;
377
411
  const // @system
378
412
  _APIExtractorWorkaroundArrayBase: TreeNodeSchemaClass<"com.fluidframework.serializable.array", NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<readonly [() => typeof FluidSerializableObject, () => typeof Array, LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>]> & WithType<"com.fluidframework.serializable.array", NodeKind.Array, unknown>, {
379
- [Symbol.iterator](): Iterator<string | number | IFluidHandle<unknown> | System_Unsafe.InsertableTypedNodeUnsafe<LeafSchema<"boolean", boolean>, LeafSchema<"boolean", boolean>> | FluidSerializableObject | Array | null, any, undefined>;
413
+ [Symbol.iterator](): Iterator<string | number | IFluidHandle<unknown> | System_Unsafe.InsertableTypedNodeUnsafe<LeafSchema<"boolean", boolean>, LeafSchema<"boolean", boolean>> | FluidSerializableObject | Array | null, any, any>;
380
414
  }, false, readonly [() => typeof FluidSerializableObject, () => typeof Array, LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>], undefined>;
381
415
  // (undocumented)
382
416
  export type Tree = TreeNodeFromImplicitAllowedTypes<typeof Tree>;
@@ -423,17 +457,19 @@ export type ICriticalContainerError = IErrorBase;
423
457
  export type IdentifierIndex = TreeIndex<string, TreeNode>;
424
458
 
425
459
  // @public @sealed @legacy
426
- export interface IDirectory extends Map<string, any>, IEventProvider<IDirectoryEvents>, Partial<IDisposable> {
460
+ export interface IDirectory extends FluidMap<string, any>, IEventProvider<IDirectoryEvents>, Partial<IDisposable> {
427
461
  readonly absolutePath: string;
462
+ clear(): void;
428
463
  countSubDirectory?(): number;
429
464
  createSubDirectory(subdirName: string): IDirectory;
465
+ delete(key: string): boolean;
430
466
  deleteSubDirectory(subdirName: string): boolean;
431
467
  get<T = any>(key: string): T | undefined;
432
468
  getSubDirectory(subdirName: string): IDirectory | undefined;
433
469
  getWorkingDirectory(relativePath: string): IDirectory | undefined;
434
470
  hasSubDirectory(subdirName: string): boolean;
435
471
  set<T = unknown>(key: string, value: T): this;
436
- subdirectories(): IterableIterator<[string, IDirectory]>;
472
+ subdirectories(): FluidIterableIterator<[string, IDirectory]>;
437
473
  }
438
474
 
439
475
  // @public @sealed @legacy
@@ -762,7 +798,7 @@ declare namespace InternalTypes {
762
798
  FieldHasDefault,
763
799
  ScopedSchemaName,
764
800
  DefaultProvider,
765
- typeNameSymbol,
801
+ schemaIdentifierBrand,
766
802
  InsertableObjectFromSchemaRecord,
767
803
  FlexList,
768
804
  FlexListToUnion,
@@ -909,7 +945,7 @@ export function isFluidHandle(value: unknown): value is IFluidHandle;
909
945
  // @beta @sealed @legacy
910
946
  export interface ISharedDirectory extends ISharedObject<ISharedDirectoryEvents & IDirectoryEvents>, Omit<IDirectory, "on" | "once" | "off"> {
911
947
  // (undocumented)
912
- [Symbol.iterator](): IterableIterator<[string, any]>;
948
+ [Symbol.iterator](): FluidIterableIterator<[string, any]>;
913
949
  // (undocumented)
914
950
  readonly [Symbol.toStringTag]: string;
915
951
  }
@@ -925,7 +961,9 @@ export interface ISharedDirectoryEvents extends ISharedObjectEvents {
925
961
  }
926
962
 
927
963
  // @beta @sealed @legacy
928
- export interface ISharedMap extends ISharedObject<ISharedMapEvents>, Map<string, any> {
964
+ export interface ISharedMap extends ISharedObject<ISharedMapEvents>, FluidMap<string, any> {
965
+ clear(): void;
966
+ delete(key: string): boolean;
929
967
  get<T = any>(key: string): T | undefined;
930
968
  set<T = unknown>(key: string, value: T): this;
931
969
  }
@@ -1034,10 +1072,10 @@ export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
1034
1072
  eventName: string;
1035
1073
  }
1036
1074
 
1037
- // @public
1075
+ // @public @input
1038
1076
  export interface ITelemetryBaseLogger {
1039
1077
  minLogLevel?: LogLevel | undefined;
1040
- send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
1078
+ send(event: ITelemetryBaseEvent, logLevel: LogLevel): void;
1041
1079
  }
1042
1080
 
1043
1081
  // @public
@@ -1119,10 +1157,6 @@ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
1119
1157
 
1120
1158
  // @public
1121
1159
  export interface LogLevelConst {
1122
- // @deprecated
1123
- readonly default: 20;
1124
- // @deprecated
1125
- readonly error: 30;
1126
1160
  readonly essential: 30;
1127
1161
  readonly info: 20;
1128
1162
  readonly verbose: 10;
@@ -1149,6 +1183,22 @@ type NodeBuilderData<T extends TreeNodeSchemaCore<string, NodeKind, boolean>> =
1149
1183
  // @beta @sealed
1150
1184
  export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
1151
1185
  readonly changedProperties?: ReadonlySet<TNode extends WithType<string, NodeKind.Object, infer TInfo> ? string & keyof TInfo : string>;
1186
+ readonly delta?: readonly ArrayNodeDeltaOp[] | undefined;
1187
+ }
1188
+
1189
+ // @beta @sealed
1190
+ export interface NodeChangedDataDelta extends NodeChangedData {
1191
+ readonly delta: readonly ArrayNodeDeltaOp[] | undefined;
1192
+ }
1193
+
1194
+ // @beta @sealed
1195
+ export interface NodeChangedDataProperties<TNode extends TreeNode = TreeNode> extends NodeChangedData<TNode> {
1196
+ readonly changedProperties: ReadonlySet<TNode extends WithType<string, NodeKind.Object, infer TInfo> ? string & keyof TInfo : string>;
1197
+ }
1198
+
1199
+ // @beta @sealed
1200
+ export interface NodeChangedDataTreeDelta {
1201
+ readonly delta: readonly ArrayNodeTreeChangedDeltaOp[] | undefined;
1152
1202
  }
1153
1203
 
1154
1204
  // @public
@@ -1207,7 +1257,7 @@ export function onAssertionFailure(handler: (error: Error) => void): () => void;
1207
1257
  export type PopUnion<Union, AsOverloadedFunction = UnionToIntersection<Union extends unknown ? (f: Union) => void : never>> = AsOverloadedFunction extends (a: infer First) => void ? First : never;
1208
1258
 
1209
1259
  // @public @sealed @system
1210
- export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
1260
+ export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends FluidReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
1211
1261
  }
1212
1262
 
1213
1263
  // @beta @system
@@ -1280,27 +1330,59 @@ export interface SchemaCompatibilityStatus {
1280
1330
  readonly isEquivalent: boolean;
1281
1331
  }
1282
1332
 
1333
+ // @beta @sealed
1334
+ export interface SchemaCompatibilityStatusBeta extends SchemaCompatibilityStatus {
1335
+ readonly discrepancies: readonly SchemaDiscrepancy[] | undefined;
1336
+ }
1337
+
1338
+ // @beta @sealed
1339
+ export type SchemaDiscrepancy = {
1340
+ readonly mismatch: "allowedTypes";
1341
+ readonly location: "root" | {
1342
+ readonly nodeType: string;
1343
+ readonly fieldKey: string | undefined;
1344
+ };
1345
+ readonly view: readonly string[];
1346
+ readonly stagedView?: readonly string[];
1347
+ readonly stored: readonly string[];
1348
+ readonly viewIsStagedOptional?: true;
1349
+ } | {
1350
+ readonly mismatch: "fieldKind";
1351
+ readonly location: "root" | {
1352
+ readonly nodeType: string;
1353
+ readonly fieldKey: string | undefined;
1354
+ };
1355
+ readonly view: string;
1356
+ readonly stored: string;
1357
+ readonly viewIsStagedOptional?: true;
1358
+ } | {
1359
+ readonly mismatch: "valueSchema";
1360
+ readonly nodeType: string;
1361
+ readonly view: string | undefined;
1362
+ readonly stored: string | undefined;
1363
+ } | {
1364
+ readonly mismatch: "nodeKind";
1365
+ readonly nodeType: string;
1366
+ readonly view: string;
1367
+ readonly stored: string;
1368
+ };
1369
+
1283
1370
  // @public @sealed
1284
1371
  export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactory_base {
1285
1372
  constructor(
1286
1373
  scope: TScope);
1287
1374
  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>;
1288
1375
  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>;
1289
- arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array, unknown>, {
1376
+ arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array>, {
1290
1377
  [Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
1291
1378
  }, false, T, undefined>;
1292
1379
  protected getStructuralType(fullName: string, types: TreeNodeSchema | readonly TreeNodeSchema[], builder: () => TreeNodeSchema): TreeNodeSchema;
1293
1380
  get identifier(): FieldSchema<FieldKind.Identifier, typeof SchemaFactory.string>;
1294
1381
  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>;
1295
1382
  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>;
1296
- mapRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, System_Unsafe.TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map, unknown>, {
1297
- [Symbol.iterator](): Iterator<[
1298
- string,
1299
- System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
1300
- ]>;
1301
- } | {
1302
- readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
1303
- }, false, T, undefined>;
1383
+ mapRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, System_Unsafe.TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map>, {
1384
+ [Symbol.iterator](): Iterator<[string, System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
1385
+ } | { readonly [P in string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>; }, false, T, undefined>;
1304
1386
  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>;
1305
1387
  objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
1306
1388
  readonly scope: TScope;
@@ -1316,20 +1398,21 @@ export class SchemaFactoryBeta<out TScope extends string | undefined = string |
1316
1398
  objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>, const TCustomMetadata = unknown>(name: Name, t: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T, never, TCustomMetadata>;
1317
1399
  record<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Record<${string}>`>, NodeKind.Record, TreeRecordNode<T> & WithType<ScopedSchemaName<TScope, `Record<${string}>`>, NodeKind.Record>, RecordNodeInsertableData<T>, true, T, undefined>;
1318
1400
  record<const Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record>, RecordNodeInsertableData<T>, true, T, undefined, TCustomMetadata>;
1319
- recordRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record, unknown>, {
1320
- readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
1321
- }, false, T, undefined, TCustomMetadata>;
1401
+ recordRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record>, { readonly [P in string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>; }, false, T, undefined, TCustomMetadata>;
1322
1402
  scopedFactory<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryBeta<ScopedSchemaName<TScope, T>, TNameInner>;
1323
1403
  static staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
1324
1404
  staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
1325
- static stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1326
- stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1327
- static types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
1328
- types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
1329
- static typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
1330
- typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
1405
+ static stagedRecursive: <const T extends Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1406
+ stagedRecursive: <const T extends Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1407
+ static types: <const T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixed<T>;
1408
+ types: <const T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixed<T>;
1409
+ static typesRecursive: <const T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixedUnsafe<T>;
1410
+ typesRecursive: <const T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixedUnsafe<T>;
1331
1411
  }
1332
1412
 
1413
+ // @public @system
1414
+ const schemaIdentifierBrand: unique symbol;
1415
+
1333
1416
  // @public @sealed @system
1334
1417
  export interface SchemaStatics {
1335
1418
  readonly boolean: LeafSchema<"boolean", boolean>;
@@ -1496,6 +1579,10 @@ export interface SnapshotSchemaCompatibilityOptions {
1496
1579
  readonly rejectVersionsWithNoSchemaChange?: true;
1497
1580
  readonly schema: TreeViewConfiguration;
1498
1581
  readonly snapshotDirectory: string;
1582
+ readonly snapshotFileNameFormat?: {
1583
+ readonly prefix?: string;
1584
+ readonly suffix?: string;
1585
+ };
1499
1586
  readonly snapshotUnchangedVersions?: true;
1500
1587
  readonly version: string;
1501
1588
  readonly versionComparer?: (a: string, b: string) => number;
@@ -1511,7 +1598,7 @@ export namespace System_TableSchema {
1511
1598
  export function createColumnSchema<const TUserScope extends string, const TCellSchema extends ImplicitAllowedTypes, const TPropsSchema extends ImplicitFieldSchema>(inputSchemaFactory: SchemaFactoryBeta<TUserScope>, propsSchema: TPropsSchema): TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Column">, NodeKind.Object, TreeNode & TableSchema.Column<TCellSchema, TPropsSchema> & WithType<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Column">, NodeKind, unknown>, object & {
1512
1599
  readonly id?: string | undefined;
1513
1600
  } & (FieldHasDefault<TPropsSchema> extends true ? {
1514
- props?: InsertableTreeFieldFromImplicitField<TPropsSchema> | undefined;
1601
+ props?: InsertableTreeFieldFromImplicitField<TPropsSchema>;
1515
1602
  } : {
1516
1603
  props: InsertableTreeFieldFromImplicitField<TPropsSchema>;
1517
1604
  }), true, {
@@ -1525,7 +1612,7 @@ export namespace System_TableSchema {
1525
1612
  readonly id?: string | undefined;
1526
1613
  readonly cells: (InsertableTypedNode<TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Row.cells">, NodeKind.Record, TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Row.cells">, NodeKind.Record, unknown>, RecordNodeInsertableData<TCellSchema>, true, TCellSchema, undefined, unknown>> | undefined) & InsertableTypedNode<TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Row.cells">, NodeKind.Record, TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Row.cells">, NodeKind.Record, unknown>, RecordNodeInsertableData<TCellSchema>, true, TCellSchema, undefined, unknown>>;
1527
1614
  } & (FieldHasDefault<TPropsSchema> extends true ? {
1528
- props?: InsertableTreeFieldFromImplicitField<TPropsSchema> | undefined;
1615
+ props?: InsertableTreeFieldFromImplicitField<TPropsSchema>;
1529
1616
  } : {
1530
1617
  props: InsertableTreeFieldFromImplicitField<TPropsSchema>;
1531
1618
  }), true, {
@@ -1606,18 +1693,20 @@ export namespace System_Unsafe {
1606
1693
  };
1607
1694
  // @sealed @system
1608
1695
  export interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
1609
- [Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
1610
- entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
1696
+ [Symbol.iterator](): FluidIterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
1697
+ // (undocumented)
1698
+ readonly [Symbol.toStringTag]: string;
1699
+ entries(): FluidIterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
1611
1700
  // (undocumented)
1612
- forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
1701
+ forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: FluidReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
1613
1702
  // (undocumented)
1614
1703
  get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
1615
1704
  // (undocumented)
1616
1705
  has(key: K): boolean;
1617
- keys(): IterableIterator<K>;
1706
+ keys(): FluidIterableIterator<K>;
1618
1707
  // (undocumented)
1619
1708
  readonly size: number;
1620
- values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
1709
+ values(): FluidIterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
1621
1710
  }
1622
1711
  // @sealed @system
1623
1712
  export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
@@ -1664,16 +1753,6 @@ export namespace TableSchema {
1664
1753
  export function column<const TUserScope extends string, const TCell extends ImplicitAllowedTypes, const TProps extends ImplicitFieldSchema>(params: System_TableSchema.CreateColumnOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell> & {
1665
1754
  readonly props: TProps;
1666
1755
  }): System_TableSchema.ColumnSchemaBase<TUserScope, TCell, TProps>;
1667
- // @deprecated @input
1668
- export interface InsertColumnsParameters<TColumn extends ImplicitAllowedTypes> {
1669
- readonly columns: InsertableTreeNodeFromImplicitAllowedTypes<TColumn>[];
1670
- readonly index?: number | undefined;
1671
- }
1672
- // @deprecated @input
1673
- export interface InsertRowsParameters<TRow extends ImplicitAllowedTypes> {
1674
- readonly index?: number | undefined;
1675
- readonly rows: InsertableTreeNodeFromImplicitAllowedTypes<TRow>[];
1676
- }
1677
1756
  // @sealed
1678
1757
  export interface Row<TCell extends ImplicitAllowedTypes, TProps extends ImplicitFieldSchema = ImplicitFieldSchema> {
1679
1758
  readonly id: string;
@@ -1684,11 +1763,6 @@ export namespace TableSchema {
1684
1763
  export function row<const TUserScope extends string, const TCell extends ImplicitAllowedTypes, const TProps extends ImplicitFieldSchema>(params: System_TableSchema.CreateRowOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell> & {
1685
1764
  readonly props: TProps;
1686
1765
  }): System_TableSchema.RowSchemaBase<TUserScope, TCell, TProps>;
1687
- // @deprecated @input
1688
- export interface SetCellParameters<TCell extends ImplicitAllowedTypes, TColumn extends ImplicitAllowedTypes, TRow extends ImplicitAllowedTypes> {
1689
- readonly cell: InsertableTreeNodeFromImplicitAllowedTypes<TCell>;
1690
- readonly key: CellKey<TColumn, TRow>;
1691
- }
1692
1766
  // @sealed
1693
1767
  export interface Table<TUserScope extends string, TCell extends ImplicitAllowedTypes, TColumn extends System_TableSchema.ColumnSchemaBase<TUserScope, TCell>, TRow extends System_TableSchema.RowSchemaBase<TUserScope, TCell>> {
1694
1768
  readonly columns: System_TableSchema.RearrangeableList<TColumn>;
@@ -1698,14 +1772,8 @@ export namespace TableSchema {
1698
1772
  getRow(id: string): TreeNodeFromImplicitAllowedTypes<TRow> | undefined;
1699
1773
  getRow(index: number): TreeNodeFromImplicitAllowedTypes<TRow> | undefined;
1700
1774
  insertColumns(columns: readonly InsertableTreeNodeFromImplicitAllowedTypes<TColumn>[], index?: number): TreeNodeFromImplicitAllowedTypes<TColumn>[];
1701
- // @deprecated
1702
- insertColumns(params: InsertColumnsParameters<TColumn>): TreeNodeFromImplicitAllowedTypes<TColumn>[];
1703
1775
  insertRows(rows: readonly InsertableTreeNodeFromImplicitAllowedTypes<TRow>[], index?: number): TreeNodeFromImplicitAllowedTypes<TRow>[];
1704
- // @deprecated
1705
- insertRows(params: InsertRowsParameters<TRow>): TreeNodeFromImplicitAllowedTypes<TRow>[];
1706
1776
  removeCell(row: string | number | TreeNodeFromImplicitAllowedTypes<TRow>, column: string | number | TreeNodeFromImplicitAllowedTypes<TColumn>): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
1707
- // @deprecated
1708
- removeCell(key: CellKey<TColumn, TRow>): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
1709
1777
  removeColumns(index?: number | undefined, count?: number | undefined): TreeNodeFromImplicitAllowedTypes<TColumn>[];
1710
1778
  removeColumns(columns: readonly TreeNodeFromImplicitAllowedTypes<TColumn>[]): TreeNodeFromImplicitAllowedTypes<TColumn>[];
1711
1779
  removeColumns(columns: readonly string[]): TreeNodeFromImplicitAllowedTypes<TColumn>[];
@@ -1714,8 +1782,6 @@ export namespace TableSchema {
1714
1782
  removeRows(rows: readonly string[]): TreeNodeFromImplicitAllowedTypes<TRow>[];
1715
1783
  readonly rows: System_TableSchema.RearrangeableList<TRow>;
1716
1784
  setCell(row: string | number | TreeNodeFromImplicitAllowedTypes<TRow>, column: string | number | TreeNodeFromImplicitAllowedTypes<TColumn>, cell: InsertableTreeNodeFromImplicitAllowedTypes<TCell>): void;
1717
- // @deprecated
1718
- setCell(params: SetCellParameters<TCell, TColumn, TRow>): void;
1719
1785
  }
1720
1786
  export function table<const TUserScope extends string, const TCell extends ImplicitAllowedTypes>(params: System_TableSchema.TableFactoryOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell>): System_TableSchema.TableSchemaBase<TUserScope, TCell, System_TableSchema.ColumnSchemaBase<TUserScope, TCell, System_TableSchema.DefaultPropsType>, System_TableSchema.RowSchemaBase<TUserScope, TCell, System_TableSchema.DefaultPropsType>>;
1721
1787
  export function table<const TUserScope extends string, const TCell extends ImplicitAllowedTypes, const TColumn extends System_TableSchema.ColumnSchemaBase<TUserScope, TCell>>(params: System_TableSchema.TableFactoryOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell> & {
@@ -1804,7 +1870,7 @@ export interface TreeArrayNode<TAllowedTypes extends System_Unsafe.ImplicitAllow
1804
1870
  push(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
1805
1871
  removeAt(index: number): void;
1806
1872
  removeRange(start?: number, end?: number): void;
1807
- values(): IterableIterator<T>;
1873
+ values(): FluidIterableIterator<T>;
1808
1874
  }
1809
1875
 
1810
1876
  // @public
@@ -1815,6 +1881,7 @@ export const TreeArrayNode: {
1815
1881
  // @beta @sealed
1816
1882
  export interface TreeBeta {
1817
1883
  clone<const TSchema extends ImplicitFieldSchema>(node: TreeFieldFromImplicitField<TSchema>): TreeFieldFromImplicitField<TSchema>;
1884
+ context(node: TreeNode): TreeContextBeta;
1818
1885
  create<const TSchema extends ImplicitFieldSchema>(schema: TSchema, data: InsertableTreeFieldFromImplicitField<TSchema>): Unhydrated<TreeFieldFromImplicitField<TSchema>>;
1819
1886
  exportConcise(node: TreeNode | TreeLeafValue, options?: TreeEncodingOptions): ConciseTree;
1820
1887
  exportConcise(node: TreeNode | TreeLeafValue | undefined, options?: TreeEncodingOptions): ConciseTree | undefined;
@@ -1831,12 +1898,22 @@ export type TreeBranch = UntypedTreeView;
1831
1898
  // @public @sealed
1832
1899
  export interface TreeChangeEvents {
1833
1900
  nodeChanged(unstable?: unknown): void;
1834
- treeChanged(): void;
1901
+ treeChanged(unstable?: unknown): void;
1835
1902
  }
1836
1903
 
1837
1904
  // @beta @sealed
1838
- export interface TreeChangeEventsBeta<TNode extends TreeNode = TreeNode> extends TreeChangeEvents {
1839
- nodeChanged: (data: NodeChangedData<TNode> & (TNode extends WithType<string, NodeKind.Map | NodeKind.Object | NodeKind.Record> ? Required<Pick<NodeChangedData<TNode>, "changedProperties">> : unknown)) => void;
1905
+ export interface TreeChangeEventsBeta<TNode extends TreeNode = TreeNode> extends Omit<TreeChangeEvents, "nodeChanged" | "treeChanged"> {
1906
+ nodeChanged: (data: TNode extends WithType<string, NodeKind.Array> ? NodeChangedDataDelta : TNode extends WithType<string, NodeKind.Map | NodeKind.Object | NodeKind.Record> ? NodeChangedDataProperties<TNode> : NodeChangedData<TNode>) => void;
1907
+ treeChanged: TNode extends WithType<string, NodeKind.Array> ? (data: NodeChangedDataTreeDelta) => void : TreeChangeEvents["treeChanged"];
1908
+ }
1909
+
1910
+ // @beta @sealed
1911
+ export interface TreeContextBeta {
1912
+ isView(): this is UntypedTreeView;
1913
+ runTransaction<TValue>(transaction: () => WithValue<TValue>, params?: RunTransactionParamsBeta): TransactionValueResult<TValue, TValue>;
1914
+ runTransaction(transaction: () => void, params?: RunTransactionParamsBeta): TransactionVoidResult;
1915
+ runTransactionAsync<TValue>(transaction: () => Promise<WithValue<TValue>>, params?: RunTransactionParamsBeta): Promise<TransactionValueResult<TValue, TValue>>;
1916
+ runTransactionAsync(transaction: () => Promise<void>, params?: RunTransactionParamsBeta): Promise<TransactionVoidResult>;
1840
1917
  }
1841
1918
 
1842
1919
  // @beta @input
@@ -1862,21 +1939,20 @@ export type TreeIndexNodes<TNode> = readonly [first: TNode, ...rest: TNode[]];
1862
1939
  export type TreeLeafValue = number | string | boolean | IFluidHandle | null;
1863
1940
 
1864
1941
  // @public @sealed
1865
- export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends ReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>, TreeNode {
1942
+ export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends FluidReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>, TreeNode {
1866
1943
  delete(key: string): void;
1867
- entries(): IterableIterator<[string, TreeNodeFromImplicitAllowedTypes<T>]>;
1868
- forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypes<T>, key: string, map: ReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>) => void, thisArg?: any): void;
1869
- keys(): IterableIterator<string>;
1944
+ entries(): FluidIterableIterator<[string, TreeNodeFromImplicitAllowedTypes<T>]>;
1945
+ forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypes<T>, key: string, map: FluidReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>) => void, thisArg?: any): void;
1946
+ keys(): FluidIterableIterator<string>;
1870
1947
  set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypes<T> | undefined): void;
1871
- values(): IterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
1948
+ values(): FluidIterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
1872
1949
  }
1873
1950
 
1874
1951
  // @public @sealed
1875
1952
  export abstract class TreeNode implements WithType {
1953
+ abstract get [schemaIdentifierBrand](): string;
1876
1954
  static [Symbol.hasInstance](value: unknown): value is TreeNode;
1877
1955
  static [Symbol.hasInstance]<TSchema extends abstract new (...args: any[]) => TreeNode>(this: TSchema, value: unknown): value is InstanceType<TSchema>;
1878
- // @deprecated
1879
- abstract get [typeNameSymbol](): string;
1880
1956
  abstract get [typeSchemaSymbol](): TreeNodeSchemaClass;
1881
1957
  protected constructor(token: unknown);
1882
1958
  }
@@ -1928,7 +2004,7 @@ export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema
1928
2004
 
1929
2005
  // @beta
1930
2006
  export interface TreeRecordNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeNode, Record<string, TreeNodeFromImplicitAllowedTypes<TAllowedTypes>> {
1931
- [Symbol.iterator](): IterableIterator<[
2007
+ [Symbol.iterator](): FluidIterableIterator<[
1932
2008
  string,
1933
2009
  TreeNodeFromImplicitAllowedTypes<TAllowedTypes>
1934
2010
  ]>;
@@ -1937,7 +2013,7 @@ export interface TreeRecordNode<TAllowedTypes extends ImplicitAllowedTypes = Imp
1937
2013
  // @beta @sealed @system
1938
2014
  export interface TreeRecordNodeUnsafe<TAllowedTypes extends System_Unsafe.ImplicitAllowedTypesUnsafe> extends Record<string, System_Unsafe.TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>>, TreeNode {
1939
2015
  // (undocumented)
1940
- [Symbol.iterator](): IterableIterator<[
2016
+ [Symbol.iterator](): FluidIterableIterator<[
1941
2017
  string,
1942
2018
  System_Unsafe.TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>
1943
2019
  ]>;
@@ -1964,10 +2040,9 @@ export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends ID
1964
2040
 
1965
2041
  // @beta @sealed
1966
2042
  export interface TreeViewBeta<in out TSchema extends ImplicitFieldSchema> extends TreeView<TSchema>, UntypedTreeView {
2043
+ readonly compatibility: SchemaCompatibilityStatusBeta;
1967
2044
  // (undocumented)
1968
2045
  fork(): ReturnType<UntypedTreeView["fork"]> & TreeViewBeta<TSchema>;
1969
- runTransaction<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => TOut, params?: RunTransactionParamsBeta): TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult;
1970
- runTransactionAsync<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => Promise<TOut>, params?: RunTransactionParamsBeta): Promise<TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult>;
1971
2046
  }
1972
2047
 
1973
2048
  // @public @sealed
@@ -1987,9 +2062,6 @@ export interface TreeViewEvents {
1987
2062
  schemaChanged(): void;
1988
2063
  }
1989
2064
 
1990
- // @public @deprecated @system
1991
- const typeNameSymbol: unique symbol;
1992
-
1993
2065
  // @public @system
1994
2066
  export const typeSchemaSymbol: unique symbol;
1995
2067
 
@@ -2021,11 +2093,21 @@ export type UnionToIntersection<T> = (T extends T ? (k: T) => unknown : never) e
2021
2093
  export type UnionToTuple<Union, A extends unknown[] = [], First = PopUnion<Union>> = IsUnion<Union> extends true ? UnionToTuple<Exclude<Union, First>, [First, ...A]> : [Union, ...A];
2022
2094
 
2023
2095
  // @beta @sealed
2024
- export interface UntypedTreeView extends IDisposable {
2096
+ export interface UntypedTreeView extends IDisposable, TreeContextBeta {
2025
2097
  dispose(error?: Error): void;
2026
2098
  fork(): UntypedTreeView;
2027
2099
  merge(view: UntypedTreeView, disposeMerged?: boolean): void;
2028
2100
  rebaseOnto(view: UntypedTreeView): void;
2101
+ // (undocumented)
2102
+ runTransaction<TValue>(transaction: () => WithValue<TValue>, params?: RunTransactionParamsBeta): TransactionValueResult<TValue, TValue>;
2103
+ // (undocumented)
2104
+ runTransaction(transaction: () => void, params?: RunTransactionParamsBeta): TransactionVoidResult;
2105
+ runTransaction<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => TOut, params?: RunTransactionParamsBeta): TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult;
2106
+ // (undocumented)
2107
+ runTransactionAsync<TValue>(transaction: () => Promise<WithValue<TValue>>, params?: RunTransactionParamsBeta): Promise<TransactionValueResult<TValue, TValue>>;
2108
+ // (undocumented)
2109
+ runTransactionAsync(transaction: () => Promise<void>, params?: RunTransactionParamsBeta): Promise<TransactionVoidResult>;
2110
+ runTransactionAsync<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => Promise<TOut>, params?: RunTransactionParamsBeta): Promise<TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult>;
2029
2111
  }
2030
2112
 
2031
2113
  // @public
@@ -2058,8 +2140,7 @@ export type VoidTransactionCallbackStatusBeta = Omit<TransactionCallbackStatusBe
2058
2140
 
2059
2141
  // @public @sealed
2060
2142
  export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
2061
- // @deprecated
2062
- get [typeNameSymbol](): TName;
2143
+ get [schemaIdentifierBrand](): TName;
2063
2144
  get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode, never, boolean, TInfo>;
2064
2145
  }
2065
2146