fluid-framework 2.71.0 → 2.73.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.
@@ -33,7 +33,7 @@ export type AllowedTypesFullEvaluated = AllowedTypesFull<readonly AnnotatedAllow
33
33
  // @beta @sealed @system
34
34
  export type AllowedTypesFullFromMixed<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = UnannotateAllowedTypesList<T> & AnnotatedAllowedTypes<AnnotateAllowedTypesList<T>>;
35
35
 
36
- // @alpha @sealed @system
36
+ // @beta @sealed @system
37
37
  export type AllowedTypesFullFromMixedUnsafe<T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]> = UnannotateAllowedTypesListUnsafe<T> & AnnotatedAllowedTypes<AnnotateAllowedTypesListUnsafe<T>>;
38
38
 
39
39
  // @alpha @sealed @system
@@ -52,7 +52,7 @@ export type AnnotateAllowedTypesList<T extends readonly (AnnotatedAllowedType |
52
52
  [I in keyof T]: T[I] extends AnnotatedAllowedType<unknown> ? T[I] : AnnotatedAllowedType<T[I]>;
53
53
  };
54
54
 
55
- // @alpha @sealed @system
55
+ // @beta @sealed @system
56
56
  export type AnnotateAllowedTypesListUnsafe<T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]> = {
57
57
  [I in keyof T]: T[I] extends AnnotatedAllowedTypeUnsafe ? T[I] : AnnotatedAllowedTypeUnsafe<T[I]>;
58
58
  };
@@ -72,11 +72,11 @@ export interface AnnotatedAllowedTypes<T = readonly AnnotatedAllowedType[]> exte
72
72
  readonly types: T;
73
73
  }
74
74
 
75
- // @alpha @sealed @system
75
+ // @beta @sealed @system
76
76
  export interface AnnotatedAllowedTypesUnsafe extends AnnotatedAllowedTypes<LazyItem<System_Unsafe.TreeNodeSchemaUnsafe>> {
77
77
  }
78
78
 
79
- // @alpha @sealed @system
79
+ // @beta @sealed @system
80
80
  export interface AnnotatedAllowedTypeUnsafe<T = Unenforced<LazyItem<TreeNodeSchema>>> extends AnnotatedAllowedType<T> {
81
81
  }
82
82
 
@@ -117,6 +117,9 @@ export const ArrayNodeSchema: {
117
117
  // @alpha
118
118
  export function asAlpha<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): TreeViewAlpha<TSchema>;
119
119
 
120
+ // @alpha
121
+ export function asAlpha<TSchema extends ImplicitFieldSchema>(view: TreeViewConfiguration<TSchema>): TreeViewConfigurationAlpha<TSchema>;
122
+
120
123
  // @beta
121
124
  export function asBeta<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): TreeViewBeta<TSchema>;
122
125
 
@@ -138,6 +141,9 @@ export interface BranchableTree extends ViewableTree {
138
141
  rebase(branch: TreeBranchFork): void;
139
142
  }
140
143
 
144
+ // @alpha
145
+ export function checkCompatibility(viewWhichCreatedStoredSchema: TreeViewConfiguration, view: TreeViewConfiguration): Omit<SchemaCompatibilityStatus, "canInitialize">;
146
+
141
147
  // @alpha
142
148
  export function cloneWithReplacements(root: unknown, rootKey: string, replacer: (key: string, value: unknown) => {
143
149
  clone: boolean;
@@ -240,6 +246,9 @@ export function createSimpleTreeIndex<TFieldSchema extends ImplicitFieldSchema,
240
246
  // @alpha
241
247
  export function createSimpleTreeIndex<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[]): SimpleTreeIndex<TKey, TValue>;
242
248
 
249
+ // @alpha
250
+ export function decodeSimpleSchema(encodedSchema: JsonCompatibleReadOnly, validator?: FormatValidator): SimpleTreeSchema;
251
+
243
252
  // @public @sealed @system
244
253
  interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
245
254
  }
@@ -255,6 +264,9 @@ export interface DirtyTreeMap {
255
264
  // @alpha
256
265
  export type DirtyTreeStatus = "new" | "changed" | "moved";
257
266
 
267
+ // @alpha
268
+ export function encodeSimpleSchema(simpleSchema: SimpleTreeSchema): JsonCompatibleReadOnly;
269
+
258
270
  // @beta
259
271
  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 & {
260
272
  readonly value: TValue;
@@ -281,6 +293,9 @@ export abstract class ErasedType<out Name = unknown> {
281
293
  // @alpha
282
294
  export function evaluateLazySchema<T extends TreeNodeSchema>(value: LazyItem<T>): T;
283
295
 
296
+ // @alpha
297
+ export function exportCompatibilitySchemaSnapshot(config: Pick<TreeViewConfiguration, "schema">): JsonCompatibleReadOnly;
298
+
284
299
  // @public @system
285
300
  type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
286
301
 
@@ -374,7 +389,9 @@ type FlexListToUnion<TList extends FlexList> = ExtractItemType<TList[number]>;
374
389
  // @alpha
375
390
  export const FluidClientVersion: {
376
391
  readonly v2_0: "2.0.0";
392
+ readonly v2_43: "2.43.0";
377
393
  readonly v2_52: "2.52.0";
394
+ readonly v2_73: "2.73.0";
378
395
  };
379
396
 
380
397
  // @public
@@ -721,6 +738,9 @@ export type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
721
738
  // @public
722
739
  export type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
723
740
 
741
+ // @alpha
742
+ export function importCompatibilitySchemaSnapshot(config: JsonCompatibleReadOnly): TreeViewConfiguration;
743
+
724
744
  // @alpha
725
745
  export function independentInitializedView<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options: ForestOptions & ICodecOptions, content: ViewContent): TreeViewAlpha<TSchema>;
726
746
 
@@ -1307,14 +1327,6 @@ export class SchemaFactoryAlpha<out TScope extends string | undefined = string |
1307
1327
  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>;
1308
1328
  readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe<FieldKind.Required, T, TCustomMetadata>;
1309
1329
  scopedFactoryAlpha<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryAlpha<ScopedSchemaName<TScope, T>, TNameInner>;
1310
- static staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
1311
- staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
1312
- static stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1313
- stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1314
- static types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
1315
- types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
1316
- static typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
1317
- typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
1318
1330
  }
1319
1331
 
1320
1332
  // @beta
@@ -1328,6 +1340,14 @@ export class SchemaFactoryBeta<out TScope extends string | undefined = string |
1328
1340
  readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
1329
1341
  }, false, T, undefined, TCustomMetadata>;
1330
1342
  scopedFactory<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryBeta<ScopedSchemaName<TScope, T>, TNameInner>;
1343
+ static staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
1344
+ staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
1345
+ static stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1346
+ stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1347
+ static types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
1348
+ types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
1349
+ static typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
1350
+ typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
1331
1351
  }
1332
1352
 
1333
1353
  // @public @sealed @system
@@ -1350,8 +1370,8 @@ export interface SchemaStatics {
1350
1370
  readonly string: LeafSchema<"string", string>;
1351
1371
  }
1352
1372
 
1353
- // @alpha @sealed @system
1354
- export interface SchemaStaticsAlpha {
1373
+ // @beta @sealed @system
1374
+ export interface SchemaStaticsBeta {
1355
1375
  readonly staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
1356
1376
  stagedRecursive: <const T extends Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1357
1377
  readonly types: <const T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixed<T>;
@@ -1377,31 +1397,20 @@ export const SharedTree: SharedObjectKind<ITree>;
1377
1397
 
1378
1398
  // @alpha @input
1379
1399
  export interface SharedTreeFormatOptions {
1380
- formatVersion: SharedTreeFormatVersion[keyof SharedTreeFormatVersion];
1381
1400
  treeEncodeType: TreeCompressionStrategy;
1382
1401
  }
1383
1402
 
1384
- // @alpha
1385
- export const SharedTreeFormatVersion: {
1386
- readonly v1: 1;
1387
- readonly v2: 2;
1388
- readonly v3: 3;
1389
- readonly v5: 5;
1390
- readonly vSharedBranches: 100;
1391
- };
1392
-
1393
- // @alpha
1394
- export type SharedTreeFormatVersion = typeof SharedTreeFormatVersion;
1395
-
1396
1403
  // @alpha @input
1397
- export type SharedTreeOptions = Partial<CodecWriteOptions> & Partial<SharedTreeFormatOptions> & SharedTreeOptionsBeta;
1404
+ export interface SharedTreeOptions extends Partial<CodecWriteOptions>, Partial<SharedTreeFormatOptions>, SharedTreeOptionsBeta {
1405
+ readonly enableSharedBranches?: boolean;
1406
+ }
1398
1407
 
1399
1408
  // @beta @input
1400
1409
  export type SharedTreeOptionsBeta = ForestOptions;
1401
1410
 
1402
1411
  // @alpha @sealed
1403
1412
  export interface SimpleAllowedTypeAttributes {
1404
- readonly isStaged: boolean | undefined;
1413
+ readonly isStaged: false | SchemaUpgrade | undefined;
1405
1414
  }
1406
1415
 
1407
1416
  // @alpha @sealed
@@ -1448,6 +1457,7 @@ export interface SimpleObjectFieldSchema extends SimpleFieldSchema {
1448
1457
 
1449
1458
  // @alpha @sealed
1450
1459
  export interface SimpleObjectNodeSchema<out TCustomMetadata = unknown> extends SimpleNodeSchemaBaseAlpha<NodeKind.Object, TCustomMetadata> {
1460
+ readonly allowUnknownOptionalFields: boolean | undefined;
1451
1461
  readonly fields: ReadonlyMap<string, SimpleObjectFieldSchema>;
1452
1462
  }
1453
1463
 
@@ -1477,7 +1487,7 @@ export namespace System_TableSchema {
1477
1487
  // @system
1478
1488
  export type CreateColumnOptionsBase<TSchemaFactory extends SchemaFactoryBeta = SchemaFactoryBeta, TCell extends ImplicitAllowedTypes = ImplicitAllowedTypes> = OptionsWithSchemaFactory<TSchemaFactory> & OptionsWithCellSchema<TCell>;
1479
1489
  // @system
1480
- export function createColumnSchema<const TInputScope extends string | undefined, const TCellSchema extends ImplicitAllowedTypes, const TPropsSchema extends ImplicitFieldSchema>(inputSchemaFactory: SchemaFactoryBeta<TInputScope>, cellSchema: TCellSchema, propsSchema: TPropsSchema): TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Column">, NodeKind.Object, TreeNode & TableSchema.Column<TCellSchema, TPropsSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Column">, NodeKind, unknown>, object & {
1490
+ export function createColumnSchema<const TInputScope extends string | undefined, const TCellSchema extends ImplicitAllowedTypes, const TPropsSchema extends ImplicitFieldSchema>(inputSchemaFactory: SchemaFactoryBeta<TInputScope>, propsSchema: TPropsSchema): TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Column">, NodeKind.Object, TreeNode & TableSchema.Column<TCellSchema, TPropsSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Column">, NodeKind, unknown>, object & {
1481
1491
  readonly id?: string | undefined;
1482
1492
  } & (FieldHasDefault<TPropsSchema> extends true ? {
1483
1493
  props?: InsertableTreeFieldFromImplicitField<TPropsSchema> | undefined;
@@ -1492,7 +1502,7 @@ export namespace System_TableSchema {
1492
1502
  // @sealed
1493
1503
  export function createRowSchema<const TInputScope extends string | undefined, const TCellSchema extends ImplicitAllowedTypes, const TPropsSchema extends ImplicitFieldSchema>(inputSchemaFactory: SchemaFactoryBeta<TInputScope>, cellSchema: TCellSchema, propsSchema: TPropsSchema): TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row">, NodeKind.Object, TreeNode & TableSchema.Row<TCellSchema, TPropsSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row">, NodeKind, unknown>, object & {
1494
1504
  readonly id?: string | undefined;
1495
- readonly cells: (InsertableTypedNode_2<TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, TreeRecordNode_2<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>, RecordNodeInsertableData_2<TCellSchema>, true, TCellSchema, undefined, unknown>> | undefined) & InsertableTypedNode_2<TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, TreeRecordNode_2<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>, RecordNodeInsertableData_2<TCellSchema>, true, TCellSchema, undefined, unknown>>;
1505
+ readonly cells: (InsertableTypedNode_2<TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>, RecordNodeInsertableData_2<TCellSchema>, true, TCellSchema, undefined, unknown>> | undefined) & InsertableTypedNode_2<TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>, RecordNodeInsertableData_2<TCellSchema>, true, TCellSchema, undefined, unknown>>;
1496
1506
  } & (FieldHasDefault<TPropsSchema> extends true ? {
1497
1507
  props?: InsertableTreeFieldFromImplicitField<TPropsSchema> | undefined;
1498
1508
  } : {
@@ -1500,7 +1510,7 @@ export namespace System_TableSchema {
1500
1510
  }), true, {
1501
1511
  readonly props: TPropsSchema;
1502
1512
  readonly id: FieldSchema_2<FieldKind_2.Identifier, LeafSchema_2<"string", string>, unknown>;
1503
- readonly cells: FieldSchema_2<FieldKind_2.Required, TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, TreeRecordNode_2<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>, RecordNodeInsertableData_2<TCellSchema>, true, TCellSchema, undefined, unknown>, unknown>;
1513
+ readonly cells: FieldSchema_2<FieldKind_2.Required, TreeNodeSchemaClass<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Row.cells">, NodeKind.Record, unknown>, RecordNodeInsertableData_2<TCellSchema>, true, TCellSchema, undefined, unknown>, unknown>;
1504
1514
  }>;
1505
1515
  // @system
1506
1516
  export function createTableSchema<const TInputScope extends string | undefined, const TCellSchema extends ImplicitAllowedTypes, const TColumnSchema extends ColumnSchemaBase<TInputScope, TCellSchema>, const TRowSchema extends RowSchemaBase<TInputScope, TCellSchema>>(inputSchemaFactory: SchemaFactoryBeta<TInputScope>, _cellSchema: TCellSchema, columnSchema: TColumnSchema, rowSchema: TRowSchema): TreeNodeSchemaCore_2<ScopedSchemaName<ScopedSchemaName<TInputScope, "table">, "Table">, NodeKind.Object, true, {
@@ -1627,10 +1637,6 @@ export namespace TableSchema {
1627
1637
  }
1628
1638
  // @sealed
1629
1639
  export interface Column<TCell extends ImplicitAllowedTypes, TProps extends ImplicitFieldSchema = ImplicitFieldSchema> {
1630
- getCells(): readonly {
1631
- rowId: string;
1632
- cell: TreeNodeFromImplicitAllowedTypes<TCell>;
1633
- }[];
1634
1640
  readonly id: string;
1635
1641
  get props(): TreeFieldFromImplicitField<TProps>;
1636
1642
  set props(value: InsertableTreeFieldFromImplicitField<TProps>);
@@ -1649,19 +1655,9 @@ export namespace TableSchema {
1649
1655
  }
1650
1656
  // @sealed
1651
1657
  export interface Row<TCell extends ImplicitAllowedTypes, TProps extends ImplicitFieldSchema = ImplicitFieldSchema> {
1652
- getCell(column: Column<TCell>): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
1653
- getCell(columnId: string): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
1654
- getCells(): readonly {
1655
- columnId: string;
1656
- cell: TreeNodeFromImplicitAllowedTypes<TCell>;
1657
- }[];
1658
1658
  readonly id: string;
1659
1659
  get props(): TreeFieldFromImplicitField<TProps>;
1660
1660
  set props(value: InsertableTreeFieldFromImplicitField<TProps>);
1661
- removeCell(column: Column<TCell>): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
1662
- removeCell(columnId: string): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
1663
- setCell(column: Column<TCell>, value: InsertableTreeNodeFromImplicitAllowedTypes<TCell>): void;
1664
- setCell(columnId: string, value: InsertableTreeNodeFromImplicitAllowedTypes<TCell>): void;
1665
1661
  }
1666
1662
  export function row<const TScope extends string | undefined, const TCell extends ImplicitAllowedTypes>(params: System_TableSchema.CreateRowOptionsBase<SchemaFactoryBeta<TScope>, TCell>): System_TableSchema.RowSchemaBase<TScope, TCell, System_TableSchema.DefaultPropsType>;
1667
1663
  export function row<const TScope extends string | undefined, const TCell extends ImplicitAllowedTypes, const TProps extends ImplicitFieldSchema>(params: System_TableSchema.CreateRowOptionsBase<SchemaFactoryBeta<TScope>, TCell> & {
@@ -2076,14 +2072,14 @@ export type UnannotateAllowedTypesList<T extends readonly (AnnotatedAllowedType
2076
2072
  [I in keyof T]: T[I] extends AnnotatedAllowedType<infer X> ? X : T[I];
2077
2073
  };
2078
2074
 
2079
- // @alpha @sealed @system
2075
+ // @beta @sealed @system
2080
2076
  export type UnannotateAllowedTypesListUnsafe<T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]> = {
2081
2077
  readonly [I in keyof T]: T[I] extends {
2082
2078
  type: infer X;
2083
2079
  } ? X : T[I];
2084
2080
  };
2085
2081
 
2086
- // @alpha @sealed @system
2082
+ // @beta @sealed @system
2087
2083
  export type UnannotateAllowedTypeUnsafe<T extends Unenforced<AnnotatedAllowedTypeUnsafe | LazyItem<System_Unsafe.TreeNodeSchemaUnsafe>>> = T extends AnnotatedAllowedTypeUnsafe<infer X> ? X : T;
2088
2084
 
2089
2085
  // @public
@@ -33,6 +33,9 @@ export type AllowedTypesFullEvaluated = AllowedTypesFull<readonly AnnotatedAllow
33
33
  // @beta @sealed @system
34
34
  export type AllowedTypesFullFromMixed<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = UnannotateAllowedTypesList<T> & AnnotatedAllowedTypes<AnnotateAllowedTypesList<T>>;
35
35
 
36
+ // @beta @sealed @system
37
+ export type AllowedTypesFullFromMixedUnsafe<T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]> = UnannotateAllowedTypesListUnsafe<T> & AnnotatedAllowedTypes<AnnotateAllowedTypesListUnsafe<T>>;
38
+
36
39
  // @beta @input
37
40
  export interface AllowedTypesMetadata {
38
41
  readonly custom?: unknown;
@@ -43,6 +46,11 @@ export type AnnotateAllowedTypesList<T extends readonly (AnnotatedAllowedType |
43
46
  [I in keyof T]: T[I] extends AnnotatedAllowedType<unknown> ? T[I] : AnnotatedAllowedType<T[I]>;
44
47
  };
45
48
 
49
+ // @beta @sealed @system
50
+ export type AnnotateAllowedTypesListUnsafe<T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]> = {
51
+ [I in keyof T]: T[I] extends AnnotatedAllowedTypeUnsafe ? T[I] : AnnotatedAllowedTypeUnsafe<T[I]>;
52
+ };
53
+
46
54
  // @beta @sealed
47
55
  export interface AnnotatedAllowedType<T = LazyItem<TreeNodeSchema>> {
48
56
  readonly metadata: AllowedTypeMetadata;
@@ -58,6 +66,14 @@ export interface AnnotatedAllowedTypes<T = readonly AnnotatedAllowedType[]> exte
58
66
  readonly types: T;
59
67
  }
60
68
 
69
+ // @beta @sealed @system
70
+ export interface AnnotatedAllowedTypesUnsafe extends AnnotatedAllowedTypes<LazyItem<System_Unsafe.TreeNodeSchemaUnsafe>> {
71
+ }
72
+
73
+ // @beta @sealed @system
74
+ export interface AnnotatedAllowedTypeUnsafe<T = Unenforced<LazyItem<TreeNodeSchema>>> extends AnnotatedAllowedType<T> {
75
+ }
76
+
61
77
  // @public @system
62
78
  type ApplyKind<T, Kind extends FieldKind> = {
63
79
  [FieldKind.Required]: T;
@@ -863,6 +879,14 @@ export class SchemaFactoryBeta<out TScope extends string | undefined = string |
863
879
  readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
864
880
  }, false, T, undefined, TCustomMetadata>;
865
881
  scopedFactory<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryBeta<ScopedSchemaName<TScope, T>, TNameInner>;
882
+ static staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
883
+ staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
884
+ static stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
885
+ stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
886
+ static types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
887
+ types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
888
+ static typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
889
+ typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
866
890
  }
867
891
 
868
892
  // @public @sealed @system
@@ -885,6 +909,14 @@ export interface SchemaStatics {
885
909
  readonly string: LeafSchema<"string", string>;
886
910
  }
887
911
 
912
+ // @beta @sealed @system
913
+ export interface SchemaStaticsBeta {
914
+ readonly staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
915
+ stagedRecursive: <const T extends Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
916
+ readonly types: <const T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixed<T>;
917
+ readonly typesRecursive: <const T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixedUnsafe<T>;
918
+ }
919
+
888
920
  // @beta @sealed
889
921
  export class SchemaUpgrade {
890
922
  // (undocumented)
@@ -1231,6 +1263,16 @@ export type UnannotateAllowedTypesList<T extends readonly (AnnotatedAllowedType
1231
1263
  [I in keyof T]: T[I] extends AnnotatedAllowedType<infer X> ? X : T[I];
1232
1264
  };
1233
1265
 
1266
+ // @beta @sealed @system
1267
+ export type UnannotateAllowedTypesListUnsafe<T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]> = {
1268
+ readonly [I in keyof T]: T[I] extends {
1269
+ type: infer X;
1270
+ } ? X : T[I];
1271
+ };
1272
+
1273
+ // @beta @sealed @system
1274
+ export type UnannotateAllowedTypeUnsafe<T extends Unenforced<AnnotatedAllowedTypeUnsafe | LazyItem<System_Unsafe.TreeNodeSchemaUnsafe>>> = T extends AnnotatedAllowedTypeUnsafe<infer X> ? X : T;
1275
+
1234
1276
  // @public
1235
1277
  export type Unenforced<_DesiredExtendsConstraint> = unknown;
1236
1278
 
@@ -33,6 +33,9 @@ export type AllowedTypesFullEvaluated = AllowedTypesFull<readonly AnnotatedAllow
33
33
  // @beta @sealed @system
34
34
  export type AllowedTypesFullFromMixed<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = UnannotateAllowedTypesList<T> & AnnotatedAllowedTypes<AnnotateAllowedTypesList<T>>;
35
35
 
36
+ // @beta @sealed @system
37
+ export type AllowedTypesFullFromMixedUnsafe<T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]> = UnannotateAllowedTypesListUnsafe<T> & AnnotatedAllowedTypes<AnnotateAllowedTypesListUnsafe<T>>;
38
+
36
39
  // @beta @input
37
40
  export interface AllowedTypesMetadata {
38
41
  readonly custom?: unknown;
@@ -43,6 +46,11 @@ export type AnnotateAllowedTypesList<T extends readonly (AnnotatedAllowedType |
43
46
  [I in keyof T]: T[I] extends AnnotatedAllowedType<unknown> ? T[I] : AnnotatedAllowedType<T[I]>;
44
47
  };
45
48
 
49
+ // @beta @sealed @system
50
+ export type AnnotateAllowedTypesListUnsafe<T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]> = {
51
+ [I in keyof T]: T[I] extends AnnotatedAllowedTypeUnsafe ? T[I] : AnnotatedAllowedTypeUnsafe<T[I]>;
52
+ };
53
+
46
54
  // @beta @sealed
47
55
  export interface AnnotatedAllowedType<T = LazyItem<TreeNodeSchema>> {
48
56
  readonly metadata: AllowedTypeMetadata;
@@ -58,6 +66,14 @@ export interface AnnotatedAllowedTypes<T = readonly AnnotatedAllowedType[]> exte
58
66
  readonly types: T;
59
67
  }
60
68
 
69
+ // @beta @sealed @system
70
+ export interface AnnotatedAllowedTypesUnsafe extends AnnotatedAllowedTypes<LazyItem<System_Unsafe.TreeNodeSchemaUnsafe>> {
71
+ }
72
+
73
+ // @beta @sealed @system
74
+ export interface AnnotatedAllowedTypeUnsafe<T = Unenforced<LazyItem<TreeNodeSchema>>> extends AnnotatedAllowedType<T> {
75
+ }
76
+
61
77
  // @public @system
62
78
  type ApplyKind<T, Kind extends FieldKind> = {
63
79
  [FieldKind.Required]: T;
@@ -1141,6 +1157,14 @@ export class SchemaFactoryBeta<out TScope extends string | undefined = string |
1141
1157
  readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
1142
1158
  }, false, T, undefined, TCustomMetadata>;
1143
1159
  scopedFactory<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryBeta<ScopedSchemaName<TScope, T>, TNameInner>;
1160
+ static staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
1161
+ staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
1162
+ static stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1163
+ stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1164
+ static types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
1165
+ types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
1166
+ static typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
1167
+ typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
1144
1168
  }
1145
1169
 
1146
1170
  // @public @sealed @system
@@ -1163,6 +1187,14 @@ export interface SchemaStatics {
1163
1187
  readonly string: LeafSchema<"string", string>;
1164
1188
  }
1165
1189
 
1190
+ // @beta @sealed @system
1191
+ export interface SchemaStaticsBeta {
1192
+ readonly staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
1193
+ stagedRecursive: <const T extends Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1194
+ readonly types: <const T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixed<T>;
1195
+ readonly typesRecursive: <const T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixedUnsafe<T>;
1196
+ }
1197
+
1166
1198
  // @beta @sealed
1167
1199
  export class SchemaUpgrade {
1168
1200
  // (undocumented)
@@ -1589,6 +1621,16 @@ export type UnannotateAllowedTypesList<T extends readonly (AnnotatedAllowedType
1589
1621
  [I in keyof T]: T[I] extends AnnotatedAllowedType<infer X> ? X : T[I];
1590
1622
  };
1591
1623
 
1624
+ // @beta @sealed @system
1625
+ export type UnannotateAllowedTypesListUnsafe<T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]> = {
1626
+ readonly [I in keyof T]: T[I] extends {
1627
+ type: infer X;
1628
+ } ? X : T[I];
1629
+ };
1630
+
1631
+ // @beta @sealed @system
1632
+ export type UnannotateAllowedTypeUnsafe<T extends Unenforced<AnnotatedAllowedTypeUnsafe | LazyItem<System_Unsafe.TreeNodeSchemaUnsafe>>> = T extends AnnotatedAllowedTypeUnsafe<infer X> ? X : T;
1633
+
1592
1634
  // @public
1593
1635
  export type Unenforced<_DesiredExtendsConstraint> = unknown;
1594
1636
 
package/dist/alpha.d.ts CHANGED
@@ -141,10 +141,14 @@ export {
141
141
  AllowedTypesFull,
142
142
  AllowedTypesFullEvaluated,
143
143
  AllowedTypesFullFromMixed,
144
+ AllowedTypesFullFromMixedUnsafe,
144
145
  AllowedTypesMetadata,
145
146
  AnnotateAllowedTypesList,
147
+ AnnotateAllowedTypesListUnsafe,
146
148
  AnnotatedAllowedType,
149
+ AnnotatedAllowedTypeUnsafe,
147
150
  AnnotatedAllowedTypes,
151
+ AnnotatedAllowedTypesUnsafe,
148
152
  ConciseTree,
149
153
  ErasedBaseType,
150
154
  FixRecursiveArraySchema,
@@ -162,6 +166,7 @@ export {
162
166
  PopUnion,
163
167
  RecordNodeInsertableData,
164
168
  SchemaFactoryBeta,
169
+ SchemaStaticsBeta,
165
170
  SchemaUpgrade,
166
171
  SharedTreeOptionsBeta,
167
172
  TreeBeta,
@@ -171,7 +176,9 @@ export {
171
176
  TreeRecordNode,
172
177
  TreeRecordNodeUnsafe,
173
178
  TreeViewBeta,
179
+ UnannotateAllowedTypeUnsafe,
174
180
  UnannotateAllowedTypesList,
181
+ UnannotateAllowedTypesListUnsafe,
175
182
  UnionToTuple,
176
183
  adaptEnum,
177
184
  asBeta,
@@ -182,11 +189,7 @@ export {
182
189
  // #endregion
183
190
 
184
191
  // #region @alpha APIs
185
- AllowedTypesFullFromMixedUnsafe,
186
192
  AllowedTypesFullUnsafe,
187
- AnnotateAllowedTypesListUnsafe,
188
- AnnotatedAllowedTypeUnsafe,
189
- AnnotatedAllowedTypesUnsafe,
190
193
  ArrayNodeCustomizableSchema,
191
194
  ArrayNodeCustomizableSchemaUnsafe,
192
195
  ArrayNodePojoEmulationSchema,
@@ -246,9 +249,7 @@ export {
246
249
  RevertibleAlphaFactory,
247
250
  RunTransactionParams,
248
251
  SchemaFactoryAlpha,
249
- SchemaStaticsAlpha,
250
252
  SharedTreeFormatOptions,
251
- SharedTreeFormatVersion,
252
253
  SharedTreeOptions,
253
254
  SimpleAllowedTypeAttributes,
254
255
  SimpleArrayNodeSchema,
@@ -283,8 +284,6 @@ export {
283
284
  TreeSchemaEncodingOptions,
284
285
  TreeViewAlpha,
285
286
  TreeViewConfigurationAlpha,
286
- UnannotateAllowedTypeUnsafe,
287
- UnannotateAllowedTypesListUnsafe,
288
287
  UnsafeUnknownSchema,
289
288
  ValueSchema,
290
289
  VerboseTree,
@@ -294,6 +293,7 @@ export {
294
293
  allowUnused,
295
294
  asAlpha,
296
295
  asTreeViewAlpha,
296
+ checkCompatibility,
297
297
  cloneWithReplacements,
298
298
  comparePersistedSchema,
299
299
  configuredSharedTree,
@@ -301,12 +301,16 @@ export {
301
301
  createIdentifierIndex,
302
302
  createIndependentTreeAlpha,
303
303
  createSimpleTreeIndex,
304
+ decodeSimpleSchema,
305
+ encodeSimpleSchema,
304
306
  evaluateLazySchema,
307
+ exportCompatibilitySchemaSnapshot,
305
308
  extractPersistedSchema,
306
309
  generateSchemaFromSimpleSchema,
307
310
  getBranch,
308
311
  getJsonSchema,
309
312
  getSimpleSchema,
313
+ importCompatibilitySchemaSnapshot,
310
314
  independentInitializedView,
311
315
  independentView,
312
316
  normalizeAllowedTypes,
package/dist/beta.d.ts CHANGED
@@ -141,10 +141,14 @@ export {
141
141
  AllowedTypesFull,
142
142
  AllowedTypesFullEvaluated,
143
143
  AllowedTypesFullFromMixed,
144
+ AllowedTypesFullFromMixedUnsafe,
144
145
  AllowedTypesMetadata,
145
146
  AnnotateAllowedTypesList,
147
+ AnnotateAllowedTypesListUnsafe,
146
148
  AnnotatedAllowedType,
149
+ AnnotatedAllowedTypeUnsafe,
147
150
  AnnotatedAllowedTypes,
151
+ AnnotatedAllowedTypesUnsafe,
148
152
  ConciseTree,
149
153
  ErasedBaseType,
150
154
  FixRecursiveArraySchema,
@@ -162,6 +166,7 @@ export {
162
166
  PopUnion,
163
167
  RecordNodeInsertableData,
164
168
  SchemaFactoryBeta,
169
+ SchemaStaticsBeta,
165
170
  SchemaUpgrade,
166
171
  SharedTreeOptionsBeta,
167
172
  TreeBeta,
@@ -171,7 +176,9 @@ export {
171
176
  TreeRecordNode,
172
177
  TreeRecordNodeUnsafe,
173
178
  TreeViewBeta,
179
+ UnannotateAllowedTypeUnsafe,
174
180
  UnannotateAllowedTypesList,
181
+ UnannotateAllowedTypesListUnsafe,
175
182
  UnionToTuple,
176
183
  adaptEnum,
177
184
  asBeta,
package/dist/index.js CHANGED
@@ -30,8 +30,8 @@ Object.defineProperty(exports, "onAssertionFailure", { enumerable: true, get: fu
30
30
  // Note: this only surfaces the `@public, @beta and @alpha` API items from the tree package.
31
31
  /* eslint-disable-next-line
32
32
  no-restricted-syntax,
33
- import/no-internal-modules,
34
- import/export -- This re-exports all non-conflicting APIs from `@fluidframework/tree`. In cases where * exports conflict with named exports, the named exports take precedence per https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html#sec-getexportednames. This does trigger the `import/export` lint warning (which is intentionally disabled here). This approach ensures that the non-deprecated versions of the event APIs from `@fluidframework/core-interfaces` (provided as named indirect exports) eclipse the deprecated ones from `@fluidframework/tree`. The preferred versions of the event APIs are those exported via `@fluidframework/core-interfaces`.
33
+ import-x/no-internal-modules,
34
+ import-x/export -- This re-exports all non-conflicting APIs from `@fluidframework/tree`. In cases where * exports conflict with named exports, the named exports take precedence per https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html#sec-getexportednames. This does trigger the `import-x/export` lint warning (which is intentionally disabled here). This approach ensures that the non-deprecated versions of the event APIs from `@fluidframework/core-interfaces` (provided as named indirect exports) eclipse the deprecated ones from `@fluidframework/tree`. The preferred versions of the event APIs are those exported via `@fluidframework/core-interfaces`.
35
35
  */
36
36
  __exportStar(require("@fluidframework/tree/alpha"), exports);
37
37
  const internal_2 = require("@fluidframework/tree/internal");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAiBH,+EAAoE;AAA3D,oHAAA,WAAW,OAAA;AACpB,qEAAmE;AAA1D,mHAAA,eAAe,OAAA;AA4CxB,4GAA4G;AAC5G,gEAAyE;AAAhE,8GAAA,kBAAkB,OAAA;AAI3B,mDAAmD;AACnD,4FAA4F;AAC5F;;;;MAIG;AACH,6DAA2C;AAU3C,4DAIuC;AAEvC;;;;;;;;;GASG;AACU,QAAA,UAAU,GAA4B,qBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,oBAAoB,CAAC,OAA0B;IAC9D,OAAO,IAAA,+BAA4B,EAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAFD,oDAEC;AAmBD,yDAA0E;AAAjE,2GAAA,eAAe,OAAA;AAAE,qGAAA,SAAS,OAAA;AA4BnC,8DAAiE;AAAxD,wGAAA,YAAY,OAAA;AAarB,4BAA4B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Bundles a collection of Fluid Framework client libraries for easy use when paired with a corresponding service client\n * package (e.g. `@fluidframework/azure-client`, `@fluidframework/tinylicious-client`, or `@fluidframework/odsp-client (BETA)`).\n *\n * @packageDocumentation\n */\n\n// ===============================================================\n// #region Public, Beta and Alpha (non-legacy) exports\n// #region Basic re-exports\n\nexport type {\n\tConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types\n\tICriticalContainerError,\n} from \"@fluidframework/container-definitions\";\nexport { AttachState } from \"@fluidframework/container-definitions\";\nexport { ConnectionState } from \"@fluidframework/container-loader\";\nexport type {\n\tContainerAttachProps,\n\tContainerSchema,\n\tIConnection,\n\tIFluidContainer,\n\tIFluidContainerEvents,\n\tIMember,\n\tInitialObjects,\n\tIServiceAudience,\n\tIServiceAudienceEvents,\n\tMemberChangedListener,\n\tMyself,\n} from \"@fluidframework/fluid-static\";\nexport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nexport type {\n\tIErrorBase,\n\tIEventProvider,\n\tIDisposable,\n\tIEvent,\n\tIEventThisPlaceHolder,\n\tIErrorEvent,\n\tErasedType,\n\tIFluidHandle,\n\tIFluidLoadable,\n\tITelemetryBaseProperties,\n\tIEventTransformer,\n\tIProvideFluidLoadable,\n\tIFluidHandleErased,\n\tTransformedEvent,\n\tTelemetryBaseEventPropertyType,\n\tTagged,\n\tReplaceIEventThisPlaceHolder,\n\tFluidObject, // Linked in doc comment\n\tFluidObjectProviderKeys, // Used by FluidObject\n\t/* eslint-disable import/export -- The event APIs are known to conflict, and this is intended as the exports via `@fluidframework/core-interfaces` are preferred over the deprecated ones from `@fluidframework/tree`. */\n\tListeners,\n\tIsListener,\n\tListenable,\n\tOff,\n\t/* eslint-enable import/export */\n} from \"@fluidframework/core-interfaces\";\nexport type { ErasedBaseType } from \"@fluidframework/core-interfaces/internal\";\n\n// This is an alpha API, but this package doesn't have an alpha entry point so its imported from \"internal\".\nexport { onAssertionFailure } from \"@fluidframework/core-utils/internal\";\n\nexport type { isFluidHandle } from \"@fluidframework/runtime-utils\";\n\n// Let the tree package manage its own API surface.\n// Note: this only surfaces the `@public, @beta and @alpha` API items from the tree package.\n/* eslint-disable-next-line\n\tno-restricted-syntax,\n\timport/no-internal-modules,\n\timport/export -- This re-exports all non-conflicting APIs from `@fluidframework/tree`. In cases where * exports conflict with named exports, the named exports take precedence per https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html#sec-getexportednames. This does trigger the `import/export` lint warning (which is intentionally disabled here). This approach ensures that the non-deprecated versions of the event APIs from `@fluidframework/core-interfaces` (provided as named indirect exports) eclipse the deprecated ones from `@fluidframework/tree`. The preferred versions of the event APIs are those exported via `@fluidframework/core-interfaces`.\n\t*/\nexport * from \"@fluidframework/tree/alpha\";\n\n// End of basic public+beta+alpha exports - nothing above this line should\n// depend on an /internal path.\n// #endregion Basic re-exports\n// ---------------------------------------------------------------\n// #region Custom re-exports\n\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport type { ITree } from \"@fluidframework/tree\";\nimport {\n\tSharedTree as OriginalSharedTree,\n\tconfiguredSharedTree as originalConfiguredSharedTree,\n\ttype SharedTreeOptions,\n} from \"@fluidframework/tree/internal\";\n\n/**\n * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees\n * of objects, arrays, and other data types.\n * @privateRemarks\n * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.\n * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.\n * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.\n * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.\n * @public\n */\nexport const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;\n\n/**\n * {@link SharedTree} but allowing a non-default configuration.\n * @remarks\n * This is useful for debugging and testing.\n * For example, it can be used to opt into extra validation or see if opting out of some optimizations fixes an issue.\n *\n * With great care, and knowledge of the support and stability of the options exposed here,\n * this can also be used to opt into some features early or for performance tuning.\n *\n * @example\n * ```typescript\n * import {\n * \tTreeCompressionStrategy,\n * \tconfiguredSharedTree,\n * \tFormatValidatorBasic,\n * \tForestTypeReference,\n * } from \"fluid-framework/alpha\";\n * const SharedTree = configuredSharedTree({\n * \tforest: ForestTypeReference,\n * \tjsonValidator: FormatValidatorBasic,\n * \ttreeEncodeType: TreeCompressionStrategy.Uncompressed,\n * });\n * ```\n * @alpha\n */\nexport function configuredSharedTree(options: SharedTreeOptions): SharedObjectKind<ITree> {\n\treturn originalConfiguredSharedTree(options);\n}\n\n// #endregion Custom re-exports\n// #endregion\n\n// ===============================================================\n// #region Legacy exports\n\nexport type {\n\tIDirectory,\n\tIDirectoryEvents,\n\tIDirectoryValueChanged,\n\tISharedDirectory,\n\tISharedDirectoryEvents,\n\tISharedMap,\n\tISharedMapEvents,\n\tIValueChanged,\n} from \"@fluidframework/map/internal\";\n\nexport { SharedDirectory, SharedMap } from \"@fluidframework/map/internal\";\n\nexport type {\n\tDeserializeCallback,\n\tInteriorSequencePlace,\n\tIInterval,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializedInterval,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n\tISharedSegmentSequence,\n\tISequenceIntervalCollection,\n\tISequenceIntervalCollectionEvents,\n\tSequenceIntervalIndex,\n} from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tIntervalType,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceInterval,\n\tSequenceMaintenanceEvent,\n} from \"@fluidframework/sequence/internal\";\n\nexport { SharedString } from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tISharedObject,\n\tISharedObjectEvents,\n} from \"@fluidframework/shared-object-base/internal\";\n\nexport type {\n\tISequencedDocumentMessage, // Leaked via ISharedObjectEvents\n\tIBranchOrigin, // Required for ISequencedDocumentMessage\n\tITrace, // Required for ISequencedDocumentMessage\n} from \"@fluidframework/driver-definitions/internal\";\n\n// #endregion Legacy exports\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAiBH,+EAAoE;AAA3D,oHAAA,WAAW,OAAA;AACpB,qEAAmE;AAA1D,mHAAA,eAAe,OAAA;AA4CxB,4GAA4G;AAC5G,gEAAyE;AAAhE,8GAAA,kBAAkB,OAAA;AAI3B,mDAAmD;AACnD,4FAA4F;AAC5F;;;;MAIG;AACH,6DAA2C;AAU3C,4DAIuC;AAEvC;;;;;;;;;GASG;AACU,QAAA,UAAU,GAA4B,qBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,oBAAoB,CAAC,OAA0B;IAC9D,OAAO,IAAA,+BAA4B,EAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAFD,oDAEC;AAmBD,yDAA0E;AAAjE,2GAAA,eAAe,OAAA;AAAE,qGAAA,SAAS,OAAA;AA4BnC,8DAAiE;AAAxD,wGAAA,YAAY,OAAA;AAarB,4BAA4B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Bundles a collection of Fluid Framework client libraries for easy use when paired with a corresponding service client\n * package (e.g. `@fluidframework/azure-client`, `@fluidframework/tinylicious-client`, or `@fluidframework/odsp-client (BETA)`).\n *\n * @packageDocumentation\n */\n\n// ===============================================================\n// #region Public, Beta and Alpha (non-legacy) exports\n// #region Basic re-exports\n\nexport type {\n\tConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types\n\tICriticalContainerError,\n} from \"@fluidframework/container-definitions\";\nexport { AttachState } from \"@fluidframework/container-definitions\";\nexport { ConnectionState } from \"@fluidframework/container-loader\";\nexport type {\n\tContainerAttachProps,\n\tContainerSchema,\n\tIConnection,\n\tIFluidContainer,\n\tIFluidContainerEvents,\n\tIMember,\n\tInitialObjects,\n\tIServiceAudience,\n\tIServiceAudienceEvents,\n\tMemberChangedListener,\n\tMyself,\n} from \"@fluidframework/fluid-static\";\nexport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nexport type {\n\tIErrorBase,\n\tIEventProvider,\n\tIDisposable,\n\tIEvent,\n\tIEventThisPlaceHolder,\n\tIErrorEvent,\n\tErasedType,\n\tIFluidHandle,\n\tIFluidLoadable,\n\tITelemetryBaseProperties,\n\tIEventTransformer,\n\tIProvideFluidLoadable,\n\tIFluidHandleErased,\n\tTransformedEvent,\n\tTelemetryBaseEventPropertyType,\n\tTagged,\n\tReplaceIEventThisPlaceHolder,\n\tFluidObject, // Linked in doc comment\n\tFluidObjectProviderKeys, // Used by FluidObject\n\t/* eslint-disable import-x/export -- The event APIs are known to conflict, and this is intended as the exports via `@fluidframework/core-interfaces` are preferred over the deprecated ones from `@fluidframework/tree`. */\n\tListeners,\n\tIsListener,\n\tListenable,\n\tOff,\n\t/* eslint-enable import-x/export */\n} from \"@fluidframework/core-interfaces\";\nexport type { ErasedBaseType } from \"@fluidframework/core-interfaces/internal\";\n\n// This is an alpha API, but this package doesn't have an alpha entry point so its imported from \"internal\".\nexport { onAssertionFailure } from \"@fluidframework/core-utils/internal\";\n\nexport type { isFluidHandle } from \"@fluidframework/runtime-utils\";\n\n// Let the tree package manage its own API surface.\n// Note: this only surfaces the `@public, @beta and @alpha` API items from the tree package.\n/* eslint-disable-next-line\n\tno-restricted-syntax,\n\timport-x/no-internal-modules,\n\timport-x/export -- This re-exports all non-conflicting APIs from `@fluidframework/tree`. In cases where * exports conflict with named exports, the named exports take precedence per https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html#sec-getexportednames. This does trigger the `import-x/export` lint warning (which is intentionally disabled here). This approach ensures that the non-deprecated versions of the event APIs from `@fluidframework/core-interfaces` (provided as named indirect exports) eclipse the deprecated ones from `@fluidframework/tree`. The preferred versions of the event APIs are those exported via `@fluidframework/core-interfaces`.\n\t*/\nexport * from \"@fluidframework/tree/alpha\";\n\n// End of basic public+beta+alpha exports - nothing above this line should\n// depend on an /internal path.\n// #endregion Basic re-exports\n// ---------------------------------------------------------------\n// #region Custom re-exports\n\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport type { ITree } from \"@fluidframework/tree\";\nimport {\n\tSharedTree as OriginalSharedTree,\n\tconfiguredSharedTree as originalConfiguredSharedTree,\n\ttype SharedTreeOptions,\n} from \"@fluidframework/tree/internal\";\n\n/**\n * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees\n * of objects, arrays, and other data types.\n * @privateRemarks\n * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.\n * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.\n * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.\n * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.\n * @public\n */\nexport const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;\n\n/**\n * {@link SharedTree} but allowing a non-default configuration.\n * @remarks\n * This is useful for debugging and testing.\n * For example, it can be used to opt into extra validation or see if opting out of some optimizations fixes an issue.\n *\n * With great care, and knowledge of the support and stability of the options exposed here,\n * this can also be used to opt into some features early or for performance tuning.\n *\n * @example\n * ```typescript\n * import {\n * \tTreeCompressionStrategy,\n * \tconfiguredSharedTree,\n * \tFormatValidatorBasic,\n * \tForestTypeReference,\n * } from \"fluid-framework/alpha\";\n * const SharedTree = configuredSharedTree({\n * \tforest: ForestTypeReference,\n * \tjsonValidator: FormatValidatorBasic,\n * \ttreeEncodeType: TreeCompressionStrategy.Uncompressed,\n * });\n * ```\n * @alpha\n */\nexport function configuredSharedTree(options: SharedTreeOptions): SharedObjectKind<ITree> {\n\treturn originalConfiguredSharedTree(options);\n}\n\n// #endregion Custom re-exports\n// #endregion\n\n// ===============================================================\n// #region Legacy exports\n\nexport type {\n\tIDirectory,\n\tIDirectoryEvents,\n\tIDirectoryValueChanged,\n\tISharedDirectory,\n\tISharedDirectoryEvents,\n\tISharedMap,\n\tISharedMapEvents,\n\tIValueChanged,\n} from \"@fluidframework/map/internal\";\n\nexport { SharedDirectory, SharedMap } from \"@fluidframework/map/internal\";\n\nexport type {\n\tDeserializeCallback,\n\tInteriorSequencePlace,\n\tIInterval,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializedInterval,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n\tISharedSegmentSequence,\n\tISequenceIntervalCollection,\n\tISequenceIntervalCollectionEvents,\n\tSequenceIntervalIndex,\n} from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tIntervalType,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceInterval,\n\tSequenceMaintenanceEvent,\n} from \"@fluidframework/sequence/internal\";\n\nexport { SharedString } from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tISharedObject,\n\tISharedObjectEvents,\n} from \"@fluidframework/shared-object-base/internal\";\n\nexport type {\n\tISequencedDocumentMessage, // Leaked via ISharedObjectEvents\n\tIBranchOrigin, // Required for ISequencedDocumentMessage\n\tITrace, // Required for ISequencedDocumentMessage\n} from \"@fluidframework/driver-definitions/internal\";\n\n// #endregion Legacy exports\n"]}
package/dist/legacy.d.ts CHANGED
@@ -148,10 +148,14 @@ export {
148
148
  AllowedTypesFull,
149
149
  AllowedTypesFullEvaluated,
150
150
  AllowedTypesFullFromMixed,
151
+ AllowedTypesFullFromMixedUnsafe,
151
152
  AllowedTypesMetadata,
152
153
  AnnotateAllowedTypesList,
154
+ AnnotateAllowedTypesListUnsafe,
153
155
  AnnotatedAllowedType,
156
+ AnnotatedAllowedTypeUnsafe,
154
157
  AnnotatedAllowedTypes,
158
+ AnnotatedAllowedTypesUnsafe,
155
159
  ConciseTree,
156
160
  ErasedBaseType,
157
161
  FixRecursiveArraySchema,
@@ -169,6 +173,7 @@ export {
169
173
  PopUnion,
170
174
  RecordNodeInsertableData,
171
175
  SchemaFactoryBeta,
176
+ SchemaStaticsBeta,
172
177
  SchemaUpgrade,
173
178
  SharedTreeOptionsBeta,
174
179
  TreeBeta,
@@ -178,7 +183,9 @@ export {
178
183
  TreeRecordNode,
179
184
  TreeRecordNodeUnsafe,
180
185
  TreeViewBeta,
186
+ UnannotateAllowedTypeUnsafe,
181
187
  UnannotateAllowedTypesList,
188
+ UnannotateAllowedTypesListUnsafe,
182
189
  UnionToTuple,
183
190
  adaptEnum,
184
191
  asBeta,