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.
- package/CHANGELOG.md +468 -7
- package/README.md +55 -52
- package/{api-extractor.json → api-extractor/api-extractor-model.json} +1 -1
- package/api-report/fluid-framework.alpha.api.md +176 -137
- package/api-report/fluid-framework.beta.api.md +161 -84
- package/api-report/fluid-framework.legacy.beta.api.md +169 -88
- package/api-report/fluid-framework.legacy.public.api.md +31 -38
- package/api-report/fluid-framework.public.api.md +27 -36
- package/dist/alpha.d.ts +19 -13
- package/dist/beta.d.ts +13 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +13 -0
- package/lib/alpha.d.ts +20 -14
- package/lib/beta.d.ts +14 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +14 -1
- package/lib/public.d.ts +1 -1
- package/package.json +49 -54
- package/src/index.ts +1 -0
- package/tsconfig.json +1 -1
- package/alpha.d.ts +0 -11
- package/beta.d.ts +0 -11
- package/legacy.d.ts +0 -11
- /package/api-extractor/{api-extractor.current.json → api-extractor-report.current.json} +0 -0
- /package/api-extractor/{api-extractor.legacy.json → api-extractor-report.legacy.json} +0 -0
|
@@ -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,
|
|
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
|
|
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():
|
|
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
|
-
|
|
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]():
|
|
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>,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1297
|
-
[Symbol.iterator](): Iterator<[
|
|
1298
|
-
|
|
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,
|
|
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
|
|
1326
|
-
stagedRecursive: <const T extends
|
|
1327
|
-
static types: <const T extends readonly (
|
|
1328
|
-
types: <const T extends readonly (
|
|
1329
|
-
static typesRecursive: <const T extends readonly
|
|
1330
|
-
typesRecursive: <const T extends readonly
|
|
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
|
|
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
|
|
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]():
|
|
1610
|
-
|
|
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:
|
|
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():
|
|
1706
|
+
keys(): FluidIterableIterator<K>;
|
|
1618
1707
|
// (undocumented)
|
|
1619
1708
|
readonly size: number;
|
|
1620
|
-
values():
|
|
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():
|
|
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:
|
|
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
|
|
1942
|
+
export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends FluidReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>, TreeNode {
|
|
1866
1943
|
delete(key: string): void;
|
|
1867
|
-
entries():
|
|
1868
|
-
forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypes<T>, key: string, map:
|
|
1869
|
-
keys():
|
|
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():
|
|
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]():
|
|
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]():
|
|
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
|
-
|
|
2062
|
-
get [typeNameSymbol](): TName;
|
|
2143
|
+
get [schemaIdentifierBrand](): TName;
|
|
2063
2144
|
get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode, never, boolean, TInfo>;
|
|
2064
2145
|
}
|
|
2065
2146
|
|