@fluidframework/tree 2.0.0-dev-rc.5.0.0.267932 → 2.0.0-dev-rc.5.0.0.268409
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/api-report/tree.alpha.api.md +483 -0
- package/api-report/tree.beta.api.md +480 -0
- package/api-report/tree.public.api.md +480 -0
- package/dist/beta.d.ts +0 -2
- package/dist/core/revertible/revertible.d.ts +1 -2
- package/dist/core/revertible/revertible.d.ts.map +1 -1
- package/dist/core/revertible/revertible.js +0 -1
- package/dist/core/revertible/revertible.js.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts +5 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js +4 -0
- package/dist/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/dist/feature-libraries/flex-tree/index.d.ts +1 -1
- package/dist/feature-libraries/flex-tree/index.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/index.js +2 -1
- package/dist/feature-libraries/flex-tree/index.js.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/lazyField.js +2 -25
- package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/dist/feature-libraries/flex-tree/utilities.d.ts +11 -0
- package/dist/feature-libraries/flex-tree/utilities.d.ts.map +1 -1
- package/dist/feature-libraries/flex-tree/utilities.js +25 -1
- package/dist/feature-libraries/flex-tree/utilities.js.map +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js +1 -1
- package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/dist/feature-libraries/sequence-field/compose.js +1 -1
- package/dist/feature-libraries/sequence-field/compose.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/public.d.ts +0 -2
- package/dist/shared-tree/schematizingTreeView.d.ts +2 -3
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +1 -1
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/treeApi.d.ts +9 -9
- package/dist/shared-tree/treeApi.d.ts.map +1 -1
- package/dist/shared-tree/treeApi.js.map +1 -1
- package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
- package/dist/shared-tree/treeCheckout.js +1 -2
- package/dist/shared-tree/treeCheckout.js.map +1 -1
- package/dist/simple-tree/rawNode.d.ts.map +1 -1
- package/dist/simple-tree/rawNode.js +1 -2
- package/dist/simple-tree/rawNode.js.map +1 -1
- package/dist/simple-tree/tree.d.ts +1 -2
- package/dist/simple-tree/tree.d.ts.map +1 -1
- package/dist/simple-tree/tree.js.map +1 -1
- package/dist/util/utils.d.ts +7 -3
- package/dist/util/utils.d.ts.map +1 -1
- package/dist/util/utils.js +1 -1
- package/dist/util/utils.js.map +1 -1
- package/lib/beta.d.ts +0 -2
- package/lib/core/revertible/revertible.d.ts +1 -2
- package/lib/core/revertible/revertible.d.ts.map +1 -1
- package/lib/core/revertible/revertible.js +0 -1
- package/lib/core/revertible/revertible.js.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts +5 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js +4 -0
- package/lib/feature-libraries/flex-tree/flexTreeTypes.js.map +1 -1
- package/lib/feature-libraries/flex-tree/index.d.ts +1 -1
- package/lib/feature-libraries/flex-tree/index.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/index.js +1 -1
- package/lib/feature-libraries/flex-tree/index.js.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/lazyField.js +1 -24
- package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
- package/lib/feature-libraries/flex-tree/utilities.d.ts +11 -0
- package/lib/feature-libraries/flex-tree/utilities.d.ts.map +1 -1
- package/lib/feature-libraries/flex-tree/utilities.js +23 -0
- package/lib/feature-libraries/flex-tree/utilities.js.map +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js +1 -1
- package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
- package/lib/feature-libraries/sequence-field/compose.js +1 -1
- package/lib/feature-libraries/sequence-field/compose.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/public.d.ts +0 -2
- package/lib/shared-tree/schematizingTreeView.d.ts +2 -3
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +1 -1
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/treeApi.d.ts +9 -9
- package/lib/shared-tree/treeApi.d.ts.map +1 -1
- package/lib/shared-tree/treeApi.js.map +1 -1
- package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
- package/lib/shared-tree/treeCheckout.js +1 -2
- package/lib/shared-tree/treeCheckout.js.map +1 -1
- package/lib/simple-tree/rawNode.d.ts.map +1 -1
- package/lib/simple-tree/rawNode.js +2 -3
- package/lib/simple-tree/rawNode.js.map +1 -1
- package/lib/simple-tree/tree.d.ts +1 -2
- package/lib/simple-tree/tree.d.ts.map +1 -1
- package/lib/simple-tree/tree.js.map +1 -1
- package/lib/util/utils.d.ts +7 -3
- package/lib/util/utils.d.ts.map +1 -1
- package/lib/util/utils.js +1 -1
- package/lib/util/utils.js.map +1 -1
- package/package.json +22 -22
- package/src/core/revertible/revertible.ts +1 -3
- package/src/feature-libraries/flex-tree/flexTreeTypes.ts +5 -0
- package/src/feature-libraries/flex-tree/index.ts +1 -1
- package/src/feature-libraries/flex-tree/lazyField.ts +1 -25
- package/src/feature-libraries/flex-tree/utilities.ts +24 -0
- package/src/feature-libraries/modular-schema/modularChangeFamily.ts +1 -1
- package/src/feature-libraries/sequence-field/compose.ts +1 -1
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/schematizingTreeView.ts +2 -2
- package/src/shared-tree/treeApi.ts +11 -11
- package/src/shared-tree/treeCheckout.ts +1 -2
- package/src/simple-tree/rawNode.ts +1 -2
- package/src/simple-tree/tree.ts +1 -2
- package/src/util/utils.ts +7 -3
- package/api-report/tree.api.md +0 -2142
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
## Alpha API Report File for "@fluidframework/tree"
|
|
2
|
+
|
|
3
|
+
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
|
|
7
|
+
import { ErasedType } from '@fluidframework/core-interfaces';
|
|
8
|
+
import { IDisposable as IDisposable_2 } from '@fluidframework/core-interfaces';
|
|
9
|
+
import { IFluidHandle } from '@fluidframework/core-interfaces';
|
|
10
|
+
import { IFluidLoadable } from '@fluidframework/core-interfaces';
|
|
11
|
+
import { ISharedObject } from '@fluidframework/shared-object-base/internal';
|
|
12
|
+
import { ISharedObjectKind } from '@fluidframework/shared-object-base/internal';
|
|
13
|
+
import { SessionSpaceCompressedId } from '@fluidframework/id-compressor';
|
|
14
|
+
import { SharedObjectKind } from '@fluidframework/shared-object-base';
|
|
15
|
+
import { StableId } from '@fluidframework/id-compressor';
|
|
16
|
+
import type { Static } from '@sinclair/typebox';
|
|
17
|
+
import type { TSchema } from '@sinclair/typebox';
|
|
18
|
+
|
|
19
|
+
// @public
|
|
20
|
+
export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
|
|
21
|
+
|
|
22
|
+
// @public
|
|
23
|
+
export type ApplyKind<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = {
|
|
24
|
+
[FieldKind.Required]: T;
|
|
25
|
+
[FieldKind.Optional]: T | undefined;
|
|
26
|
+
[FieldKind.Identifier]: DefaultsAreOptional extends true ? T | undefined : T;
|
|
27
|
+
}[Kind];
|
|
28
|
+
|
|
29
|
+
// @public
|
|
30
|
+
export enum CommitKind {
|
|
31
|
+
Default = 0,
|
|
32
|
+
Redo = 2,
|
|
33
|
+
Undo = 1
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// @public
|
|
37
|
+
export interface CommitMetadata {
|
|
38
|
+
readonly isLocal: boolean;
|
|
39
|
+
readonly kind: CommitKind;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// @public
|
|
43
|
+
export interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// @public
|
|
47
|
+
export type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
|
|
48
|
+
|
|
49
|
+
// @public
|
|
50
|
+
export enum FieldKind {
|
|
51
|
+
Identifier = 2,
|
|
52
|
+
Optional = 0,
|
|
53
|
+
Required = 1
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// @public
|
|
57
|
+
export interface FieldProps {
|
|
58
|
+
readonly defaultProvider?: DefaultProvider;
|
|
59
|
+
readonly key?: string;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// @public @sealed
|
|
63
|
+
export class FieldSchema<out Kind extends FieldKind = FieldKind, out Types extends ImplicitAllowedTypes = ImplicitAllowedTypes> {
|
|
64
|
+
readonly allowedTypes: Types;
|
|
65
|
+
get allowedTypeSet(): ReadonlySet<TreeNodeSchema>;
|
|
66
|
+
readonly kind: Kind;
|
|
67
|
+
readonly props?: FieldProps | undefined;
|
|
68
|
+
protected _typeCheck?: MakeNominal;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// @public
|
|
72
|
+
export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends Unenforced<ImplicitAllowedTypes>> extends FieldSchema<Kind, any> {
|
|
73
|
+
readonly allowedTypes: Types;
|
|
74
|
+
readonly allowedTypeSet: ReadonlySet<TreeNodeSchema>;
|
|
75
|
+
readonly kind: Kind;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// @public
|
|
79
|
+
export type FlexList<Item = unknown> = readonly LazyItem<Item>[];
|
|
80
|
+
|
|
81
|
+
// @public
|
|
82
|
+
export type FlexListToUnion<TList extends FlexList> = ExtractItemType<TList[number]>;
|
|
83
|
+
|
|
84
|
+
// @public
|
|
85
|
+
export type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
|
|
86
|
+
|
|
87
|
+
// @public
|
|
88
|
+
export type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
|
|
89
|
+
|
|
90
|
+
// @public
|
|
91
|
+
export type InsertableObjectFromSchemaRecord<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>> = {
|
|
92
|
+
readonly [Property in keyof T]: InsertableTreeFieldFromImplicitField<T[Property]>;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
// @public
|
|
96
|
+
export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>> = {
|
|
97
|
+
readonly [Property in keyof T]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property]>;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
// @public
|
|
101
|
+
export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
102
|
+
|
|
103
|
+
// @public
|
|
104
|
+
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>;
|
|
105
|
+
|
|
106
|
+
// @public
|
|
107
|
+
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? InsertableTypedNode<TSchema> : TSchema extends AllowedTypes ? InsertableTypedNode<FlexListToUnion<TSchema>> : never;
|
|
108
|
+
|
|
109
|
+
// @public
|
|
110
|
+
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends AllowedTypes ? InsertableTypedNodeUnsafe<FlexListToUnion<TSchema>> : InsertableTypedNodeUnsafe<TSchema>;
|
|
111
|
+
|
|
112
|
+
// @public
|
|
113
|
+
export type InsertableTypedNode<T extends TreeNodeSchema> = (T extends {
|
|
114
|
+
implicitlyConstructable: true;
|
|
115
|
+
} ? NodeBuilderData<T> : never) | Unhydrated<NodeFromSchema<T>>;
|
|
116
|
+
|
|
117
|
+
// @public
|
|
118
|
+
export type InsertableTypedNodeUnsafe<T extends Unenforced<TreeNodeSchema>> = Unhydrated<NodeFromSchemaUnsafe<T>> | (T extends {
|
|
119
|
+
implicitlyConstructable: true;
|
|
120
|
+
} ? NodeBuilderDataUnsafe<T> : never);
|
|
121
|
+
|
|
122
|
+
// @public
|
|
123
|
+
export interface InternalTreeNode extends ErasedType<"@fluidframework/tree.InternalTreeNode"> {
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// @public
|
|
127
|
+
export type IsListener<TListener> = TListener extends (...args: any[]) => void ? true : false;
|
|
128
|
+
|
|
129
|
+
// @public
|
|
130
|
+
export class IterableTreeArrayContent<T> implements Iterable<T> {
|
|
131
|
+
[Symbol.iterator](): Iterator<T>;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// @public
|
|
135
|
+
export interface ITree extends IFluidLoadable {
|
|
136
|
+
schematize<TRoot extends ImplicitFieldSchema>(config: TreeConfiguration<TRoot>): TreeView<TRoot>;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// @public
|
|
140
|
+
export interface ITreeConfigurationOptions {
|
|
141
|
+
enableSchemaValidation?: boolean;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// @public
|
|
145
|
+
export type LazyItem<Item = unknown> = Item | (() => Item);
|
|
146
|
+
|
|
147
|
+
// @public
|
|
148
|
+
export interface Listenable<TListeners extends object> {
|
|
149
|
+
on<K extends keyof Listeners<TListeners>>(eventName: K, listener: TListeners[K]): Off;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// @public
|
|
153
|
+
export type Listeners<T extends object> = {
|
|
154
|
+
[P in (string | symbol) & keyof T as IsListener<T[P]> extends true ? P : never]: T[P];
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
// @public
|
|
158
|
+
export interface MakeNominal {
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// @public
|
|
162
|
+
export type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
163
|
+
|
|
164
|
+
// @public
|
|
165
|
+
export type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
166
|
+
|
|
167
|
+
// @public
|
|
168
|
+
export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
|
|
169
|
+
|
|
170
|
+
// @public
|
|
171
|
+
export type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
|
|
172
|
+
|
|
173
|
+
// @public
|
|
174
|
+
export interface NodeInDocumentConstraint {
|
|
175
|
+
// (undocumented)
|
|
176
|
+
readonly node: TreeNode;
|
|
177
|
+
// (undocumented)
|
|
178
|
+
readonly type: "nodeInDocument";
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// @public
|
|
182
|
+
export enum NodeKind {
|
|
183
|
+
Array = 1,
|
|
184
|
+
Leaf = 3,
|
|
185
|
+
Map = 0,
|
|
186
|
+
Object = 2
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// @public
|
|
190
|
+
export type ObjectFromSchemaRecord<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>> = {
|
|
191
|
+
-readonly [Property in keyof T]: TreeFieldFromImplicitField<T[Property]>;
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
// @public
|
|
195
|
+
export type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>> = {
|
|
196
|
+
-readonly [Property in keyof T]: TreeFieldFromImplicitFieldUnsafe<T[Property]>;
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
// @public
|
|
200
|
+
export type Off = () => void;
|
|
201
|
+
|
|
202
|
+
export { Range_2 as Range }
|
|
203
|
+
|
|
204
|
+
export { Required_2 as Required }
|
|
205
|
+
|
|
206
|
+
// @public
|
|
207
|
+
export type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
|
|
208
|
+
readonly [P in symbol | string]: P extends K ? T : never;
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
// @public
|
|
212
|
+
export interface Revertible {
|
|
213
|
+
dispose(): void;
|
|
214
|
+
revert(): void;
|
|
215
|
+
revert(dispose: boolean): void;
|
|
216
|
+
readonly status: RevertibleStatus;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
// @public
|
|
220
|
+
export type RevertibleFactory = (onRevertibleDisposed?: (revertible: Revertible) => void) => Revertible;
|
|
221
|
+
|
|
222
|
+
// @public
|
|
223
|
+
export enum RevertibleStatus {
|
|
224
|
+
Disposed = 1,
|
|
225
|
+
Valid = 0
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// @public
|
|
229
|
+
export const rollback: unique symbol;
|
|
230
|
+
|
|
231
|
+
// @public
|
|
232
|
+
export interface RunTransaction {
|
|
233
|
+
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult): TResult;
|
|
234
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
|
|
235
|
+
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback): TResult | typeof rollback;
|
|
236
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
|
|
237
|
+
<TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void): void;
|
|
238
|
+
<TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void): void;
|
|
239
|
+
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
|
|
240
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
|
|
241
|
+
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
|
|
242
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
|
|
243
|
+
<TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void, preconditions?: readonly TransactionConstraint[]): void;
|
|
244
|
+
<TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
|
|
245
|
+
readonly rollback: typeof rollback;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// @public @sealed
|
|
249
|
+
export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> {
|
|
250
|
+
constructor(scope: TScope);
|
|
251
|
+
array<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchema<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, `Array<${string}>`>>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T>;
|
|
252
|
+
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>>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T>;
|
|
253
|
+
arrayRecursive<const Name extends TName, const T extends Unenforced<ImplicitAllowedTypes>>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>>, {
|
|
254
|
+
[Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
255
|
+
}, false, T>;
|
|
256
|
+
readonly boolean: TreeNodeSchema<"com.fluidframework.leaf.boolean", NodeKind.Leaf, boolean, boolean>;
|
|
257
|
+
readonly handle: TreeNodeSchema<"com.fluidframework.leaf.handle", NodeKind.Leaf, IFluidHandle<unknown>, IFluidHandle<unknown>>;
|
|
258
|
+
get identifier(): FieldSchema<FieldKind.Identifier, typeof SchemaFactory.string>;
|
|
259
|
+
map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchema<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, true, T>;
|
|
260
|
+
map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, true, T>;
|
|
261
|
+
mapRecursive<Name extends TName, const T extends Unenforced<ImplicitAllowedTypes>>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>>, {
|
|
262
|
+
[Symbol.iterator](): Iterator<[
|
|
263
|
+
string,
|
|
264
|
+
InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
|
|
265
|
+
]>;
|
|
266
|
+
}, false, T>;
|
|
267
|
+
readonly null: TreeNodeSchema<"com.fluidframework.leaf.null", NodeKind.Leaf, null, null>;
|
|
268
|
+
readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf, number, number>;
|
|
269
|
+
object<const Name extends TName, const T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>(name: Name, fields: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
|
|
270
|
+
objectRecursive<const Name extends TName, const T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
|
|
271
|
+
optional<const T extends ImplicitAllowedTypes>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchema<FieldKind.Optional, T>;
|
|
272
|
+
optionalRecursive<const T extends Unenforced<ImplicitAllowedTypes>>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchemaUnsafe<FieldKind.Optional, T>;
|
|
273
|
+
required<const T extends ImplicitAllowedTypes>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchema<FieldKind.Required, T>;
|
|
274
|
+
requiredRecursive<const T extends Unenforced<ImplicitAllowedTypes>>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchemaUnsafe<FieldKind.Required, T>;
|
|
275
|
+
// (undocumented)
|
|
276
|
+
readonly scope: TScope;
|
|
277
|
+
readonly string: TreeNodeSchema<"com.fluidframework.leaf.string", NodeKind.Leaf, string, string>;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// @public
|
|
281
|
+
export interface SchemaIncompatible {
|
|
282
|
+
readonly canUpgrade: boolean;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// @public
|
|
286
|
+
export type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
|
|
287
|
+
|
|
288
|
+
// @alpha
|
|
289
|
+
export const SharedTree: ISharedObjectKind<ITree> & SharedObjectKind<ITree>;
|
|
290
|
+
|
|
291
|
+
// @public
|
|
292
|
+
export type TransactionConstraint = NodeInDocumentConstraint;
|
|
293
|
+
|
|
294
|
+
// @public
|
|
295
|
+
export const Tree: TreeApi;
|
|
296
|
+
|
|
297
|
+
// @public
|
|
298
|
+
export interface TreeApi extends TreeNodeApi {
|
|
299
|
+
contains(node: TreeNode, other: TreeNode): boolean;
|
|
300
|
+
readonly runTransaction: RunTransaction;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// @public
|
|
304
|
+
export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>, TreeArrayNode> {
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
// @public
|
|
308
|
+
export const TreeArrayNode: {
|
|
309
|
+
spread: <T>(content: Iterable<T>) => IterableTreeArrayContent<T>;
|
|
310
|
+
};
|
|
311
|
+
|
|
312
|
+
// @public
|
|
313
|
+
export interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom> extends ReadonlyArray<T>, TreeNode {
|
|
314
|
+
insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
315
|
+
insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
316
|
+
insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
317
|
+
moveRangeToEnd(sourceStart: number, sourceEnd: number): void;
|
|
318
|
+
moveRangeToEnd(sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
|
|
319
|
+
moveRangeToIndex(index: number, sourceStart: number, sourceEnd: number): void;
|
|
320
|
+
moveRangeToIndex(index: number, sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
|
|
321
|
+
moveRangeToStart(sourceStart: number, sourceEnd: number): void;
|
|
322
|
+
moveRangeToStart(sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
|
|
323
|
+
moveToEnd(sourceIndex: number): void;
|
|
324
|
+
moveToEnd(sourceIndex: number, source: TMoveFrom): void;
|
|
325
|
+
moveToIndex(index: number, sourceIndex: number): void;
|
|
326
|
+
moveToIndex(index: number, sourceIndex: number, source: TMoveFrom): void;
|
|
327
|
+
moveToStart(sourceIndex: number): void;
|
|
328
|
+
moveToStart(sourceIndex: number, source: TMoveFrom): void;
|
|
329
|
+
removeAt(index: number): void;
|
|
330
|
+
removeRange(start?: number, end?: number): void;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
// @public
|
|
334
|
+
export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, TreeArrayNode> {
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
// @public
|
|
338
|
+
export interface TreeChangeEvents {
|
|
339
|
+
nodeChanged(): void;
|
|
340
|
+
treeChanged(): void;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// @public
|
|
344
|
+
export class TreeConfiguration<TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> {
|
|
345
|
+
constructor(schema: TSchema, initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>, options?: ITreeConfigurationOptions);
|
|
346
|
+
// (undocumented)
|
|
347
|
+
readonly initialTree: () => InsertableTreeFieldFromImplicitField<TSchema>;
|
|
348
|
+
readonly options: Required<ITreeConfigurationOptions>;
|
|
349
|
+
// (undocumented)
|
|
350
|
+
readonly schema: TSchema;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
// @public
|
|
354
|
+
export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
355
|
+
|
|
356
|
+
// @public
|
|
357
|
+
export type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
358
|
+
|
|
359
|
+
// @public
|
|
360
|
+
export type TreeLeafValue = number | string | boolean | IFluidHandle | null;
|
|
361
|
+
|
|
362
|
+
// @public
|
|
363
|
+
export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends ReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>, TreeNode {
|
|
364
|
+
delete(key: string): void;
|
|
365
|
+
entries(): IterableIterator<[string, TreeNodeFromImplicitAllowedTypes<T>]>;
|
|
366
|
+
forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypes<T>, key: string, map: ReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>) => void, thisArg?: any): void;
|
|
367
|
+
keys(): IterableIterator<string>;
|
|
368
|
+
set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypes<T> | undefined): void;
|
|
369
|
+
values(): IterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
// @public
|
|
373
|
+
export interface TreeMapNodeUnsafe<T extends Unenforced<ImplicitAllowedTypes>> extends ReadonlyMap<string, TreeNodeFromImplicitAllowedTypesUnsafe<T>>, TreeNode {
|
|
374
|
+
delete(key: string): void;
|
|
375
|
+
set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// @public
|
|
379
|
+
export abstract class TreeNode implements WithType {
|
|
380
|
+
abstract get [type](): string;
|
|
381
|
+
protected constructor();
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
// @public
|
|
385
|
+
export interface TreeNodeApi {
|
|
386
|
+
is<TSchema extends ImplicitAllowedTypes>(value: unknown, schema: TSchema): value is TreeNodeFromImplicitAllowedTypes<TSchema>;
|
|
387
|
+
key(node: TreeNode): string | number;
|
|
388
|
+
on<K extends keyof TreeChangeEvents>(node: TreeNode, eventName: K, listener: TreeChangeEvents[K]): () => void;
|
|
389
|
+
parent(node: TreeNode): TreeNode | undefined;
|
|
390
|
+
schema<T extends TreeNode | TreeLeafValue>(node: T): TreeNodeSchema<string, NodeKind, unknown, T>;
|
|
391
|
+
shortId(node: TreeNode): number | string | undefined;
|
|
392
|
+
readonly status: (node: TreeNode) => TreeStatus;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
// @public
|
|
396
|
+
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
397
|
+
|
|
398
|
+
// @public
|
|
399
|
+
export type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
400
|
+
|
|
401
|
+
// @public
|
|
402
|
+
export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
|
|
403
|
+
|
|
404
|
+
// @public
|
|
405
|
+
export interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
406
|
+
// @sealed
|
|
407
|
+
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
// @public
|
|
411
|
+
export interface TreeNodeSchemaCore<out Name extends string, out Kind extends NodeKind, out ImplicitlyConstructable extends boolean, out Info = unknown> {
|
|
412
|
+
// (undocumented)
|
|
413
|
+
readonly identifier: Name;
|
|
414
|
+
readonly implicitlyConstructable: ImplicitlyConstructable;
|
|
415
|
+
readonly info: Info;
|
|
416
|
+
// (undocumented)
|
|
417
|
+
readonly kind: Kind;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
// @public
|
|
421
|
+
export interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
422
|
+
// (undocumented)
|
|
423
|
+
create(data: TInsertable): TNode;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
// @public
|
|
427
|
+
export type TreeObjectNode<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName>;
|
|
428
|
+
|
|
429
|
+
// @public
|
|
430
|
+
export type TreeObjectNodeUnsafe<T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName>;
|
|
431
|
+
|
|
432
|
+
// @public
|
|
433
|
+
export enum TreeStatus {
|
|
434
|
+
Deleted = 2,
|
|
435
|
+
InDocument = 0,
|
|
436
|
+
New = 3,
|
|
437
|
+
Removed = 1
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
// @public
|
|
441
|
+
export interface TreeView<TSchema extends ImplicitFieldSchema> extends IDisposable_2 {
|
|
442
|
+
readonly error?: SchemaIncompatible;
|
|
443
|
+
readonly events: Listenable<TreeViewEvents>;
|
|
444
|
+
get root(): TreeFieldFromImplicitField<TSchema>;
|
|
445
|
+
set root(newRoot: InsertableTreeFieldFromImplicitField<TSchema>);
|
|
446
|
+
upgradeSchema(): void;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
// @public
|
|
450
|
+
export interface TreeViewEvents {
|
|
451
|
+
afterBatch(): void;
|
|
452
|
+
commitApplied(data: CommitMetadata, getRevertible?: RevertibleFactory): void;
|
|
453
|
+
rootChanged(): void;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
// @public
|
|
457
|
+
export const type: unique symbol;
|
|
458
|
+
|
|
459
|
+
// @public
|
|
460
|
+
export type Unenforced<_DesiredExtendsConstraint> = unknown;
|
|
461
|
+
|
|
462
|
+
// @public
|
|
463
|
+
export type Unhydrated<T> = T;
|
|
464
|
+
|
|
465
|
+
// @public
|
|
466
|
+
export type ValidateRecursiveSchema<T extends TreeNodeSchemaClass<string, NodeKind.Array | NodeKind.Map | NodeKind.Object, TreeNode & WithType<T["identifier"]>, {
|
|
467
|
+
[NodeKind.Object]: T["info"] extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
|
|
468
|
+
[NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
|
|
469
|
+
[NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
|
|
470
|
+
}[T["kind"]], false, {
|
|
471
|
+
[NodeKind.Object]: RestrictiveReadonlyRecord<string, ImplicitFieldSchema>;
|
|
472
|
+
[NodeKind.Array]: ImplicitAllowedTypes;
|
|
473
|
+
[NodeKind.Map]: ImplicitAllowedTypes;
|
|
474
|
+
}[T["kind"]]>> = true;
|
|
475
|
+
|
|
476
|
+
// @public
|
|
477
|
+
export interface WithType<TName extends string = string> {
|
|
478
|
+
get [type](): TName;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
// (No @packageDocumentation comment for this package)
|
|
482
|
+
|
|
483
|
+
```
|