fluid-framework 2.71.0 → 2.72.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 +23 -45
- package/api-report/fluid-framework.alpha.api.md +27 -18
- package/api-report/fluid-framework.beta.api.md +42 -0
- package/api-report/fluid-framework.legacy.beta.api.md +42 -0
- package/dist/alpha.d.ts +9 -7
- package/dist/beta.d.ts +7 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +7 -0
- package/lib/alpha.d.ts +9 -7
- package/lib/beta.d.ts +7 -0
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +7 -0
- package/package.json +15 -15
- package/src/index.ts +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# fluid-framework
|
|
2
2
|
|
|
3
|
+
## 2.72.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- `formatVersion` removed from the options passed to `configuredSharedTree` ([#25752](https://github.com/microsoft/FluidFramework/pull/25752)) [df533906e3](https://github.com/microsoft/FluidFramework/commit/df533906e3a8e5d54024009704ca0c0eedb95e95)
|
|
8
|
+
|
|
9
|
+
Note: this change may break users of alpha APIs. See below for details.
|
|
10
|
+
|
|
11
|
+
`SharedTreeOptions` (which is passed to `configuredSharedTree`) no longer includes a `formatVersion: SharedTreeFormatVersion[keyof SharedTreeFormatVersion]` field.
|
|
12
|
+
The concept of `SharedTreeFormatVersion` has been removed altogether.
|
|
13
|
+
Instead, users are expected to leverage the already existing `minVersionForCollab` field.
|
|
14
|
+
|
|
15
|
+
For migration purposes, the mapping from `SharedTreeFormatVersion` to `minVersionForCollab` is as follows:
|
|
16
|
+
- `SharedTreeFormatVersion.v1`: no supported equivalent
|
|
17
|
+
- `SharedTreeFormatVersion.v2`: no supported equivalent
|
|
18
|
+
- `SharedTreeFormatVersion.v3`: `minVersionForCollab: FluidClientVersion.v2_0`
|
|
19
|
+
- `SharedTreeFormatVersion.v5`: `minVersionForCollab: FluidClientVersion.v2_43`
|
|
20
|
+
- `SharedTreeFormatVersion.vSharedBranches`: `minVersionForCollab: FluidClientVersion.v2_43` + `SharedTreeOptions.enableSharedBranches`
|
|
21
|
+
|
|
22
|
+
The values for which there is no supported equivalent `minVersionForCollab` were never given official support.
|
|
23
|
+
[Contact](https://github.com/microsoft/FluidFramework/issues) the Fluid Framework team if you need help migrating away from them.
|
|
24
|
+
|
|
3
25
|
## 2.71.0
|
|
4
26
|
|
|
5
27
|
### Minor Changes
|
|
@@ -61,7 +83,6 @@
|
|
|
61
83
|
- A minimal set of branching APIs has been promoted to beta. ([#25744](https://github.com/microsoft/FluidFramework/pull/25744)) [32cc2c75d8](https://github.com/microsoft/FluidFramework/commit/32cc2c75d82c35403caa91e67e81f71baee5d092)
|
|
62
84
|
|
|
63
85
|
The following APIs have been promoted to beta in `@fluidframework/tree`:
|
|
64
|
-
|
|
65
86
|
- `TreeBranch.fork()`
|
|
66
87
|
- `TreeBranch.merge()`
|
|
67
88
|
- `TreeBranch.rebaseOnto()`
|
|
@@ -186,7 +207,6 @@
|
|
|
186
207
|
The `@alpha` API `JsonValidator` has been removed: its replacement `FormatValidator` must now be used.
|
|
187
208
|
|
|
188
209
|
As part of this:
|
|
189
|
-
|
|
190
210
|
- `typeboxValidator` has been replaced with `FormatValidatorBasic`.
|
|
191
211
|
- `noopValidator` has been replaced with `FormatValidatorNoOp`.
|
|
192
212
|
|
|
@@ -342,7 +362,6 @@ Dependency updates only.
|
|
|
342
362
|
The APIs that operate on batches should be used instead.
|
|
343
363
|
|
|
344
364
|
Specifically:
|
|
345
|
-
|
|
346
365
|
- `insertColumn`
|
|
347
366
|
- Use `insertColumns` instead
|
|
348
367
|
- `insertRow`
|
|
@@ -362,7 +381,6 @@ Dependency updates only.
|
|
|
362
381
|
- Remove unnecessary and internal APIs in ISequenceIntervalCollection and related interval types ([#25244](https://github.com/microsoft/FluidFramework/pull/25244)) [15d476ea706](https://github.com/microsoft/FluidFramework/commit/15d476ea7069eb4de317a726733aa8fb9e8486e8)
|
|
363
382
|
|
|
364
383
|
The following APIs are now removed:
|
|
365
|
-
|
|
366
384
|
- `IInterval.clone`
|
|
367
385
|
- `IInterval.modify`
|
|
368
386
|
- `IInterval.union`
|
|
@@ -508,7 +526,6 @@ Dependency updates only.
|
|
|
508
526
|
- Allow edits in arrays to be concurrent to dependent edits of transactions with violated constraints ([#25191](https://github.com/microsoft/FluidFramework/pull/25191)) [ef64bae6ab2](https://github.com/microsoft/FluidFramework/commit/ef64bae6ab2848c67d778d14ad56ae021f54ac7a)
|
|
509
527
|
|
|
510
528
|
Before this release, making concurrent edits to an array could lead to assertion error `0x8a2` being thrown if the following conditions were met:
|
|
511
|
-
|
|
512
529
|
- Some edit `e1` was a transaction with a constraint that turned out to be violated by edits concurrent to (and sequenced before) `e1`
|
|
513
530
|
- Some edit `e2` was dependent on `e1` (from before the violation of its constraint)
|
|
514
531
|
- Some edit `e3` was concurrent to and sequenced after both `e1` and `e2`
|
|
@@ -558,7 +575,6 @@ Dependency updates only.
|
|
|
558
575
|
(This is the case when nodes are removed before attaching and there is a local branch that forks from a commit that made such a removal or from an earlier commit. This is also the case when retaining `Revertible` objects for those commits).
|
|
559
576
|
|
|
560
577
|
After this release, the behavior depends on the `CodecWriteOptions.oldestCompatibleClient` value:
|
|
561
|
-
|
|
562
578
|
- For values < `FluidClientVersion.v2_52`, the behavior is the same.
|
|
563
579
|
- For values >= `FluidClientVersion.v2_52`, the attach will succeed, but use a newer storage format.
|
|
564
580
|
|
|
@@ -654,7 +670,6 @@ Dependency updates only.
|
|
|
654
670
|
We recommend updating your code to be more tolerant of unknown node kinds going forward.
|
|
655
671
|
|
|
656
672
|
Also see alternative options for schema-agnostic tree traversal if needed:
|
|
657
|
-
|
|
658
673
|
- [Tree.parent](https://fluidframework.com/docs/api/fluid-framework/treenodeapi-interface#parent-methodsignature)
|
|
659
674
|
- [TreeAlpha.child](https://fluidframework.com/docs/api/fluid-framework/treealpha-interface#child-methodsignature)
|
|
660
675
|
- [TreeAlpha.children](https://fluidframework.com/docs/api/fluid-framework/treealpha-interface#children-methodsignature)
|
|
@@ -1066,7 +1081,6 @@ Dependency updates only.
|
|
|
1066
1081
|
|
|
1067
1082
|
Table trees created using `TableSchema` offer various APIs to make working with tabular data easy.
|
|
1068
1083
|
These include:
|
|
1069
|
-
|
|
1070
1084
|
- Insertion and removal of columns, rows, and cells.
|
|
1071
1085
|
- Cell access by column/row.
|
|
1072
1086
|
|
|
@@ -1212,7 +1226,6 @@ Dependency updates only.
|
|
|
1212
1226
|
You can retrieve the long identifier with `TreeAlpha.identifier(node)`, where `node` is a `TreeNode`. The long identifier is a stable, compressible UUID generated by the tree.
|
|
1213
1227
|
In cases where the node does not yet have an identifier assigned, this will return `undefined`.
|
|
1214
1228
|
These cases include:
|
|
1215
|
-
|
|
1216
1229
|
- The node does not contain an identifier field.
|
|
1217
1230
|
- The node is a non-hydrated node with a user provided identifier. Note that if it is a non-hydrated node without an identifier provided, it will throw an error.
|
|
1218
1231
|
|
|
@@ -1223,7 +1236,6 @@ Dependency updates only.
|
|
|
1223
1236
|
to get the original valid long `identifier` back.
|
|
1224
1237
|
In the cases where it's not possible to shorten the `identifier`, it will return `undefined`.
|
|
1225
1238
|
These cases include:
|
|
1226
|
-
|
|
1227
1239
|
- A compressible long identifier, but it is unrecognized by the tree that the node belongs to. This can occur if the identifier is not generated from the tree.
|
|
1228
1240
|
- An identifier which is not compressible by the tree. This can occur if the node's identifier was a user provided string.
|
|
1229
1241
|
|
|
@@ -1233,7 +1245,6 @@ Dependency updates only.
|
|
|
1233
1245
|
If the method returns a valid long identifier, this identifier can be passed into `TreeAlpha.identifier.shorten` to get the original `identifier` back.
|
|
1234
1246
|
In the cases where it's not possible to lengthen the `identifier`, this method will throw an error.
|
|
1235
1247
|
These cases include:
|
|
1236
|
-
|
|
1237
1248
|
- An unrecognized short identifier. This can occur if the identifier is not generated from the tree.
|
|
1238
1249
|
|
|
1239
1250
|
#### TreeAlpha.identifier.getShort
|
|
@@ -1254,7 +1265,6 @@ Dependency updates only.
|
|
|
1254
1265
|
|
|
1255
1266
|
In cases where the node provided does not contain an identifier that is recognized or compressible by the tree that the node belongs to, this method will return undefined.
|
|
1256
1267
|
This will occur in the following cases:
|
|
1257
|
-
|
|
1258
1268
|
- The node is an non-hydrated node with a user provided identifier. Note that if it is an non-hydrated node without an identifier provided, it will throw an error.
|
|
1259
1269
|
- The node does not contain an identifier field.
|
|
1260
1270
|
- The node contains a compressible long identifier, but it is unrecognized by the tree that the node belongs to. This can occur if the identifier is not generated from the tree.
|
|
@@ -1389,7 +1399,6 @@ Dependency updates only.
|
|
|
1389
1399
|
|
|
1390
1400
|
[TreeNodes](https://fluidframework.com/docs/api/fluid-framework/treenode-class) which are [deleted](https://fluidframework.com/docs/api/fluid-framework/treestatus-enum#deleted-enummember) were not handled correctly.
|
|
1391
1401
|
This has been improved in two ways:
|
|
1392
|
-
|
|
1393
1402
|
1. Accessing fields of deleted nodes now consistently throws a usage error indicating that doing so is invalid.
|
|
1394
1403
|
Previously, this would throw an assertion error, which was a bug.
|
|
1395
1404
|
2. When a `TreeNode` is deleted, but that node still exists within the [`ITree`](https://fluidframework.com/docs/api/driver-definitions/itree-interface), then becomes accessible again later, a new `TreeNode` is now allocated instead of trying to reuse the deleted one.
|
|
@@ -1399,7 +1408,6 @@ Dependency updates only.
|
|
|
1399
1408
|
- Generic types for IntervalCollections have been replaced with non-generic types ([#24411](https://github.com/microsoft/FluidFramework/pull/24411)) [1c743e825ed](https://github.com/microsoft/FluidFramework/commit/1c743e825ed29a81b0e66775ce3553477361d335)
|
|
1400
1409
|
|
|
1401
1410
|
This change deprecates the following generic types and provides non-generic alternatives where necessary:
|
|
1402
|
-
|
|
1403
1411
|
- `IIntervalCollection` is replaced by `ISequenceIntervalCollection`
|
|
1404
1412
|
- `IIntervalCollectionEvent` is replaced by `ISequenceIntervalCollectionEvents`
|
|
1405
1413
|
- `IntervalIndex` is replaced by `SequenceIntervalIndex`
|
|
@@ -1467,7 +1475,6 @@ Dependency updates only.
|
|
|
1467
1475
|
As a side effect of this work, some schema which violated the documented allowed patterns specified by [SchemaFactory](https://fluidframework.com/docs/api/fluid-framework/schemafactory-class#schemafactory-remarks) but used to work (as long as they were not package exported) no longer compile.
|
|
1468
1476
|
|
|
1469
1477
|
The specific case known to break is when:
|
|
1470
|
-
|
|
1471
1478
|
1. An Object node schema is co-recursive with an Array node schema.
|
|
1472
1479
|
2. The Array does not declare a named subclass.
|
|
1473
1480
|
3. The schema reference from the Object to the Array is not using the [lazy syntax](https://fluidframework.com/docs/api/fluid-framework/lazyitem-typealias).
|
|
@@ -1517,7 +1524,6 @@ Dependency updates only.
|
|
|
1517
1524
|
trunk commits and 100 peer commits, the performance increases by 97%.
|
|
1518
1525
|
|
|
1519
1526
|
Some example scenarios where the performance will be improved:
|
|
1520
|
-
|
|
1521
1527
|
- A client makes some local changes and another client simultaneously makes a large number of changes in a single JavaScript turn.
|
|
1522
1528
|
For example, a client is typing into a canvas while another client pastes a large amount of content into a table.
|
|
1523
1529
|
- A client makes a local branch with some changes and rebases it into the trunk. For example, an AI agent makes changes
|
|
@@ -1538,7 +1544,6 @@ Dependency updates only.
|
|
|
1538
1544
|
Additionally an alpha `ObjectNodeSchema` object is added to enable support for `schema instanceof ObjectNodeSchema` to safely narrow `TreeNodeSchema` to this new type.
|
|
1539
1545
|
|
|
1540
1546
|
In support of this work, several typing details were fixed including:
|
|
1541
|
-
|
|
1542
1547
|
- `info` field of `[typeSchemaSymbol]` type brand on recursive object schema was specified to match non-recursive variants.
|
|
1543
1548
|
- Type of field metadata was correctly plumbed through `optionalReclusive` and `requiredRecursive`.
|
|
1544
1549
|
- When fields object provided to [SchemaFactory.object](https://fluidframework.com/docs/api/fluid-framework/schemafactory-class#object-method) is typed as `RestrictiveStringRecord<ImplicitFieldSchema>` the resulting [TreeObjectNode](https://fluidframework.com/docs/api/fluid-framework/treeobjectnode-typealias) no longer gets a `Record<string, TreeNode | TreeLeafValue>` signature which could incorrectly conflict with custom members added to the object. Instead `{}` is used to provide no information about felids on the type when the schema provides no information about them. Additionally this case is explicitly made non-constructable: the constructor takes in `never` instead of a `Record<string,never>` which could be erroneously satisfied with an empty object due to how TypeScript assignability rules consider records to have all allowed fields, but also allow objects missing those fields to be assigned to them.
|
|
@@ -1565,7 +1570,6 @@ Dependency updates only.
|
|
|
1565
1570
|
The various import and export [`VerboseTree`](https://fluidframework.com/docs/api/fluid-framework/verbosetree-typealias) and [`ConciseTree`](https://fluidframework.com/docs/api/fluid-framework/concisetree-typealias) APIs no longer include `valueConverter` options.
|
|
1566
1571
|
Instead the resulting tree can be further processed to do any desired replacements.
|
|
1567
1572
|
The following `@alpha` APIs have been added to assist with this:
|
|
1568
|
-
|
|
1569
1573
|
1. `cloneWithReplacements`
|
|
1570
1574
|
2. `replaceHandles`
|
|
1571
1575
|
3. `replaceConciseTreeHandles`
|
|
@@ -1616,7 +1620,6 @@ Dependency updates only.
|
|
|
1616
1620
|
For example, with 10 local ops + 10 incoming ops, the performance increases by 70%; with 100 local ops + 100 incoming ops, the performance increases by 94%.
|
|
1617
1621
|
|
|
1618
1622
|
This will help improve performance in the following scenarios:
|
|
1619
|
-
|
|
1620
1623
|
- A client makes a large number of changes in a single JS turn. For example, copy pasting large data like a table.
|
|
1621
1624
|
- A client has a large number of local changes. For example, slow clients whose changes are slow to ack or clients with
|
|
1622
1625
|
a local branch with large number of changes.
|
|
@@ -1693,7 +1696,6 @@ Dependency updates only.
|
|
|
1693
1696
|
These properties will not be used by the system by default, but can be used to associate common application-specific properties with Node Schema.
|
|
1694
1697
|
|
|
1695
1698
|
#### `SchemaFactoryAlpha` Updates
|
|
1696
|
-
|
|
1697
1699
|
- `object` and `objectRecursive`, `arrayRecursive`, and `mapRecursive` now support `metadata` in their `options` parameter.
|
|
1698
1700
|
- (new) `arrayAlpha` - Variant of `array` that accepts an options parameter which supports `metadata`
|
|
1699
1701
|
- (new) `mapAlpha` - Variant of `map` that accepts an options parameter which supports `metadata`
|
|
@@ -1746,7 +1748,6 @@ Dependency updates only.
|
|
|
1746
1748
|
One of these checks verifies that the view schema (defined in application's code) aligns with the document schema (determined by the document data at rest).
|
|
1747
1749
|
This helps to ensure that clients running incompatible versions of the application's code don't collaborate at the same time on some document, which could cause data loss or disrupt application invariants.
|
|
1748
1750
|
One general solution application authors can perform is to stage the rollout of a feature which changes document schema into multiple phases:
|
|
1749
|
-
|
|
1750
1751
|
1. Release an application version which understands documents written with the new format but doesn't attempt to upgrade any documents
|
|
1751
1752
|
2. Wait for this application version to saturate in the app's ecosystem
|
|
1752
1753
|
3. Release an application version which upgrades documents to start leveraging the new format.
|
|
@@ -1863,7 +1864,6 @@ Dependency updates only.
|
|
|
1863
1864
|
As part of ongoing improvements, several internal types and related APIs have been removed. These types are unnecessary for any supported scenarios and could lead to errors if used. Since directly using these types would likely result in errors, these changes are not likely to impact any Fluid Framework consumers.
|
|
1864
1865
|
|
|
1865
1866
|
Removed types:
|
|
1866
|
-
|
|
1867
1867
|
- IMergeTreeTextHelper
|
|
1868
1868
|
- MergeNode
|
|
1869
1869
|
- ObliterateInfo
|
|
@@ -1875,12 +1875,10 @@ Dependency updates only.
|
|
|
1875
1875
|
In addition to removing the above types, they are no longer exposed through the following interfaces and their implementations: `ISegment`, `ReferencePosition`, and `ISerializableInterval`.
|
|
1876
1876
|
|
|
1877
1877
|
Removed functions:
|
|
1878
|
-
|
|
1879
1878
|
- addProperties
|
|
1880
1879
|
- ack
|
|
1881
1880
|
|
|
1882
1881
|
Removed properties:
|
|
1883
|
-
|
|
1884
1882
|
- propertyManager
|
|
1885
1883
|
- segmentGroups
|
|
1886
1884
|
|
|
@@ -1963,7 +1961,6 @@ Dependency updates only.
|
|
|
1963
1961
|
An adjustment is a modification applied to a property value within a specified range. Adjustments can be used to increment or decrement property values dynamically. They are particularly useful in scenarios where property values need to be updated based on user interactions or other events. For example, in a rich text editor, adjustments can be used for modifying indentation levels or font sizes, where multiple users could apply differing numerical adjustments.
|
|
1964
1962
|
|
|
1965
1963
|
### Key Features and Use Cases:
|
|
1966
|
-
|
|
1967
1964
|
- **Adjustments with Constraints**: Adjustments can include optional minimum and maximum constraints to ensure the final value falls within specified bounds. This is particularly useful for maintaining consistent formatting in rich text editors.
|
|
1968
1965
|
- **Consistent Property Changes**: The feature ensures that property changes are consistent, managing both local and remote changes effectively. This is essential for collaborative rich text editing where multiple users may be making adjustments simultaneously.
|
|
1969
1966
|
- **Rich Text Formatting**: Adjustments can be used to modify text properties such as font size, indentation, or other formatting attributes dynamically based on user actions.
|
|
@@ -1985,7 +1982,6 @@ Dependency updates only.
|
|
|
1985
1982
|
The `Client` class in the merge-tree package has been removed. Types that directly or indirectly expose the merge-tree `Client` class have also been removed.
|
|
1986
1983
|
|
|
1987
1984
|
The removed types were not meant to be used directly, and direct usage was not supported:
|
|
1988
|
-
|
|
1989
1985
|
- AttributionPolicy
|
|
1990
1986
|
- IClientEvents
|
|
1991
1987
|
- IMergeTreeAttributionOptions
|
|
@@ -1993,7 +1989,6 @@ Dependency updates only.
|
|
|
1993
1989
|
- SharedStringClass
|
|
1994
1990
|
|
|
1995
1991
|
Some classes that referenced the `Client` class have been transitioned to interfaces. Direct instantiation of these classes was not supported or necessary for any supported scenario, so the change to an interface should not impact usage. This applies to the following types:
|
|
1996
|
-
|
|
1997
1992
|
- SequenceInterval
|
|
1998
1993
|
- SequenceEvent
|
|
1999
1994
|
- SequenceDeltaEvent
|
|
@@ -2018,7 +2013,6 @@ Dependency updates only.
|
|
|
2018
2013
|
`independentView` has also been added, which is similar but handles the case of creating a new view without an existing schema or tree.
|
|
2019
2014
|
|
|
2020
2015
|
Together these APIs address several use-cases:
|
|
2021
|
-
|
|
2022
2016
|
1. Using SharedTree as an in-memory non-collaborative datastore.
|
|
2023
2017
|
2. Importing and exporting data from a SharedTree to and from other services or storage locations (such as locally saved files).
|
|
2024
2018
|
3. Testing various scenarios without relying on a service.
|
|
@@ -2513,7 +2507,6 @@ Dependency updates only.
|
|
|
2513
2507
|
|
|
2514
2508
|
The `PropertyManager` class, along with the `propertyManager` properties and `addProperties` functions on segments and intervals, are not intended for external use.
|
|
2515
2509
|
These elements will be removed in a future release for the following reasons:
|
|
2516
|
-
|
|
2517
2510
|
- There are no scenarios where they need to be used directly.
|
|
2518
2511
|
- Using them directly will cause eventual consistency problems.
|
|
2519
2512
|
- Upcoming features will require modifications to these mechanisms.
|
|
@@ -2616,7 +2609,6 @@ Dependency updates only.
|
|
|
2616
2609
|
The runtime behavior is unaffected: any code which worked and still compiles is fine and does not need changes.
|
|
2617
2610
|
|
|
2618
2611
|
`Tree.schema` was changed to mitigate two different issues:
|
|
2619
|
-
|
|
2620
2612
|
1. It tried to give a more specific type based on the type of the passed in value.
|
|
2621
2613
|
When the type of the input is not known precisely (for example it is a union of node types like `Foo | Bar`, or `TreeNode` or even `TreeNode | TreeLeafValue`), this was fine since schema are covariant over their node type.
|
|
2622
2614
|
However when the input was more specific that the schema type, for example the type is simply `0`, this would result in unsound typing, since the create function could actually return values that did not conform with that schema (for example `schema.create(1)` for the number schema typed with `0` would return `1` with type `0`).
|
|
@@ -2743,7 +2735,6 @@ Dependency updates only.
|
|
|
2743
2735
|
```
|
|
2744
2736
|
|
|
2745
2737
|
Skipping the constructor causes the following problems:
|
|
2746
|
-
|
|
2747
2738
|
1. `TreeViewConfiguration` does validation in its constructor, so skipping it also skips the validation which leads to much less friendly error messages for invalid schema.
|
|
2748
2739
|
2. Skipping the constructor also discards any default values for options like `enableSchemaValidation`.
|
|
2749
2740
|
This means that code written in that style would break if more options were added. Since such changes are planned,
|
|
@@ -2778,7 +2769,6 @@ Dependency updates only.
|
|
|
2778
2769
|
already the case, but the documentation was not clear.
|
|
2779
2770
|
|
|
2780
2771
|
Updated APIs:
|
|
2781
|
-
|
|
2782
2772
|
- [IDirectory](https://fluidframework.com/docs/api/v2/fluid-framework/idirectory-interface) sealed
|
|
2783
2773
|
- [IDirectoryEvents](https://fluidframework.com/docs/api/v2/fluid-framework/idirectoryevents-interface) sealed
|
|
2784
2774
|
- [IDirectoryValueChanged](https://fluidframework.com/docs/api/v2/fluid-framework/idirectoryvaluechanged-interface) sealed and path property is readonly
|
|
@@ -2803,7 +2793,6 @@ Dependency updates only.
|
|
|
2803
2793
|
|
|
2804
2794
|
Several cases of invalid usage patterns for tree APIs have gained improved error reporting, as well as improved documentation on the APIs detailing what usage is supported.
|
|
2805
2795
|
These improvements include:
|
|
2806
|
-
|
|
2807
2796
|
- Unsupported usages of schema classes: using more than one schema class derived from a single SchemaFactory generated base class. This used to hit internal asserts, but now has a descriptive user-facing UsageError. Most of this work was done in [9fb3dcf](https://github.com/microsoft/FluidFramework/commit/9fb3dcf491a7f0d66f4abbdc64ab97ccabef4707).
|
|
2808
2797
|
- Improved detection of when prior exception may have left SharedTree in an invalid state.
|
|
2809
2798
|
These cases now report a UsageError including a reference to the prior exception. This was mainly done in [9fb3dcf](https://github.com/microsoft/FluidFramework/commit/9fb3dcf491a7f0d66f4abbdc64ab97ccabef4707) and [b77d530](https://github.com/microsoft/FluidFramework/commit/b77d530b9252201c40a90d1a2a6315f76f1a4a4b).
|
|
@@ -2822,7 +2811,6 @@ Dependency updates only.
|
|
|
2822
2811
|
|
|
2823
2812
|
Access to these now less public types should not be required for users of the `@public` "declarative API" exposed in the `fluid-framework` package, but can still be accessed for those who need them under the `/legacy` import paths.
|
|
2824
2813
|
The full list of such types is:
|
|
2825
|
-
|
|
2826
2814
|
- `SharedTree` as exported from `@fluidframwork/tree`: It is still exported as `@public` from `fluid-framework` as `SharedObjectKind`.
|
|
2827
2815
|
- `ISharedObjectKind`: See new `SharedObjectKind` type for use in `@public` APIs.
|
|
2828
2816
|
`ISharedObject`
|
|
@@ -2840,7 +2828,6 @@ Dependency updates only.
|
|
|
2840
2828
|
- `IProvideFluidHandleContext`
|
|
2841
2829
|
|
|
2842
2830
|
Removed APIs:
|
|
2843
|
-
|
|
2844
2831
|
- `DataObjectClass`: Usages replaced with `SharedObjectKind`.
|
|
2845
2832
|
- `LoadableObjectClass`: Replaced with `SharedObjectKind`.
|
|
2846
2833
|
- `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
|
|
@@ -2864,7 +2851,6 @@ Dependency updates only.
|
|
|
2864
2851
|
- fluid-framework: Remove some types from `@public` that are not needed ([#21326](https://github.com/microsoft/FluidFramework/pull/21326)) [b629cb80b0](https://github.com/microsoft/FluidFramework/commit/b629cb80b0e5ecdc750270807f77a0e30fab4559)
|
|
2865
2852
|
|
|
2866
2853
|
Mark the following APIs `@alpha` instead of `@public`:
|
|
2867
|
-
|
|
2868
2854
|
- IBranchOrigin
|
|
2869
2855
|
- ISequencedDocumentMessage
|
|
2870
2856
|
- ISignalMessage
|
|
@@ -2879,7 +2865,6 @@ Dependency updates only.
|
|
|
2879
2865
|
- fluid-framework: Remove several types from `@public` scope ([#21142](https://github.com/microsoft/FluidFramework/pull/21142)) [983e9f09f7](https://github.com/microsoft/FluidFramework/commit/983e9f09f7b10fef9ffa1e9af86166f0ccda7e14)
|
|
2880
2866
|
|
|
2881
2867
|
The following types have been moved from `@public` to `@alpha`:
|
|
2882
|
-
|
|
2883
2868
|
- `IFluidSerializer`
|
|
2884
2869
|
- `ISharedObjectEvents`
|
|
2885
2870
|
- `IChannelServices`
|
|
@@ -2903,7 +2888,6 @@ Dependency updates only.
|
|
|
2903
2888
|
|
|
2904
2889
|
The stable public API surface for Tree has been reduced.
|
|
2905
2890
|
Several types have been moved into InternalTypes, indicating that they are not fully stable nor intended to be referenced by users of Tree.
|
|
2906
|
-
|
|
2907
2891
|
- NodeBuilderData
|
|
2908
2892
|
- FieldHasDefault
|
|
2909
2893
|
- TreeNodeSchemaNonClass
|
|
@@ -2930,7 +2914,6 @@ Dependency updates only.
|
|
|
2930
2914
|
- TreeApi
|
|
2931
2915
|
|
|
2932
2916
|
Additionally a few more types which could not be moved due to technically limitations have been documented that they should be treated similarly.
|
|
2933
|
-
|
|
2934
2917
|
- TreeNodeApi
|
|
2935
2918
|
- TreeNodeSchemaCore
|
|
2936
2919
|
- All \*Unsafe type (use for construction of recursive schema).
|
|
@@ -3006,7 +2989,6 @@ Dependency updates only.
|
|
|
3006
2989
|
- Make several driver types no longer public [b7ad7d0b55](https://github.com/microsoft/FluidFramework/commit/b7ad7d0b55884dd8954abf7c398e518838b9bda0)
|
|
3007
2990
|
|
|
3008
2991
|
Move the following types from `@public` to `@alpha`:
|
|
3009
|
-
|
|
3010
2992
|
- ITokenClaims
|
|
3011
2993
|
- IDocumentMessage
|
|
3012
2994
|
- IClientConfiguration
|
|
@@ -3017,7 +2999,6 @@ Dependency updates only.
|
|
|
3017
2999
|
`DriverErrorTypes` is no longer exported from the `fluid-framework` package.
|
|
3018
3000
|
|
|
3019
3001
|
- Rename `AzureMember.userName` to `AzureMember.name` and `IMember.userId` to `IMember.id` [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
3020
|
-
|
|
3021
3002
|
1. Renamed `AzureMember.userName` to `AzureMember.name` to establish uniform naming across odsp-client and azure-client.
|
|
3022
3003
|
2. Renamed `IMember.userId` to `IMember.id` to align with the properties received from AFR.
|
|
3023
3004
|
|
|
@@ -3041,7 +3022,6 @@ Dependency updates only.
|
|
|
3041
3022
|
TypeScript types and implementation code.
|
|
3042
3023
|
|
|
3043
3024
|
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
3044
|
-
|
|
3045
3025
|
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
3046
3026
|
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
3047
3027
|
|
|
@@ -3105,7 +3085,7 @@ Dependency updates only.
|
|
|
3105
3085
|
become build errors. The fix is to use only public APIs from @fluidframework/foo.
|
|
3106
3086
|
|
|
3107
3087
|
**Coming soon:** Build resolutions (`moduleResolution` in tsconfig compilerOptions) will need to be resolved with
|
|
3108
|
-
Node16, NodeNext, or a bundler that supports resolution of named import/export paths. Internally, some FF packages will
|
|
3088
|
+
Node16, NodeNext, or a bundler that supports resolution of named import-x/export paths. Internally, some FF packages will
|
|
3109
3089
|
use `@fluidframework/foo/internal` import paths that allow packages to talk to each other using non-public APIs.
|
|
3110
3090
|
|
|
3111
3091
|
**Final stage:** APIs that are not tagged @public will be removed from @fluidframework/foo imports.
|
|
@@ -3148,7 +3128,6 @@ Dependency updates only.
|
|
|
3148
3128
|
Several FluidStatic classes were unnecessarily exposed and were deprecated in an earlier release. They have been replaced with creation functions. This helps us
|
|
3149
3129
|
keep implementations decoupled from usage which is easier to maintain and extend. It has very minimal impact on the
|
|
3150
3130
|
public surface area of downstream packages. The removed classes are as follows:
|
|
3151
|
-
|
|
3152
3131
|
- `AzureAudience` (use `IAzureAudience` instead)
|
|
3153
3132
|
- `TinyliciousAudience` (use `ITinyliciousAudience` instead)
|
|
3154
3133
|
- `DOProviderContainerRuntimeFactory`
|
|
@@ -3164,7 +3143,6 @@ Dependency updates only.
|
|
|
3164
3143
|
Several FluidStatic classes were unnecessarily exposed. They have been replaced with creation functions. This helps us
|
|
3165
3144
|
keep implementations decoupled from usage which is easier to maintain and extend. It has very minimal impact on the
|
|
3166
3145
|
public surface area of downstream packages. The deprecated classes are as follows:
|
|
3167
|
-
|
|
3168
3146
|
- `AzureAudience` (use `IAzureAudience` instead)
|
|
3169
3147
|
- `TinyliciousAudience` (use `ITinyliciousAudience` instead)
|
|
3170
3148
|
- `DOProviderContainerRuntimeFactory`
|
|
@@ -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
|
-
// @
|
|
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
|
-
// @
|
|
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
|
-
// @
|
|
75
|
+
// @beta @sealed @system
|
|
76
76
|
export interface AnnotatedAllowedTypesUnsafe extends AnnotatedAllowedTypes<LazyItem<System_Unsafe.TreeNodeSchemaUnsafe>> {
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
// @
|
|
79
|
+
// @beta @sealed @system
|
|
80
80
|
export interface AnnotatedAllowedTypeUnsafe<T = Unenforced<LazyItem<TreeNodeSchema>>> extends AnnotatedAllowedType<T> {
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -240,6 +240,9 @@ export function createSimpleTreeIndex<TFieldSchema extends ImplicitFieldSchema,
|
|
|
240
240
|
// @alpha
|
|
241
241
|
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
242
|
|
|
243
|
+
// @alpha
|
|
244
|
+
export function decodeSimpleSchema(encodedSchema: JsonCompatibleReadOnly, validator?: FormatValidator): SimpleTreeSchema;
|
|
245
|
+
|
|
243
246
|
// @public @sealed @system
|
|
244
247
|
interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
|
|
245
248
|
}
|
|
@@ -255,6 +258,9 @@ export interface DirtyTreeMap {
|
|
|
255
258
|
// @alpha
|
|
256
259
|
export type DirtyTreeStatus = "new" | "changed" | "moved";
|
|
257
260
|
|
|
261
|
+
// @alpha
|
|
262
|
+
export function encodeSimpleSchema(simpleSchema: SimpleTreeSchema): JsonCompatibleReadOnly;
|
|
263
|
+
|
|
258
264
|
// @beta
|
|
259
265
|
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
266
|
readonly value: TValue;
|
|
@@ -374,6 +380,7 @@ type FlexListToUnion<TList extends FlexList> = ExtractItemType<TList[number]>;
|
|
|
374
380
|
// @alpha
|
|
375
381
|
export const FluidClientVersion: {
|
|
376
382
|
readonly v2_0: "2.0.0";
|
|
383
|
+
readonly v2_43: "2.43.0";
|
|
377
384
|
readonly v2_52: "2.52.0";
|
|
378
385
|
};
|
|
379
386
|
|
|
@@ -1307,14 +1314,6 @@ export class SchemaFactoryAlpha<out TScope extends string | undefined = string |
|
|
|
1307
1314
|
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
1315
|
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
1316
|
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
1317
|
}
|
|
1319
1318
|
|
|
1320
1319
|
// @beta
|
|
@@ -1328,6 +1327,14 @@ export class SchemaFactoryBeta<out TScope extends string | undefined = string |
|
|
|
1328
1327
|
readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
|
|
1329
1328
|
}, false, T, undefined, TCustomMetadata>;
|
|
1330
1329
|
scopedFactory<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryBeta<ScopedSchemaName<TScope, T>, TNameInner>;
|
|
1330
|
+
static staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
|
|
1331
|
+
staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
|
|
1332
|
+
static stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
|
|
1333
|
+
stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
|
|
1334
|
+
static types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
|
|
1335
|
+
types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
|
|
1336
|
+
static typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
|
|
1337
|
+
typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
|
|
1331
1338
|
}
|
|
1332
1339
|
|
|
1333
1340
|
// @public @sealed @system
|
|
@@ -1350,8 +1357,8 @@ export interface SchemaStatics {
|
|
|
1350
1357
|
readonly string: LeafSchema<"string", string>;
|
|
1351
1358
|
}
|
|
1352
1359
|
|
|
1353
|
-
// @
|
|
1354
|
-
export interface
|
|
1360
|
+
// @beta @sealed @system
|
|
1361
|
+
export interface SchemaStaticsBeta {
|
|
1355
1362
|
readonly staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
|
|
1356
1363
|
stagedRecursive: <const T extends Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
|
|
1357
1364
|
readonly types: <const T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixed<T>;
|
|
@@ -1377,7 +1384,6 @@ export const SharedTree: SharedObjectKind<ITree>;
|
|
|
1377
1384
|
|
|
1378
1385
|
// @alpha @input
|
|
1379
1386
|
export interface SharedTreeFormatOptions {
|
|
1380
|
-
formatVersion: SharedTreeFormatVersion[keyof SharedTreeFormatVersion];
|
|
1381
1387
|
treeEncodeType: TreeCompressionStrategy;
|
|
1382
1388
|
}
|
|
1383
1389
|
|
|
@@ -1394,7 +1400,9 @@ export const SharedTreeFormatVersion: {
|
|
|
1394
1400
|
export type SharedTreeFormatVersion = typeof SharedTreeFormatVersion;
|
|
1395
1401
|
|
|
1396
1402
|
// @alpha @input
|
|
1397
|
-
export
|
|
1403
|
+
export interface SharedTreeOptions extends Partial<CodecWriteOptions>, Partial<SharedTreeFormatOptions>, SharedTreeOptionsBeta {
|
|
1404
|
+
readonly enableSharedBranches?: boolean;
|
|
1405
|
+
}
|
|
1398
1406
|
|
|
1399
1407
|
// @beta @input
|
|
1400
1408
|
export type SharedTreeOptionsBeta = ForestOptions;
|
|
@@ -1448,6 +1456,7 @@ export interface SimpleObjectFieldSchema extends SimpleFieldSchema {
|
|
|
1448
1456
|
|
|
1449
1457
|
// @alpha @sealed
|
|
1450
1458
|
export interface SimpleObjectNodeSchema<out TCustomMetadata = unknown> extends SimpleNodeSchemaBaseAlpha<NodeKind.Object, TCustomMetadata> {
|
|
1459
|
+
readonly allowUnknownOptionalFields: boolean | undefined;
|
|
1451
1460
|
readonly fields: ReadonlyMap<string, SimpleObjectFieldSchema>;
|
|
1452
1461
|
}
|
|
1453
1462
|
|
|
@@ -2076,14 +2085,14 @@ export type UnannotateAllowedTypesList<T extends readonly (AnnotatedAllowedType
|
|
|
2076
2085
|
[I in keyof T]: T[I] extends AnnotatedAllowedType<infer X> ? X : T[I];
|
|
2077
2086
|
};
|
|
2078
2087
|
|
|
2079
|
-
// @
|
|
2088
|
+
// @beta @sealed @system
|
|
2080
2089
|
export type UnannotateAllowedTypesListUnsafe<T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]> = {
|
|
2081
2090
|
readonly [I in keyof T]: T[I] extends {
|
|
2082
2091
|
type: infer X;
|
|
2083
2092
|
} ? X : T[I];
|
|
2084
2093
|
};
|
|
2085
2094
|
|
|
2086
|
-
// @
|
|
2095
|
+
// @beta @sealed @system
|
|
2087
2096
|
export type UnannotateAllowedTypeUnsafe<T extends Unenforced<AnnotatedAllowedTypeUnsafe | LazyItem<System_Unsafe.TreeNodeSchemaUnsafe>>> = T extends AnnotatedAllowedTypeUnsafe<infer X> ? X : T;
|
|
2088
2097
|
|
|
2089
2098
|
// @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,7 +249,6 @@ export {
|
|
|
246
249
|
RevertibleAlphaFactory,
|
|
247
250
|
RunTransactionParams,
|
|
248
251
|
SchemaFactoryAlpha,
|
|
249
|
-
SchemaStaticsAlpha,
|
|
250
252
|
SharedTreeFormatOptions,
|
|
251
253
|
SharedTreeFormatVersion,
|
|
252
254
|
SharedTreeOptions,
|
|
@@ -283,8 +285,6 @@ export {
|
|
|
283
285
|
TreeSchemaEncodingOptions,
|
|
284
286
|
TreeViewAlpha,
|
|
285
287
|
TreeViewConfigurationAlpha,
|
|
286
|
-
UnannotateAllowedTypeUnsafe,
|
|
287
|
-
UnannotateAllowedTypesListUnsafe,
|
|
288
288
|
UnsafeUnknownSchema,
|
|
289
289
|
ValueSchema,
|
|
290
290
|
VerboseTree,
|
|
@@ -301,6 +301,8 @@ export {
|
|
|
301
301
|
createIdentifierIndex,
|
|
302
302
|
createIndependentTreeAlpha,
|
|
303
303
|
createSimpleTreeIndex,
|
|
304
|
+
decodeSimpleSchema,
|
|
305
|
+
encodeSimpleSchema,
|
|
304
306
|
evaluateLazySchema,
|
|
305
307
|
extractPersistedSchema,
|
|
306
308
|
generateSchemaFromSimpleSchema,
|
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,
|
package/lib/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,7 +249,6 @@ export {
|
|
|
246
249
|
RevertibleAlphaFactory,
|
|
247
250
|
RunTransactionParams,
|
|
248
251
|
SchemaFactoryAlpha,
|
|
249
|
-
SchemaStaticsAlpha,
|
|
250
252
|
SharedTreeFormatOptions,
|
|
251
253
|
SharedTreeFormatVersion,
|
|
252
254
|
SharedTreeOptions,
|
|
@@ -283,8 +285,6 @@ export {
|
|
|
283
285
|
TreeSchemaEncodingOptions,
|
|
284
286
|
TreeViewAlpha,
|
|
285
287
|
TreeViewConfigurationAlpha,
|
|
286
|
-
UnannotateAllowedTypeUnsafe,
|
|
287
|
-
UnannotateAllowedTypesListUnsafe,
|
|
288
288
|
UnsafeUnknownSchema,
|
|
289
289
|
ValueSchema,
|
|
290
290
|
VerboseTree,
|
|
@@ -301,6 +301,8 @@ export {
|
|
|
301
301
|
createIdentifierIndex,
|
|
302
302
|
createIndependentTreeAlpha,
|
|
303
303
|
createSimpleTreeIndex,
|
|
304
|
+
decodeSimpleSchema,
|
|
305
|
+
encodeSimpleSchema,
|
|
304
306
|
evaluateLazySchema,
|
|
305
307
|
extractPersistedSchema,
|
|
306
308
|
generateSchemaFromSimpleSchema,
|
package/lib/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/lib/index.js
CHANGED
|
@@ -10,8 +10,8 @@ export { onAssertionFailure } from "@fluidframework/core-utils/internal";
|
|
|
10
10
|
// Note: this only surfaces the `@public, @beta and @alpha` API items from the tree package.
|
|
11
11
|
/* eslint-disable-next-line
|
|
12
12
|
no-restricted-syntax,
|
|
13
|
-
import/no-internal-modules,
|
|
14
|
-
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`.
|
|
13
|
+
import-x/no-internal-modules,
|
|
14
|
+
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`.
|
|
15
15
|
*/
|
|
16
16
|
export * from "@fluidframework/tree/alpha";
|
|
17
17
|
import { SharedTree as OriginalSharedTree, configuredSharedTree as originalConfiguredSharedTree, } from "@fluidframework/tree/internal";
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AA4CnE,4GAA4G;AAC5G,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAIzE,mDAAmD;AACnD,4FAA4F;AAC5F;;;;MAIG;AACH,cAAc,4BAA4B,CAAC;AAU3C,OAAO,EACN,UAAU,IAAI,kBAAkB,EAChC,oBAAoB,IAAI,4BAA4B,GAEpD,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAA4B,kBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA0B;IAC9D,OAAO,4BAA4B,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAmBD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AA4B1E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAajE,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,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AA4CnE,4GAA4G;AAC5G,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAIzE,mDAAmD;AACnD,4FAA4F;AAC5F;;;;MAIG;AACH,cAAc,4BAA4B,CAAC;AAU3C,OAAO,EACN,UAAU,IAAI,kBAAkB,EAChC,oBAAoB,IAAI,4BAA4B,GAEpD,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAA4B,kBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA0B;IAC9D,OAAO,4BAA4B,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAmBD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AA4B1E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAajE,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/lib/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,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fluid-framework",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.72.0",
|
|
4
4
|
"description": "The main entry point into Fluid Framework public packages",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -57,25 +57,25 @@
|
|
|
57
57
|
"main": "lib/index.js",
|
|
58
58
|
"types": "lib/public.d.ts",
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@fluidframework/container-definitions": "~2.
|
|
61
|
-
"@fluidframework/container-loader": "~2.
|
|
62
|
-
"@fluidframework/core-interfaces": "~2.
|
|
63
|
-
"@fluidframework/core-utils": "~2.
|
|
64
|
-
"@fluidframework/driver-definitions": "~2.
|
|
65
|
-
"@fluidframework/fluid-static": "~2.
|
|
66
|
-
"@fluidframework/map": "~2.
|
|
67
|
-
"@fluidframework/runtime-utils": "~2.
|
|
68
|
-
"@fluidframework/sequence": "~2.
|
|
69
|
-
"@fluidframework/shared-object-base": "~2.
|
|
70
|
-
"@fluidframework/tree": "~2.
|
|
60
|
+
"@fluidframework/container-definitions": "~2.72.0",
|
|
61
|
+
"@fluidframework/container-loader": "~2.72.0",
|
|
62
|
+
"@fluidframework/core-interfaces": "~2.72.0",
|
|
63
|
+
"@fluidframework/core-utils": "~2.72.0",
|
|
64
|
+
"@fluidframework/driver-definitions": "~2.72.0",
|
|
65
|
+
"@fluidframework/fluid-static": "~2.72.0",
|
|
66
|
+
"@fluidframework/map": "~2.72.0",
|
|
67
|
+
"@fluidframework/runtime-utils": "~2.72.0",
|
|
68
|
+
"@fluidframework/sequence": "~2.72.0",
|
|
69
|
+
"@fluidframework/shared-object-base": "~2.72.0",
|
|
70
|
+
"@fluidframework/tree": "~2.72.0"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
73
|
"@arethetypeswrong/cli": "^0.17.1",
|
|
74
74
|
"@biomejs/biome": "~1.9.3",
|
|
75
|
-
"@fluid-tools/build-cli": "^0.
|
|
75
|
+
"@fluid-tools/build-cli": "^0.60.0",
|
|
76
76
|
"@fluidframework/build-common": "^2.0.3",
|
|
77
|
-
"@fluidframework/build-tools": "^0.
|
|
78
|
-
"@fluidframework/eslint-config-fluid": "
|
|
77
|
+
"@fluidframework/build-tools": "^0.60.0",
|
|
78
|
+
"@fluidframework/eslint-config-fluid": "~2.72.0",
|
|
79
79
|
"@microsoft/api-extractor": "7.52.11",
|
|
80
80
|
"@types/node": "^18.19.0",
|
|
81
81
|
"concurrently": "^8.2.1",
|
package/src/index.ts
CHANGED
|
@@ -54,12 +54,12 @@ export type {
|
|
|
54
54
|
ReplaceIEventThisPlaceHolder,
|
|
55
55
|
FluidObject, // Linked in doc comment
|
|
56
56
|
FluidObjectProviderKeys, // Used by FluidObject
|
|
57
|
-
/* 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`. */
|
|
57
|
+
/* 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`. */
|
|
58
58
|
Listeners,
|
|
59
59
|
IsListener,
|
|
60
60
|
Listenable,
|
|
61
61
|
Off,
|
|
62
|
-
/* eslint-enable import/export */
|
|
62
|
+
/* eslint-enable import-x/export */
|
|
63
63
|
} from "@fluidframework/core-interfaces";
|
|
64
64
|
export type { ErasedBaseType } from "@fluidframework/core-interfaces/internal";
|
|
65
65
|
|
|
@@ -72,8 +72,8 @@ export type { isFluidHandle } from "@fluidframework/runtime-utils";
|
|
|
72
72
|
// Note: this only surfaces the `@public, @beta and @alpha` API items from the tree package.
|
|
73
73
|
/* eslint-disable-next-line
|
|
74
74
|
no-restricted-syntax,
|
|
75
|
-
import/no-internal-modules,
|
|
76
|
-
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`.
|
|
75
|
+
import-x/no-internal-modules,
|
|
76
|
+
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`.
|
|
77
77
|
*/
|
|
78
78
|
export * from "@fluidframework/tree/alpha";
|
|
79
79
|
|