fluid-framework 2.91.0 → 2.93.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 +156 -0
- package/README.md +1 -1
- package/alpha.d.ts +1 -1
- package/api-report/fluid-framework.alpha.api.md +158 -50
- package/api-report/fluid-framework.beta.api.md +80 -12
- package/api-report/fluid-framework.legacy.beta.api.md +91 -17
- package/api-report/fluid-framework.legacy.public.api.md +3 -0
- package/api-report/fluid-framework.public.api.md +3 -0
- package/beta.d.ts +1 -1
- package/dist/alpha.d.ts +27 -10
- package/dist/beta.d.ts +12 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -13
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +13 -1
- package/dist/public.d.ts +2 -1
- package/eslint.config.mts +1 -1
- package/legacy.d.ts +1 -1
- package/lib/alpha.d.ts +27 -10
- package/lib/beta.d.ts +12 -1
- package/lib/index.d.ts +5 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -2
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +13 -1
- package/lib/public.d.ts +2 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +21 -34
- package/src/index.ts +11 -3
|
@@ -96,16 +96,47 @@ Kind
|
|
|
96
96
|
export interface ArrayNodeCustomizableSchema<out TName extends string = string, in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaClass<TName, NodeKind.Array, TreeArrayNode<T> & WithType<TName, NodeKind.Array, T>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleArrayNodeSchema<SchemaType.View, TCustomMetadata> {
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
+
// @alpha @sealed @system
|
|
100
|
+
export interface ArrayNodeCustomizableSchemaAlpha<out TName extends string = string, in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaClass<TName, NodeKind.Array, TreeArrayNodeAlpha<T> & WithType<TName, NodeKind.Array, T>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleArrayNodeSchema<SchemaType.View, TCustomMetadata> {
|
|
101
|
+
}
|
|
102
|
+
|
|
99
103
|
// @alpha @sealed @system
|
|
100
104
|
export interface ArrayNodeCustomizableSchemaUnsafe<out TName extends string, in out T extends System_Unsafe.ImplicitAllowedTypesUnsafe, out TCustomMetadata> extends TreeNodeSchemaClass<TName, NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<T> & WithType<TName, NodeKind.Array, T>, {
|
|
101
105
|
[Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
102
106
|
}, false, T, undefined, TCustomMetadata>, SimpleArrayNodeSchema<SchemaType.View, TCustomMetadata> {
|
|
103
107
|
}
|
|
104
108
|
|
|
109
|
+
// @alpha @sealed
|
|
110
|
+
export type ArrayNodeDeltaOp = ArrayNodeRetainOp | ArrayNodeInsertOp | ArrayNodeRemoveOp;
|
|
111
|
+
|
|
112
|
+
// @alpha @sealed
|
|
113
|
+
export interface ArrayNodeInsertOp {
|
|
114
|
+
// (undocumented)
|
|
115
|
+
readonly count: number;
|
|
116
|
+
// (undocumented)
|
|
117
|
+
readonly type: "insert";
|
|
118
|
+
}
|
|
119
|
+
|
|
105
120
|
// @alpha @sealed @system
|
|
106
121
|
export interface ArrayNodePojoEmulationSchema<out TName extends string = string, in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaNonClass<TName, NodeKind.Array, TreeArrayNode<T> & WithType<TName, NodeKind.Array, T>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleArrayNodeSchema<SchemaType.View, TCustomMetadata> {
|
|
107
122
|
}
|
|
108
123
|
|
|
124
|
+
// @alpha @sealed
|
|
125
|
+
export interface ArrayNodeRemoveOp {
|
|
126
|
+
// (undocumented)
|
|
127
|
+
readonly count: number;
|
|
128
|
+
// (undocumented)
|
|
129
|
+
readonly type: "remove";
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// @alpha @sealed
|
|
133
|
+
export interface ArrayNodeRetainOp {
|
|
134
|
+
// (undocumented)
|
|
135
|
+
readonly count: number;
|
|
136
|
+
// (undocumented)
|
|
137
|
+
readonly type: "retain";
|
|
138
|
+
}
|
|
139
|
+
|
|
109
140
|
// @alpha
|
|
110
141
|
export type ArrayNodeSchema = ArrayNodeCustomizableSchema | ArrayNodePojoEmulationSchema;
|
|
111
142
|
|
|
@@ -114,6 +145,14 @@ export const ArrayNodeSchema: {
|
|
|
114
145
|
readonly [Symbol.hasInstance]: (value: TreeNodeSchema) => value is ArrayNodeSchema;
|
|
115
146
|
};
|
|
116
147
|
|
|
148
|
+
// @alpha
|
|
149
|
+
export type ArrayNodeTreeChangedDeltaOp = ArrayNodeTreeChangedRetainOp | ArrayNodeInsertOp | ArrayNodeRemoveOp;
|
|
150
|
+
|
|
151
|
+
// @alpha @sealed
|
|
152
|
+
export interface ArrayNodeTreeChangedRetainOp extends ArrayNodeRetainOp {
|
|
153
|
+
readonly subtreeChanged: boolean;
|
|
154
|
+
}
|
|
155
|
+
|
|
117
156
|
// @alpha @sealed
|
|
118
157
|
export interface ArrayPlaceAnchor {
|
|
119
158
|
get index(): number;
|
|
@@ -125,6 +164,12 @@ export function asAlpha<TSchema extends ImplicitFieldSchema>(view: TreeView<TSch
|
|
|
125
164
|
// @alpha
|
|
126
165
|
export function asAlpha<TSchema extends ImplicitFieldSchema>(view: TreeViewConfiguration<TSchema>): TreeViewConfigurationAlpha<TSchema>;
|
|
127
166
|
|
|
167
|
+
// @alpha
|
|
168
|
+
export function asAlpha<TAllowedTypes extends ImplicitAllowedTypes>(node: TreeArrayNode<TAllowedTypes>): TreeArrayNodeAlpha<TAllowedTypes>;
|
|
169
|
+
|
|
170
|
+
// @alpha
|
|
171
|
+
export function asAlpha<TAllowedTypes extends ImplicitAllowedTypes>(node: TreeMapNode<TAllowedTypes>): TreeMapNodeAlpha<TAllowedTypes>;
|
|
172
|
+
|
|
128
173
|
// @beta
|
|
129
174
|
export function asBeta<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): TreeViewBeta<TSchema>;
|
|
130
175
|
|
|
@@ -138,14 +183,6 @@ export enum AttachState {
|
|
|
138
183
|
Detached = "Detached"
|
|
139
184
|
}
|
|
140
185
|
|
|
141
|
-
// @alpha @sealed
|
|
142
|
-
export interface BranchableTree extends ViewableTree {
|
|
143
|
-
branch(): TreeBranchFork;
|
|
144
|
-
merge(branch: TreeBranchFork): void;
|
|
145
|
-
merge(branch: TreeBranchFork, disposeMerged: boolean): void;
|
|
146
|
-
rebase(branch: TreeBranchFork): void;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
186
|
// @alpha @sealed
|
|
150
187
|
export type ChangeMetadata = LocalChangeMetadata | RemoteChangeMetadata;
|
|
151
188
|
|
|
@@ -240,7 +277,7 @@ export const contentSchemaSymbol: unique symbol;
|
|
|
240
277
|
// @alpha
|
|
241
278
|
export function createArrayInsertionAnchor(node: TreeArrayNode, currentIndex: number): ArrayPlaceAnchor;
|
|
242
279
|
|
|
243
|
-
// @
|
|
280
|
+
// @beta
|
|
244
281
|
export function createIdentifierIndex<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): IdentifierIndex;
|
|
245
282
|
|
|
246
283
|
// @alpha
|
|
@@ -257,16 +294,16 @@ export type CreateIndependentTreeAlphaOptions = ForestOptions & ((IndependentVie
|
|
|
257
294
|
// @beta
|
|
258
295
|
export function createIndependentTreeBeta<const TSchema extends ImplicitFieldSchema>(options?: ForestOptions): ViewableTree;
|
|
259
296
|
|
|
260
|
-
// @
|
|
297
|
+
// @beta
|
|
261
298
|
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>;
|
|
262
299
|
|
|
263
|
-
// @
|
|
300
|
+
// @beta
|
|
264
301
|
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, indexer: (schema: TSchema) => string | undefined, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
|
|
265
302
|
|
|
266
|
-
// @
|
|
303
|
+
// @beta
|
|
267
304
|
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
|
|
268
305
|
|
|
269
|
-
// @
|
|
306
|
+
// @beta
|
|
270
307
|
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
|
|
271
308
|
|
|
272
309
|
// @alpha
|
|
@@ -336,7 +373,7 @@ export function exportCompatibilitySchemaSnapshot(config: Pick<TreeViewConfigura
|
|
|
336
373
|
|
|
337
374
|
// @beta
|
|
338
375
|
export namespace ExtensibleUnionNode {
|
|
339
|
-
export function createSchema<const T extends readonly TreeNodeSchema[], const TScope extends string, const TName extends string>(types: T, inputSchemaFactory: SchemaFactoryBeta<TScope>, name: TName): Statics<T> &
|
|
376
|
+
export function createSchema<const T extends readonly TreeNodeSchema[], const TScope extends string, const TName extends string>(types: T, inputSchemaFactory: SchemaFactoryBeta<TScope>, name: TName): Statics<T> & TreeNodeSchemaCore<ScopedSchemaName<`com.fluidframework.extensibleUnionNode<${TScope}>`, TName>, NodeKind, false, unknown, never, unknown> & (new (data: InternalTreeNode) => Members<TreeNodeFromImplicitAllowedTypes<T>> & TreeNode & WithType<ScopedSchemaName<`com.fluidframework.extensibleUnionNode<${TScope}>`, TName>, NodeKind, unknown>);
|
|
340
377
|
export interface Members<T> {
|
|
341
378
|
isValid(): boolean;
|
|
342
379
|
readonly union: T | undefined;
|
|
@@ -394,6 +431,7 @@ export interface FieldProps<TCustomMetadata = unknown> {
|
|
|
394
431
|
// @alpha @input
|
|
395
432
|
export interface FieldPropsAlpha<TCustomMetadata = unknown> extends FieldProps<TCustomMetadata> {
|
|
396
433
|
readonly persistedMetadata?: JsonCompatibleReadOnlyObject | undefined;
|
|
434
|
+
readonly stagedOptionalUpgrade?: SchemaUpgrade;
|
|
397
435
|
}
|
|
398
436
|
|
|
399
437
|
// @public @sealed
|
|
@@ -418,6 +456,8 @@ export class FieldSchemaAlpha<Kind extends FieldKind = FieldKind, Types extends
|
|
|
418
456
|
// (undocumented)
|
|
419
457
|
get allowedTypesIdentifiers(): ReadonlySet<string>;
|
|
420
458
|
// (undocumented)
|
|
459
|
+
get isStagedOptional(): false | SchemaUpgrade;
|
|
460
|
+
// (undocumented)
|
|
421
461
|
get persistedMetadata(): JsonCompatibleReadOnlyObject | undefined;
|
|
422
462
|
// (undocumented)
|
|
423
463
|
get simpleAllowedTypes(): ReadonlyMap<string, SimpleAllowedTypeAttributes<SchemaType.View>>;
|
|
@@ -458,6 +498,29 @@ export const FluidClientVersion: {
|
|
|
458
498
|
readonly v2_80: "2.80.0";
|
|
459
499
|
};
|
|
460
500
|
|
|
501
|
+
// @beta @sealed
|
|
502
|
+
export interface FluidIterable<T> {
|
|
503
|
+
[Symbol.iterator](): FluidIterableIterator<T>;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
// @beta @sealed
|
|
507
|
+
export interface FluidIterableIterator<T> extends FluidIterable<T> {
|
|
508
|
+
next(): {
|
|
509
|
+
value: T;
|
|
510
|
+
done?: false;
|
|
511
|
+
} | {
|
|
512
|
+
value: any;
|
|
513
|
+
done: true;
|
|
514
|
+
};
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
// @beta @sealed
|
|
518
|
+
export interface FluidMap<K, V> extends FluidReadonlyMap<K, V> {
|
|
519
|
+
delete(key: K): void;
|
|
520
|
+
forEach(callbackfn: (value: V, key: K, map: FluidMap<K, V>) => void, thisArg?: any): void;
|
|
521
|
+
set(key: K, value: V): void;
|
|
522
|
+
}
|
|
523
|
+
|
|
461
524
|
// @public
|
|
462
525
|
export type FluidObject<T = unknown> = {
|
|
463
526
|
[P in FluidObjectProviderKeys<T>]?: T[P];
|
|
@@ -466,26 +529,39 @@ export type FluidObject<T = unknown> = {
|
|
|
466
529
|
// @public
|
|
467
530
|
export type FluidObjectProviderKeys<T, TProp extends keyof T = keyof T> = string extends TProp ? never : number extends TProp ? never : TProp extends keyof Required<T>[TProp] ? Required<T>[TProp] extends Required<Required<T>[TProp]>[TProp] ? TProp : never : never;
|
|
468
531
|
|
|
532
|
+
// @beta @sealed
|
|
533
|
+
export interface FluidReadonlyMap<K, V> {
|
|
534
|
+
[Symbol.iterator](): FluidIterableIterator<[K, V]>;
|
|
535
|
+
readonly [Symbol.toStringTag]: string;
|
|
536
|
+
entries(): FluidIterableIterator<[K, V]>;
|
|
537
|
+
forEach(callbackfn: (value: V, key: K, map: FluidReadonlyMap<K, V>) => void, thisArg?: any): void;
|
|
538
|
+
get(key: K): V | undefined;
|
|
539
|
+
has(key: K): boolean;
|
|
540
|
+
keys(): FluidIterableIterator<K>;
|
|
541
|
+
readonly size: number;
|
|
542
|
+
values(): FluidIterableIterator<V>;
|
|
543
|
+
}
|
|
544
|
+
|
|
469
545
|
// @beta
|
|
470
546
|
export namespace FluidSerializableAsTree {
|
|
471
547
|
// @sealed
|
|
472
548
|
export class Array extends _APIExtractorWorkaroundArrayBase {
|
|
473
549
|
}
|
|
474
|
-
const Tree: readonly [() => typeof FluidSerializableObject, () => typeof Array,
|
|
550
|
+
const Tree: readonly [() => typeof FluidSerializableObject, () => typeof Array, LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>];
|
|
475
551
|
export type Data = JsonCompatible<IFluidHandle>;
|
|
476
552
|
const // @system
|
|
477
|
-
_APIExtractorWorkaroundObjectBase:
|
|
478
|
-
readonly [x: string]: string | number | IFluidHandle<unknown> |
|
|
479
|
-
}, false, readonly [() => typeof FluidSerializableObject, () => typeof Array,
|
|
553
|
+
_APIExtractorWorkaroundObjectBase: TreeNodeSchemaClass<"com.fluidframework.serializable.object", NodeKind.Record, TreeRecordNodeUnsafe<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.object", NodeKind.Record, unknown>, {
|
|
554
|
+
readonly [x: string]: string | number | IFluidHandle<unknown> | System_Unsafe.InsertableTypedNodeUnsafe<LeafSchema<"boolean", boolean>, LeafSchema<"boolean", boolean>> | FluidSerializableObject | Array | null;
|
|
555
|
+
}, false, readonly [() => typeof FluidSerializableObject, () => typeof Array, LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>], undefined, unknown>;
|
|
480
556
|
// @sealed
|
|
481
557
|
export class FluidSerializableObject extends _APIExtractorWorkaroundObjectBase {
|
|
482
558
|
}
|
|
483
559
|
// @system
|
|
484
560
|
export type _RecursiveArrayWorkaroundJsonArray = FixRecursiveArraySchema<typeof Array>;
|
|
485
561
|
const // @system
|
|
486
|
-
_APIExtractorWorkaroundArrayBase:
|
|
487
|
-
[Symbol.iterator](): Iterator<string | number | IFluidHandle<unknown> |
|
|
488
|
-
}, false, readonly [() => typeof FluidSerializableObject, () => typeof Array,
|
|
562
|
+
_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>, {
|
|
563
|
+
[Symbol.iterator](): Iterator<string | number | IFluidHandle<unknown> | System_Unsafe.InsertableTypedNodeUnsafe<LeafSchema<"boolean", boolean>, LeafSchema<"boolean", boolean>> | FluidSerializableObject | Array | null, any, undefined>;
|
|
564
|
+
}, false, readonly [() => typeof FluidSerializableObject, () => typeof Array, LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>], undefined>;
|
|
489
565
|
// (undocumented)
|
|
490
566
|
export type Tree = TreeNodeFromImplicitAllowedTypes<typeof Tree>;
|
|
491
567
|
}
|
|
@@ -513,7 +589,7 @@ export interface FormatValidator extends ErasedType<"FormatValidator"> {
|
|
|
513
589
|
}
|
|
514
590
|
|
|
515
591
|
// @alpha
|
|
516
|
-
export const FormatValidatorBasic:
|
|
592
|
+
export const FormatValidatorBasic: FormatValidator;
|
|
517
593
|
|
|
518
594
|
// @alpha
|
|
519
595
|
export const FormatValidatorNoOp: FormatValidator;
|
|
@@ -524,14 +600,14 @@ export type FormatVersion = number | string | undefined;
|
|
|
524
600
|
// @alpha
|
|
525
601
|
export function generateSchemaFromSimpleSchema(simple: SimpleTreeSchema): TreeSchema;
|
|
526
602
|
|
|
527
|
-
// @alpha
|
|
528
|
-
export function
|
|
603
|
+
// @alpha
|
|
604
|
+
export function getJsonSchema(schema: ImplicitAllowedTypes, options: Required<TreeSchemaEncodingOptions>): JsonTreeSchema;
|
|
529
605
|
|
|
530
|
-
// @
|
|
531
|
-
export
|
|
606
|
+
// @public
|
|
607
|
+
export const getPresence: (fluidContainer: IFluidContainer) => Presence;
|
|
532
608
|
|
|
533
609
|
// @alpha
|
|
534
|
-
export function
|
|
610
|
+
export function getPresenceAlpha(fluidContainer: IFluidContainer): PresenceWithNotifications;
|
|
535
611
|
|
|
536
612
|
// @alpha
|
|
537
613
|
export function getSimpleSchema(schema: ImplicitFieldSchema): SimpleTreeSchema<SchemaType.View>;
|
|
@@ -553,7 +629,7 @@ export interface IConnection {
|
|
|
553
629
|
// @public
|
|
554
630
|
export type ICriticalContainerError = IErrorBase;
|
|
555
631
|
|
|
556
|
-
// @
|
|
632
|
+
// @beta
|
|
557
633
|
export type IdentifierIndex = TreeIndex<string, TreeNode>;
|
|
558
634
|
|
|
559
635
|
// @public @sealed
|
|
@@ -1135,7 +1211,7 @@ export interface MakeNominal {
|
|
|
1135
1211
|
}
|
|
1136
1212
|
|
|
1137
1213
|
// @alpha @sealed @system
|
|
1138
|
-
export interface MapNodeCustomizableSchema<out TName extends string = string, in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaClass<TName, NodeKind.Map,
|
|
1214
|
+
export interface MapNodeCustomizableSchema<out TName extends string = string, in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaClass<TName, NodeKind.Map, TreeMapNodeAlpha<T> & WithType<TName, NodeKind.Map, T>, MapNodeInsertableData<T>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleMapNodeSchema<SchemaType.View, TCustomMetadata> {
|
|
1139
1215
|
}
|
|
1140
1216
|
|
|
1141
1217
|
// @alpha @sealed @system
|
|
@@ -1153,7 +1229,7 @@ export interface MapNodeCustomizableSchemaUnsafe<out TName extends string, in ou
|
|
|
1153
1229
|
export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveStringRecord<InsertableTreeNodeFromImplicitAllowedTypes<T>>;
|
|
1154
1230
|
|
|
1155
1231
|
// @alpha @sealed @system
|
|
1156
|
-
export interface MapNodePojoEmulationSchema<out TName extends string = string, in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaNonClass<TName, NodeKind.Map,
|
|
1232
|
+
export interface MapNodePojoEmulationSchema<out TName extends string = string, in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaNonClass<TName, NodeKind.Map, TreeMapNodeAlpha<T> & WithType<TName, NodeKind.Map, T>, MapNodeInsertableData<T>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleMapNodeSchema<SchemaType.View, TCustomMetadata> {
|
|
1157
1233
|
}
|
|
1158
1234
|
|
|
1159
1235
|
// @alpha
|
|
@@ -1186,6 +1262,24 @@ export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
|
|
|
1186
1262
|
readonly changedProperties?: ReadonlySet<TNode extends WithType<string, NodeKind.Object, infer TInfo> ? string & keyof TInfo : string>;
|
|
1187
1263
|
}
|
|
1188
1264
|
|
|
1265
|
+
// @alpha
|
|
1266
|
+
export type NodeChangedDataAlpha<TNode extends TreeNode = TreeNode> = TNode extends WithType<string, NodeKind.Array> ? NodeChangedDataDelta : TNode extends WithType<string, NodeKind.Map | NodeKind.Object | NodeKind.Record> ? NodeChangedDataProperties<TNode> : NodeChangedDataProperties<TNode> | NodeChangedDataDelta;
|
|
1267
|
+
|
|
1268
|
+
// @alpha @sealed
|
|
1269
|
+
export interface NodeChangedDataDelta {
|
|
1270
|
+
readonly delta: readonly ArrayNodeDeltaOp[] | undefined;
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
// @alpha @sealed
|
|
1274
|
+
export interface NodeChangedDataProperties<TNode extends TreeNode = TreeNode> {
|
|
1275
|
+
readonly changedProperties: ReadonlySet<TNode extends WithType<string, NodeKind.Object, infer TInfo> ? string & keyof TInfo : string>;
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
// @alpha @sealed
|
|
1279
|
+
export interface NodeChangedDataTreeDelta {
|
|
1280
|
+
readonly delta: readonly ArrayNodeTreeChangedDeltaOp[] | undefined;
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1189
1283
|
// @public
|
|
1190
1284
|
export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchemaClass<string, NodeKind, infer TNode> ? TNode : T extends TreeNodeSchemaNonClass<string, NodeKind, infer TNode> ? TNode : never;
|
|
1191
1285
|
|
|
@@ -1436,11 +1530,11 @@ export const SchemaFactory_base: SchemaStatics & (new () => SchemaStatics);
|
|
|
1436
1530
|
|
|
1437
1531
|
// @alpha
|
|
1438
1532
|
export class SchemaFactoryAlpha<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactoryBeta<TScope, TName> {
|
|
1439
|
-
arrayAlpha<const Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>):
|
|
1533
|
+
arrayAlpha<const Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): ArrayNodeCustomizableSchemaAlpha<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>;
|
|
1440
1534
|
arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): ArrayNodeCustomizableSchemaUnsafe<ScopedSchemaName<TScope, Name>, T, TCustomMetadata>;
|
|
1441
1535
|
static readonly identifier: <const TCustomMetadata = unknown>(props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Identifier, LeafSchema<"string", string> & SimpleLeafNodeSchema<SchemaType>, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
|
|
1442
|
-
static readonly leaves: readonly [LeafSchema<"string", string> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"number", number> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"boolean", boolean> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"null", null> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"handle",
|
|
1443
|
-
readonly leaves: readonly [LeafSchema<"string", string> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"number", number> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"boolean", boolean> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"null", null> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"handle",
|
|
1536
|
+
static readonly leaves: readonly [LeafSchema<"string", string> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"number", number> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"boolean", boolean> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"null", null> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"handle", IFluidHandle<unknown>> & SimpleLeafNodeSchema<SchemaType>];
|
|
1537
|
+
readonly leaves: readonly [LeafSchema<"string", string> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"number", number> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"boolean", boolean> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"null", null> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"handle", IFluidHandle<unknown>> & SimpleLeafNodeSchema<SchemaType>];
|
|
1444
1538
|
mapAlpha<Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): MapNodeCustomizableSchema<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>;
|
|
1445
1539
|
mapRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): MapNodeCustomizableSchemaUnsafe<ScopedSchemaName<TScope, Name>, T, TCustomMetadata>;
|
|
1446
1540
|
objectAlpha<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>, const TCustomMetadata = unknown>(name: Name, fields: T, options?: ObjectSchemaOptionsAlpha<TCustomMetadata>): ObjectNodeSchemaWorkaround<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>;
|
|
@@ -1459,10 +1553,12 @@ export class SchemaFactoryAlpha<out TScope extends string | undefined = string |
|
|
|
1459
1553
|
static readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe<FieldKind.Required, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
|
|
1460
1554
|
readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe<FieldKind.Required, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
|
|
1461
1555
|
scopedFactoryAlpha<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryAlpha<ScopedSchemaName<TScope, T>, TNameInner>;
|
|
1462
|
-
readonly
|
|
1556
|
+
readonly stagedOptional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "stagedOptionalUpgrade" | "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
|
|
1557
|
+
static readonly stagedOptional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "stagedOptionalUpgrade" | "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
|
|
1558
|
+
readonly withDefault: <Kind extends FieldKind, Types extends ImplicitAllowedTypes, TCustomMetadata = unknown>(fieldSchema: FieldSchema<Kind, Types, TCustomMetadata>, defaultValue: NodeProvider<ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true>>) => FieldSchemaAlpha<Kind, Types, TCustomMetadata, FieldPropsAlpha<TCustomMetadata> & {
|
|
1463
1559
|
defaultProvider: DefaultProvider;
|
|
1464
1560
|
}>;
|
|
1465
|
-
static readonly withDefault: <Kind extends FieldKind, Types extends ImplicitAllowedTypes, TCustomMetadata = unknown>(fieldSchema: FieldSchema<Kind, Types, TCustomMetadata>, defaultValue: NodeProvider<
|
|
1561
|
+
static readonly withDefault: <Kind extends FieldKind, Types extends ImplicitAllowedTypes, TCustomMetadata = unknown>(fieldSchema: FieldSchema<Kind, Types, TCustomMetadata>, defaultValue: NodeProvider<ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true>>) => FieldSchemaAlpha<Kind, Types, TCustomMetadata, FieldPropsAlpha<TCustomMetadata> & {
|
|
1466
1562
|
defaultProvider: DefaultProvider;
|
|
1467
1563
|
}>;
|
|
1468
1564
|
readonly withDefaultRecursive: <Kind extends FieldKind, Types extends System_Unsafe.ImplicitAllowedTypesUnsafe, TCustomMetadata = unknown>(fieldSchema: System_Unsafe.FieldSchemaUnsafe<Kind, Types, TCustomMetadata>, defaultValue: unknown) => FieldSchemaAlphaUnsafe<Kind, Types, TCustomMetadata, FieldPropsAlpha<TCustomMetadata> & {
|
|
@@ -1516,6 +1612,7 @@ export interface SchemaStatics {
|
|
|
1516
1612
|
|
|
1517
1613
|
// @alpha @sealed @system
|
|
1518
1614
|
export interface SchemaStaticsAlpha {
|
|
1615
|
+
readonly stagedOptional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider" | "stagedOptionalUpgrade">) => FieldSchemaAlpha<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
|
|
1519
1616
|
readonly withDefault: <Kind extends FieldKind, Types extends ImplicitAllowedTypes, TCustomMetadata = unknown>(fieldSchema: FieldSchema<Kind, Types, TCustomMetadata>, defaultValue: NodeProvider<InsertableTreeFieldFromImplicitField<FieldSchema<Kind, Types>>>) => FieldSchemaAlpha<Kind, Types, TCustomMetadata, FieldPropsAlpha<TCustomMetadata> & {
|
|
1520
1617
|
defaultProvider: DefaultProvider;
|
|
1521
1618
|
}>;
|
|
@@ -1581,6 +1678,7 @@ export interface SimpleArrayNodeSchema<Type extends SchemaType = SchemaType, out
|
|
|
1581
1678
|
|
|
1582
1679
|
// @alpha @sealed
|
|
1583
1680
|
export interface SimpleFieldSchema<Type extends SchemaType = SchemaType> {
|
|
1681
|
+
readonly isStagedOptional?: Type extends SchemaType.Stored ? undefined : false | SchemaUpgrade;
|
|
1584
1682
|
readonly kind: FieldKind;
|
|
1585
1683
|
readonly metadata: FieldSchemaMetadata & (Type extends SchemaType.View ? unknown : {
|
|
1586
1684
|
readonly custom?: undefined;
|
|
@@ -1691,22 +1789,22 @@ export namespace System_TableSchema {
|
|
|
1691
1789
|
props: InsertableTreeFieldFromImplicitField<TPropsSchema>;
|
|
1692
1790
|
}), true, {
|
|
1693
1791
|
readonly props: TPropsSchema;
|
|
1694
|
-
readonly id:
|
|
1792
|
+
readonly id: FieldSchema<FieldKind.Identifier, LeafSchema<"string", string>, unknown>;
|
|
1695
1793
|
}>;
|
|
1696
1794
|
// @system
|
|
1697
1795
|
export type CreateRowOptionsBase<TUserScope extends string = string, TSchemaFactory extends SchemaFactoryBeta<TUserScope> = SchemaFactoryBeta<TUserScope>, TCellSchema extends ImplicitAllowedTypes = ImplicitAllowedTypes> = OptionsWithSchemaFactory<TSchemaFactory> & OptionsWithCellSchema<TCellSchema>;
|
|
1698
1796
|
// @system
|
|
1699
1797
|
export function createRowSchema<const TUserScope extends string, const TCellSchema extends ImplicitAllowedTypes, const TPropsSchema extends ImplicitFieldSchema>(inputSchemaFactory: SchemaFactoryBeta<TUserScope>, cellSchema: TCellSchema, propsSchema: TPropsSchema): TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Row">, NodeKind.Object, TreeNode & TableSchema.Row<TCellSchema, TPropsSchema> & WithType<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Row">, NodeKind, unknown>, object & {
|
|
1700
1798
|
readonly id?: string | undefined;
|
|
1701
|
-
readonly cells: (
|
|
1799
|
+
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>>;
|
|
1702
1800
|
} & (FieldHasDefault<TPropsSchema> extends true ? {
|
|
1703
1801
|
props?: InsertableTreeFieldFromImplicitField<TPropsSchema> | undefined;
|
|
1704
1802
|
} : {
|
|
1705
1803
|
props: InsertableTreeFieldFromImplicitField<TPropsSchema>;
|
|
1706
1804
|
}), true, {
|
|
1707
1805
|
readonly props: TPropsSchema;
|
|
1708
|
-
readonly id:
|
|
1709
|
-
readonly cells:
|
|
1806
|
+
readonly id: FieldSchema<FieldKind.Identifier, LeafSchema<"string", string>, unknown>;
|
|
1807
|
+
readonly cells: FieldSchema<FieldKind.Required, 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>, unknown>;
|
|
1710
1808
|
}>;
|
|
1711
1809
|
// @system
|
|
1712
1810
|
export function createTableSchema<const TUserScope extends string, const TCellSchema extends ImplicitAllowedTypes, const TColumnSchema extends ColumnSchemaBase<TUserScope, TCellSchema>, const TRowSchema extends RowSchemaBase<TUserScope, TCellSchema>>(inputSchemaFactory: SchemaFactoryBeta<TUserScope>, _cellSchema: TCellSchema, columnSchema: TColumnSchema, rowSchema: TRowSchema): {
|
|
@@ -2002,6 +2100,7 @@ export interface TreeAlpha {
|
|
|
2002
2100
|
importConcise<const TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema>(schema: UnsafeUnknownSchema extends TSchema ? ImplicitFieldSchema : TSchema & ImplicitFieldSchema, data: ConciseTree | undefined): Unhydrated<TSchema extends ImplicitFieldSchema ? TreeFieldFromImplicitField<TSchema> : TreeNode | TreeLeafValue | undefined>;
|
|
2003
2101
|
importVerbose<const TSchema extends ImplicitFieldSchema>(schema: TSchema, data: VerboseTree | undefined, options?: TreeParsingOptions): Unhydrated<TreeFieldFromImplicitField<TSchema>>;
|
|
2004
2102
|
key2(node: TreeNode): string | number | undefined;
|
|
2103
|
+
on<K extends keyof TreeChangeEventsAlpha<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: NoInfer<TreeChangeEventsAlpha<TNode>[K]>): () => void;
|
|
2005
2104
|
tagContentSchema<TSchema extends TreeNodeSchema, TContent extends InsertableField<TSchema>>(schema: TSchema, content: TContent): TContent;
|
|
2006
2105
|
trackObservations<TResult>(onInvalidation: () => void, trackDuring: () => TResult): ObservationResults<TResult>;
|
|
2007
2106
|
trackObservationsOnce<TResult>(onInvalidation: () => void, trackDuring: () => TResult): ObservationResults<TResult>;
|
|
@@ -2038,6 +2137,11 @@ export const TreeArrayNode: {
|
|
|
2038
2137
|
readonly spread: <T>(content: Iterable<T>) => IterableTreeArrayContent<T>;
|
|
2039
2138
|
};
|
|
2040
2139
|
|
|
2140
|
+
// @alpha @sealed
|
|
2141
|
+
export interface TreeArrayNodeAlpha<TAllowedTypes extends System_Unsafe.ImplicitAllowedTypesUnsafe = ImplicitAllowedTypes, out T = [TAllowedTypes] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TAllowedTypes> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TNew = [TAllowedTypes] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes> : InsertableTreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>> extends TreeArrayNode<TAllowedTypes, T, TNew> {
|
|
2142
|
+
splice(start: number, deleteCount?: number, ...items: readonly (TNew | IterableTreeArrayContent<TNew>)[]): T[];
|
|
2143
|
+
}
|
|
2144
|
+
|
|
2041
2145
|
// @beta @sealed
|
|
2042
2146
|
export interface TreeBeta {
|
|
2043
2147
|
clone<const TSchema extends ImplicitFieldSchema>(node: TreeFieldFromImplicitField<TSchema>): TreeFieldFromImplicitField<TSchema>;
|
|
@@ -2073,14 +2177,8 @@ export interface TreeBranchAlpha extends TreeBranch, TreeContextAlpha {
|
|
|
2073
2177
|
}
|
|
2074
2178
|
|
|
2075
2179
|
// @alpha @sealed
|
|
2076
|
-
export interface TreeBranchEvents
|
|
2180
|
+
export interface TreeBranchEvents {
|
|
2077
2181
|
changed(data: ChangeMetadata, getRevertible?: RevertibleAlphaFactory): void;
|
|
2078
|
-
commitApplied(data: ChangeMetadata, getRevertible?: RevertibleAlphaFactory): void;
|
|
2079
|
-
}
|
|
2080
|
-
|
|
2081
|
-
// @alpha @sealed
|
|
2082
|
-
export interface TreeBranchFork extends BranchableTree, IDisposable {
|
|
2083
|
-
rebaseOnto(branch: BranchableTree): void;
|
|
2084
2182
|
}
|
|
2085
2183
|
|
|
2086
2184
|
// @public @sealed
|
|
@@ -2089,6 +2187,12 @@ export interface TreeChangeEvents {
|
|
|
2089
2187
|
treeChanged(): void;
|
|
2090
2188
|
}
|
|
2091
2189
|
|
|
2190
|
+
// @alpha @sealed
|
|
2191
|
+
export interface TreeChangeEventsAlpha<TNode extends TreeNode = TreeNode> extends TreeChangeEvents {
|
|
2192
|
+
nodeChanged: (data: NodeChangedDataAlpha<TNode>) => void;
|
|
2193
|
+
treeChanged: TNode extends WithType<string, NodeKind.Array> ? (data: NodeChangedDataTreeDelta) => void : TreeChangeEventsBeta<TNode>["treeChanged"];
|
|
2194
|
+
}
|
|
2195
|
+
|
|
2092
2196
|
// @beta @sealed
|
|
2093
2197
|
export interface TreeChangeEventsBeta<TNode extends TreeNode = TreeNode> extends TreeChangeEvents {
|
|
2094
2198
|
nodeChanged: (data: NodeChangedData<TNode> & (TNode extends WithType<string, NodeKind.Map | NodeKind.Object | NodeKind.Record> ? Required<Pick<NodeChangedData<TNode>, "changedProperties">> : unknown)) => void;
|
|
@@ -2127,15 +2231,15 @@ export interface TreeIdentifierUtils {
|
|
|
2127
2231
|
shorten(branch: TreeBranch, nodeIdentifier: string): number | undefined;
|
|
2128
2232
|
}
|
|
2129
2233
|
|
|
2130
|
-
// @
|
|
2131
|
-
export interface TreeIndex<TKey, TValue> extends
|
|
2234
|
+
// @beta @sealed
|
|
2235
|
+
export interface TreeIndex<TKey, TValue> extends FluidReadonlyMap<TKey, TValue> {
|
|
2132
2236
|
dispose(): void;
|
|
2133
2237
|
}
|
|
2134
2238
|
|
|
2135
|
-
// @
|
|
2239
|
+
// @beta
|
|
2136
2240
|
export type TreeIndexKey = TreeLeafValue;
|
|
2137
2241
|
|
|
2138
|
-
// @
|
|
2242
|
+
// @beta
|
|
2139
2243
|
export type TreeIndexNodes<TNode> = readonly [first: TNode, ...rest: TNode[]];
|
|
2140
2244
|
|
|
2141
2245
|
// @public
|
|
@@ -2151,6 +2255,10 @@ export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTyp
|
|
|
2151
2255
|
values(): IterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
|
|
2152
2256
|
}
|
|
2153
2257
|
|
|
2258
|
+
// @alpha @sealed
|
|
2259
|
+
export interface TreeMapNodeAlpha<T extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends FluidReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>, TreeNode, Pick<TreeMapNode<T>, "set" | "delete"> {
|
|
2260
|
+
}
|
|
2261
|
+
|
|
2154
2262
|
// @public @sealed
|
|
2155
2263
|
export abstract class TreeNode implements WithType {
|
|
2156
2264
|
static [Symbol.hasInstance](value: unknown): value is TreeNode;
|