fluid-framework 3.0.2 → 3.2.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 +87 -0
- package/README.md +30 -34
- package/api-report/fluid-framework.alpha.api.md +10 -10
- package/api-report/fluid-framework.beta.api.md +7 -8
- package/api-report/fluid-framework.legacy.beta.api.md +7 -8
- package/dist/alpha.d.ts +1 -0
- package/dist/beta.d.ts +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +1 -0
- package/lib/alpha.d.ts +1 -0
- package/lib/beta.d.ts +1 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +1 -0
- package/package.json +14 -21
- package/src/index.ts +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,92 @@
|
|
|
1
1
|
# fluid-framework
|
|
2
2
|
|
|
3
|
+
## 3.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- createIdentifierIndex handles schemas with multiple identifiers consistently ([#28233](https://github.com/microsoft/FluidFramework/pull/28233)) [7663ec8ca5d](https://github.com/microsoft/FluidFramework/commit/7663ec8ca5df5ec6f60d0c6a4e9991fbb0fa5d04)
|
|
8
|
+
|
|
9
|
+
[`createIdentifierIndex`](https://fluidframework.com/docs/api/tree/#createidentifierindex-function) now indexes a node only when its schema has exactly one [`identifier`](https://fluidframework.com/docs/api/tree/schemafactory-class#identifier-property) field.
|
|
10
|
+
Schemas with multiple identifier fields are skipped instead of arbitrarily indexing the first identifier field.
|
|
11
|
+
This avoids field-order-dependent behavior while allowing identifier indexes to be created for trees containing such schemas.
|
|
12
|
+
|
|
13
|
+
Identifier indexes now also take advantage of identifier fields being immutable.
|
|
14
|
+
This avoids unnecessarily re-indexing existing nodes after tree edits while continuing to index newly created nodes and filter detached nodes from index results.
|
|
15
|
+
|
|
16
|
+
- createTreeIndex now interprets object field selectors as property keys ([#28233](https://github.com/microsoft/FluidFramework/pull/28233)) [7663ec8ca5d](https://github.com/microsoft/FluidFramework/commit/7663ec8ca5df5ec6f60d0c6a4e9991fbb0fa5d04)
|
|
17
|
+
|
|
18
|
+
[`createTreeIndex`](https://fluidframework.com/docs/api/tree/#createtreeindex-function) previously interpreted keys returned by [`TreeIndexKeyFieldSelector`](https://fluidframework.com/docs/api/tree/treeindexkeyfieldselector-typealias) as stored keys. This was inconsistent with the Simple Tree schema API and caused indexes to fail when an object field's property key differed from its stored key. Object field selectors are now translated from property keys to stored keys internally. Selectors must return `undefined` for non-object schemas.
|
|
19
|
+
|
|
20
|
+
- Use configured SharedTree kinds in service client registries ([#28260](https://github.com/microsoft/FluidFramework/pull/28260)) [235654550d1](https://github.com/microsoft/FluidFramework/commit/235654550d165d0da3a40c1b6fb1c6ec2bea676b)
|
|
21
|
+
|
|
22
|
+
The alpha [configuredSharedTree](https://fluidframework.com/docs/api/fluid-framework/#configuredsharedtree-function) function in fluid-framework now returns [SharedObjectKindAlpha\<ITree\>](https://fluidframework.com/docs/api/shared-object-base/sharedobjectkindalpha-interface) instead of [SharedObjectKind\<ITree\>](https://fluidframework.com/docs/api/shared-object-base/sharedobjectkind-interface).
|
|
23
|
+
This exposes the registry capabilities already provided by the returned object, so applications can use it with [sharedObjectRegistryFromIterable](https://fluidframework.com/docs/api/fluid-framework/#sharedobjectregistryfromiterable-function) and [instantiateTreeFirstTime](https://fluidframework.com/docs/api/fluid-framework/#instantiatetreefirsttime-function) without an internal import.
|
|
24
|
+
Existing uses of the returned `SharedObjectKind<ITree>` remain supported, and runtime behavior is unchanged.
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
import {
|
|
28
|
+
configuredSharedTree,
|
|
29
|
+
sharedObjectRegistryFromIterable,
|
|
30
|
+
} from "fluid-framework/alpha";
|
|
31
|
+
|
|
32
|
+
const treeKind = configuredSharedTree({});
|
|
33
|
+
const registry = sharedObjectRegistryFromIterable([treeKind]);
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
- Require the oldest supported client version in ServiceOptions ([#27902](https://github.com/microsoft/FluidFramework/pull/27902)) [da0dd40c087](https://github.com/microsoft/FluidFramework/commit/da0dd40c087b075822f0a9be723e1879f25d23b5)
|
|
37
|
+
|
|
38
|
+
The alpha [`ServiceOptions.oldestSupportedClient`](https://fluidframework.com/docs/api/driver-definitions/serviceoptions-interface#oldestsupportedclient-propertysignature) property is now required. Code that constructs service options must specify the oldest Fluid Framework client version that can open and process documents written by the service client.
|
|
39
|
+
|
|
40
|
+
```typescript
|
|
41
|
+
const options: ServiceOptions = {
|
|
42
|
+
oldestSupportedClient: "2.100.0",
|
|
43
|
+
};
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
- Collect container telemetry through ServiceClient ([#28259](https://github.com/microsoft/FluidFramework/pull/28259)) [11261004291](https://github.com/microsoft/FluidFramework/commit/11261004291599575a23483fbaf8b20f4ff1afc1)
|
|
47
|
+
|
|
48
|
+
The alpha [ServiceOptions](https://fluidframework.com/docs/api/driver-definitions/serviceoptions-interface) interface now accepts an optional `logger`.
|
|
49
|
+
Session, ephemeral, and Tinylicious clients forward telemetry from containers they create or load to this logger.
|
|
50
|
+
Existing callers can omit the option without changing their behavior.
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
import { startEphemeralService } from "@fluidframework/local-driver/alpha";
|
|
54
|
+
|
|
55
|
+
const service = startEphemeralService();
|
|
56
|
+
const client = service.newClient({
|
|
57
|
+
oldestSupportedClient: "2.100.0",
|
|
58
|
+
logger: {
|
|
59
|
+
send(event) {
|
|
60
|
+
console.log(event);
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
The same `logger` option is supported by `getSessionService().newClient(...)` and `createTinyliciousServiceClient(...)`.
|
|
67
|
+
|
|
68
|
+
## 3.1.0
|
|
69
|
+
|
|
70
|
+
### Minor Changes
|
|
71
|
+
|
|
72
|
+
- Fix an infinite loop bug in revertTo ([#28219](https://github.com/microsoft/FluidFramework/pull/28219)) [8c8ca60891d](https://github.com/microsoft/FluidFramework/commit/8c8ca60891da0286a5f4382323a3379369bd3847)
|
|
73
|
+
|
|
74
|
+
Fixes a bug in [`UntypedTreeViewAlpha.revertTo`](https://fluidframework.com/docs/api/tree/untypedtreeviewalpha-interface#revertto-methodsignature) which could trigger an infinite loop when called.
|
|
75
|
+
This bug is not known to cause document corruption.
|
|
76
|
+
|
|
77
|
+
- Fix a bug in revertTo ([#28202](https://github.com/microsoft/FluidFramework/pull/28202)) [acaed12e86d](https://github.com/microsoft/FluidFramework/commit/acaed12e86dd650cc6274beeb43e15faf8c59cf6)
|
|
78
|
+
|
|
79
|
+
Fixes a bug in [`UntypedTreeViewAlpha.revertTo`](https://fluidframework.com/docs/api/tree/untypedtreeviewalpha-interface#revertto-methodsignature) which could trigger assert codes `0x7ce`, `0x8a1`, `0x695`, and possibly others.
|
|
80
|
+
This bug is not known to cause document corruption.
|
|
81
|
+
|
|
82
|
+
- Support flexible indexers when creating tree indexes ([#28210](https://github.com/microsoft/FluidFramework/pull/28210)) [3920a9a6665](https://github.com/microsoft/FluidFramework/commit/3920a9a66656594a07d8e985d98732028010d90b)
|
|
83
|
+
|
|
84
|
+
[`createTreeIndex`](https://fluidframework.com/docs/api/tree/#createtreeindex-function) now accepts the new `TreeIndexKeyFieldSelector` type: either a pure callback or an object with a `get` method. This simplifies the factory to two overloads while continuing to support `Map` and `ReadonlyMap` values.
|
|
85
|
+
|
|
86
|
+
- Fields defined with `SchemaFactoryAlpha.identifier()` now generate identifiers when omitted ([#28178](https://github.com/microsoft/FluidFramework/pull/28178)) [cf51fdd7e09](https://github.com/microsoft/FluidFramework/commit/cf51fdd7e09bceaf3ce671aa0c47715dea827e3c)
|
|
87
|
+
|
|
88
|
+
Fields defined with [`SchemaFactoryAlpha.identifier()`](https://fluidframework.com/docs/api/tree/schemafactoryalpha-class#identifier-property) now correctly generate identifiers when omitted.
|
|
89
|
+
|
|
3
90
|
## 3.0.0
|
|
4
91
|
|
|
5
92
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -10,8 +10,7 @@ There are some packages there are not included as part of this `fluid-framework`
|
|
|
10
10
|
- `@fluidframework/app-insights-logger`: to route Fluid telemetry to Azure App Insights.
|
|
11
11
|
- `@fluidframework/react (ALPHA)`: to help integrate Fluid content (mainly SharedTree) into [React](https://react.dev/) applications.
|
|
12
12
|
|
|
13
|
-
<!--
|
|
14
|
-
|
|
13
|
+
<!-- markdown-magic:begin {"transform":"library-readme-header","headingLevel":2} -->
|
|
15
14
|
<!-- prettier-ignore-start -->
|
|
16
15
|
<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->
|
|
17
16
|
|
|
@@ -49,8 +48,7 @@ Import the `legacy` APIs from `fluid-framework/legacy`.
|
|
|
49
48
|
Read the **fluid-framework** API documentation at <https://fluidframework.com/docs/apis/fluid-framework>.
|
|
50
49
|
|
|
51
50
|
<!-- prettier-ignore-end -->
|
|
52
|
-
|
|
53
|
-
<!-- AUTO-GENERATED-CONTENT:END -->
|
|
51
|
+
<!-- markdown-magic:end -->
|
|
54
52
|
|
|
55
53
|
## Contents
|
|
56
54
|
|
|
@@ -74,8 +72,7 @@ The `fluid-framework` package offers the following data structures:
|
|
|
74
72
|
|
|
75
73
|
Check out the [Hello World tutorial](https://fluidframework.com/docs/start/tutorial/) using `fluid-framework`.
|
|
76
74
|
|
|
77
|
-
<!--
|
|
78
|
-
|
|
75
|
+
<!-- markdown-magic:begin {"transform":"readme-footer","headingLevel":2} -->
|
|
79
76
|
<!-- prettier-ignore-start -->
|
|
80
77
|
<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->
|
|
81
78
|
|
|
@@ -92,29 +89,29 @@ To request support for a configuration that is not listed, file an issue.
|
|
|
92
89
|
The product team will evaluate your request.
|
|
93
90
|
In the issue, specify the current status of the configuration:
|
|
94
91
|
|
|
95
|
-
-
|
|
96
|
-
-
|
|
92
|
+
- The configuration works but needs official support.
|
|
93
|
+
- The configuration does not work and requires changes.
|
|
97
94
|
|
|
98
95
|
### Supported Runtimes
|
|
99
96
|
|
|
100
|
-
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
-
|
|
97
|
+
- Fluid Framework supports Node.js versions 22 and 24 while they receive [upstream support](https://nodejs.org/en/about/previous-releases).
|
|
98
|
+
- Fluid Framework will stop support for version 22 [when upstream support ends on 2027-04-30](https://github.com/nodejs/release#release-schedule).
|
|
99
|
+
- Fluid Framework does not support Node.js with the `--no-experimental-fetch` flag.
|
|
100
|
+
- Fluid Framework supports modern browsers that support the ES2022 standard library.
|
|
104
101
|
|
|
105
102
|
### Supported Tools
|
|
106
103
|
|
|
107
|
-
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
-
|
|
116
|
-
|
|
117
|
-
|
|
104
|
+
- [TypeScript 6.0](https://typescriptdocs.com/release-notes/TypeScript%206.0):
|
|
105
|
+
- Fluid Framework supports all [`strict`](https://www.typescriptlang.org/tsconfig) options.
|
|
106
|
+
- Set the build targets (`lib`, `target`) to `ES2022` or later.
|
|
107
|
+
- Enable [`strictNullChecks`](https://www.typescriptlang.org/tsconfig).
|
|
108
|
+
- Fluid Framework does not support [configuration options deprecated in TypeScript 6.0](https://typescriptdocs.com/release-notes/TypeScript%206.0#breaking-changes-and-deprecations-in-typescript-6-0).
|
|
109
|
+
- Fluid Framework does not fully support `exactOptionalPropertyTypes`.
|
|
110
|
+
If you enable this option, do not use `in`, `Reflect.has`, `Object.hasOwn`, or `Object.prototype.hasOwnProperty` to narrow members of Fluid Framework types.
|
|
111
|
+
These methods can incorrectly exclude `undefined` from the possible values.
|
|
112
|
+
- [webpack](https://webpack.js.org/) 5
|
|
113
|
+
- We do not require a specific bundler.
|
|
114
|
+
Other bundlers that handle ES Modules can work, but we actively test only webpack.
|
|
118
115
|
|
|
119
116
|
### Module Resolution
|
|
120
117
|
|
|
@@ -125,25 +122,25 @@ Do not use `Node10` module resolution.
|
|
|
125
122
|
|
|
126
123
|
### Module Formats
|
|
127
124
|
|
|
128
|
-
-
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
|
|
125
|
+
- ES Modules:
|
|
126
|
+
Use ES Modules to consume Fluid Framework client packages, including in Node.js.
|
|
127
|
+
- CommonJS:
|
|
128
|
+
Fluid Framework does not officially support CommonJS in version 3.0 or later.
|
|
132
129
|
|
|
133
130
|
## Contribution Guidelines
|
|
134
131
|
|
|
135
132
|
You can [contribute](https://github.com/microsoft/FluidFramework/blob/main/CONTRIBUTING.md) to Fluid Framework in these ways:
|
|
136
133
|
|
|
137
|
-
-
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
-
|
|
134
|
+
- Answer questions in [GitHub Discussions](https://github.com/microsoft/FluidFramework/discussions).
|
|
135
|
+
- [Submit bug reports](https://github.com/microsoft/FluidFramework/issues) and help verify fixes.
|
|
136
|
+
- Review [source code changes](https://github.com/microsoft/FluidFramework/pulls).
|
|
137
|
+
- [Contribute bug fixes](https://github.com/microsoft/FluidFramework/blob/main/CONTRIBUTING.md).
|
|
141
138
|
|
|
142
139
|
For detailed instructions, read the [repo documentation](https://github.com/microsoft/FluidFramework/blob/main/docs/content/Home.md).
|
|
143
140
|
|
|
144
141
|
This project follows the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
|
145
142
|
For more information, read the [Code of Conduct frequently asked questions](https://opensource.microsoft.com/codeofconduct/faq/).
|
|
146
|
-
For questions or comments, contact
|
|
143
|
+
For questions or comments, contact <opencode@microsoft.com>.
|
|
147
144
|
|
|
148
145
|
This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
|
|
149
146
|
Use of these trademarks or logos must follow Microsoft’s [Trademark & Brand Guidelines](https://www.microsoft.com/trademarks).
|
|
@@ -164,8 +161,7 @@ Use of these trademarks or logos must follow Microsoft's [Trademark & Brand Guid
|
|
|
164
161
|
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
|
|
165
162
|
|
|
166
163
|
<!-- prettier-ignore-end -->
|
|
167
|
-
|
|
168
|
-
<!-- AUTO-GENERATED-CONTENT:END -->
|
|
164
|
+
<!-- markdown-magic:end -->
|
|
169
165
|
|
|
170
166
|
<!-- Links -->
|
|
171
167
|
|
|
@@ -268,7 +268,7 @@ export type ConciseTree<THandle = IFluidHandle> = Exclude<TreeLeafValue, IFluidH
|
|
|
268
268
|
};
|
|
269
269
|
|
|
270
270
|
// @alpha
|
|
271
|
-
export function configuredSharedTree(options: SharedTreeOptions):
|
|
271
|
+
export function configuredSharedTree(options: SharedTreeOptions): SharedObjectKindAlpha<ITree>;
|
|
272
272
|
|
|
273
273
|
// @alpha
|
|
274
274
|
export function configuredSharedTreeAlpha(options: SharedTreeOptions): SharedObjectKind<ITree>;
|
|
@@ -341,16 +341,10 @@ export function createIndependentTreeView<const TSchema extends ImplicitFieldSch
|
|
|
341
341
|
export function createIndependentTreeViewAlpha<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options?: IndependentViewOptions): TreeViewAlpha<TSchema>;
|
|
342
342
|
|
|
343
343
|
// @beta
|
|
344
|
-
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>,
|
|
344
|
+
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, keyFieldSelector: TreeIndexKeyFieldSelector, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
|
|
345
345
|
|
|
346
346
|
// @beta
|
|
347
|
-
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>,
|
|
348
|
-
|
|
349
|
-
// @beta
|
|
350
|
-
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
|
|
351
|
-
|
|
352
|
-
// @beta
|
|
353
|
-
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
|
|
347
|
+
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, keyFieldSelector: TreeIndexKeyFieldSelector<TSchema>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
|
|
354
348
|
|
|
355
349
|
// @alpha @sealed
|
|
356
350
|
export interface CustomMetadataTree {
|
|
@@ -2006,7 +2000,8 @@ export interface ServiceClient {
|
|
|
2006
2000
|
|
|
2007
2001
|
// @alpha @input
|
|
2008
2002
|
export interface ServiceOptions {
|
|
2009
|
-
readonly
|
|
2003
|
+
readonly logger?: ITelemetryBaseLogger;
|
|
2004
|
+
readonly oldestSupportedClient: OldestSupportedServiceClientVersion;
|
|
2010
2005
|
}
|
|
2011
2006
|
|
|
2012
2007
|
// @alpha @sealed
|
|
@@ -2662,6 +2657,11 @@ export interface TreeIndex<TKey, TValue> extends FluidReadonlyMap<TKey, TValue>
|
|
|
2662
2657
|
// @beta
|
|
2663
2658
|
export type TreeIndexKey = TreeLeafValue;
|
|
2664
2659
|
|
|
2660
|
+
// @beta
|
|
2661
|
+
export type TreeIndexKeyFieldSelector<TSchema extends TreeNodeSchema = TreeNodeSchema> = ((schema: TSchema) => string | undefined) | {
|
|
2662
|
+
get(schema: TSchema): string | undefined;
|
|
2663
|
+
};
|
|
2664
|
+
|
|
2665
2665
|
// @beta
|
|
2666
2666
|
export type TreeIndexNodes<TNode> = readonly [first: TNode, ...rest: TNode[]];
|
|
2667
2667
|
|
|
@@ -197,16 +197,10 @@ export function createIndependentTreeBeta<const TSchema extends ImplicitFieldSch
|
|
|
197
197
|
export function createIndependentTreeView<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options?: ForestOptions): TreeViewBeta<TSchema>;
|
|
198
198
|
|
|
199
199
|
// @beta
|
|
200
|
-
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>,
|
|
200
|
+
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, keyFieldSelector: TreeIndexKeyFieldSelector, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
|
|
201
201
|
|
|
202
202
|
// @beta
|
|
203
|
-
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>,
|
|
204
|
-
|
|
205
|
-
// @beta
|
|
206
|
-
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
|
|
207
|
-
|
|
208
|
-
// @beta
|
|
209
|
-
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
|
|
203
|
+
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, keyFieldSelector: TreeIndexKeyFieldSelector<TSchema>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
|
|
210
204
|
|
|
211
205
|
// @public @sealed @system
|
|
212
206
|
interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
|
|
@@ -1562,6 +1556,11 @@ export interface TreeIndex<TKey, TValue> extends FluidReadonlyMap<TKey, TValue>
|
|
|
1562
1556
|
// @beta
|
|
1563
1557
|
export type TreeIndexKey = TreeLeafValue;
|
|
1564
1558
|
|
|
1559
|
+
// @beta
|
|
1560
|
+
export type TreeIndexKeyFieldSelector<TSchema extends TreeNodeSchema = TreeNodeSchema> = ((schema: TSchema) => string | undefined) | {
|
|
1561
|
+
get(schema: TSchema): string | undefined;
|
|
1562
|
+
};
|
|
1563
|
+
|
|
1565
1564
|
// @beta
|
|
1566
1565
|
export type TreeIndexNodes<TNode> = readonly [first: TNode, ...rest: TNode[]];
|
|
1567
1566
|
|
|
@@ -197,16 +197,10 @@ export function createIndependentTreeBeta<const TSchema extends ImplicitFieldSch
|
|
|
197
197
|
export function createIndependentTreeView<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options?: ForestOptions): TreeViewBeta<TSchema>;
|
|
198
198
|
|
|
199
199
|
// @beta
|
|
200
|
-
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>,
|
|
200
|
+
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, keyFieldSelector: TreeIndexKeyFieldSelector, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
|
|
201
201
|
|
|
202
202
|
// @beta
|
|
203
|
-
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>,
|
|
204
|
-
|
|
205
|
-
// @beta
|
|
206
|
-
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
|
|
207
|
-
|
|
208
|
-
// @beta
|
|
209
|
-
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
|
|
203
|
+
export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, keyFieldSelector: TreeIndexKeyFieldSelector<TSchema>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
|
|
210
204
|
|
|
211
205
|
// @public @sealed @system
|
|
212
206
|
interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
|
|
@@ -1932,6 +1926,11 @@ export interface TreeIndex<TKey, TValue> extends FluidReadonlyMap<TKey, TValue>
|
|
|
1932
1926
|
// @beta
|
|
1933
1927
|
export type TreeIndexKey = TreeLeafValue;
|
|
1934
1928
|
|
|
1929
|
+
// @beta
|
|
1930
|
+
export type TreeIndexKeyFieldSelector<TSchema extends TreeNodeSchema = TreeNodeSchema> = ((schema: TSchema) => string | undefined) | {
|
|
1931
|
+
get(schema: TSchema): string | undefined;
|
|
1932
|
+
};
|
|
1933
|
+
|
|
1935
1934
|
// @beta
|
|
1936
1935
|
export type TreeIndexNodes<TNode> = readonly [first: TNode, ...rest: TNode[]];
|
|
1937
1936
|
|
package/dist/alpha.d.ts
CHANGED
package/dist/beta.d.ts
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export type { DataStoreOptions, SharedObjectCreator, SharedObjectRegistry, Share
|
|
|
27
27
|
export type { DataStoreCreator, DataStoreKey, DataStoreKind, DataStoreRegistry, FluidContainer, FluidContainerAttached, FluidContainerWithService, OldestSupportedServiceClientVersion, Registry, RegistryKey, ServiceClient, ServiceOptions, } from "@fluidframework/driver-definitions/internal";
|
|
28
28
|
export { createBasicRegistryKey, featureVersion, lookupInRegistry, } from "@fluidframework/driver-definitions/internal";
|
|
29
29
|
import type { SharedObjectKind } from "@fluidframework/shared-object-base";
|
|
30
|
+
import type { SharedObjectKindAlpha } from "@fluidframework/shared-object-base/internal";
|
|
30
31
|
import type { ITree } from "@fluidframework/tree";
|
|
31
32
|
import { type SharedTreeOptions } from "@fluidframework/tree/internal";
|
|
32
33
|
/**
|
|
@@ -65,7 +66,7 @@ export declare const SharedTree: SharedObjectKind<ITree>;
|
|
|
65
66
|
* ```
|
|
66
67
|
* @alpha
|
|
67
68
|
*/
|
|
68
|
-
export declare function configuredSharedTree(options: SharedTreeOptions):
|
|
69
|
+
export declare function configuredSharedTree(options: SharedTreeOptions): SharedObjectKindAlpha<ITree>;
|
|
69
70
|
export type { IDirectory, IDirectoryEvents, IDirectoryValueChanged, ISharedDirectory, ISharedDirectoryEvents, ISharedMap, ISharedMapEvents, IValueChanged, } from "@fluidframework/map/internal";
|
|
70
71
|
export { SharedDirectory, SharedMap } from "@fluidframework/map/internal";
|
|
71
72
|
export type { DeserializeCallback, InteriorSequencePlace, IInterval, IntervalStickiness, ISequenceDeltaRange, ISerializedInterval, ISharedSegmentSequenceEvents, ISharedString, SequencePlace, SharedStringSegment, Side, ISharedSegmentSequence, ISequenceIntervalCollection, ISequenceIntervalCollectionEvents, SequenceIntervalIndex, } from "@fluidframework/sequence/internal";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAMH,YAAY,EACX,eAAe,IAAI,mBAAmB,EAAE,0CAA0C;AAClF,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,GACN,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACtF,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EACX,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,EACN,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,8BAA8B,EAC9B,MAAM,EACN,4BAA4B,EAC5B,WAAW,EAAE,wBAAwB;AACrC,uBAAuB,EAAE,sBAAsB;AAE/C,SAAS,EACT,UAAU,EACV,UAAU,EACV,GAAG,GAEH,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACX,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AASnE,cAAc,4BAA4B,CAAC;AAS3C,OAAO,EACN,eAAe,EACf,gCAAgC,GAChC,MAAM,6CAA6C,CAAC;AACrD,YAAY,EACX,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,GAChB,MAAM,6CAA6C,CAAC;AACrD,YAAY,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EACzB,mCAAmC,EACnC,QAAQ,EACR,WAAW,EACX,aAAa,EACb,cAAc,GACd,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACN,sBAAsB,EACtB,cAAc,EACd,gBAAgB,GAIhB,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAGN,KAAK,iBAAiB,EACtB,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAsB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AA8KH,oDAIC;AAjKD,+EAAoE;AAA3D,oHAAA,WAAW,OAAA;AACpB,qEAAmE;AAA1D,mHAAA,eAAe,OAAA;AAcxB,kEAAsF;AAA7E,uGAAA,WAAW,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAyCtC,gEAAyE;AAAhE,8GAAA,kBAAkB,OAAA;AAI3B,mDAAmD;AACnD,4FAA4F;AAC5F;;;;MAIG;AACH,6DAA2C;AAE3C,0EAA0E;AAC1E,+BAA+B;AAC/B,8BAA8B;AAC9B,kEAAkE;AAClE,4BAA4B;AAE5B,iHAAiH;AACjH,wEAGqD;AAFpD,2GAAA,eAAe,OAAA;AACf,4HAAA,gCAAgC,OAAA;AAwBjC,wEAOqD;AANpD,kHAAA,sBAAsB,OAAA;AACtB,0GAAA,cAAc,OAAA;AACd,4GAAA,gBAAgB,OAAA;AASjB,4DAIuC;AAEvC;;;;;;;;;GASG;AACU,QAAA,UAAU,GAA4B,qBAAkB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,oBAAoB,CACnC,OAA0B;IAE1B,OAAO,IAAA,+BAA4B,EAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAmBD,yDAA0E;AAAjE,2GAAA,eAAe,OAAA;AAAE,qGAAA,SAAS,OAAA;AA4BnC,8DAAiE;AAAxD,wGAAA,YAAY,OAAA;AAcrB,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 { getPresence, getPresenceAlpha } from \"@fluidframework/fluid-static/internal\";\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\tITelemetryBaseEvent,\n\tITelemetryBaseLogger,\n\tITelemetryBaseProperties,\n\tIEventTransformer,\n\tIProvideFluidLoadable,\n\tIFluidHandleErased,\n\tLogLevel,\n\tLogLevelConst,\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 {\n\tErasedBaseType,\n\tFluidIterable,\n\tFluidIterableIterator,\n\tFluidMap,\n\tFluidReadonlyArray,\n\tFluidReadonlyMap,\n} from \"@fluidframework/core-interfaces/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\n// These are alpha APIs, but this package doesn't have an alpha entry point so they are imported from \"internal\".\nexport {\n\tdefineDataStore,\n\tsharedObjectRegistryFromIterable,\n} from \"@fluidframework/shared-object-base/internal\";\nexport type {\n\tDataStoreOptions,\n\tSharedObjectCreator,\n\tSharedObjectRegistry,\n\tSharedObjectKey,\n\tSharedObjectKindAlpha,\n\tDataStoreContext,\n} from \"@fluidframework/shared-object-base/internal\";\nexport type {\n\tDataStoreCreator,\n\tDataStoreKey,\n\tDataStoreKind,\n\tDataStoreRegistry,\n\tFluidContainer,\n\tFluidContainerAttached,\n\tFluidContainerWithService,\n\tOldestSupportedServiceClientVersion,\n\tRegistry,\n\tRegistryKey,\n\tServiceClient,\n\tServiceOptions,\n} from \"@fluidframework/driver-definitions/internal\";\nexport {\n\tcreateBasicRegistryKey,\n\tfeatureVersion,\n\tlookupInRegistry,\n\t// Due to this currently referencing several existing public types we do not want to stabilize as reexports from here,\n\t// do not reexport getContainerAudience for now.\n\t// getContainerAudience,\n} from \"@fluidframework/driver-definitions/internal\";\n\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport type { SharedObjectKindAlpha } from \"@fluidframework/shared-object-base/internal\";\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 `@legacy` 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 therefore 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(\n\toptions: SharedTreeOptions,\n): SharedObjectKindAlpha<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\tISharedObjectKind,\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
package/lib/alpha.d.ts
CHANGED
package/lib/beta.d.ts
CHANGED
package/lib/index.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export type { DataStoreOptions, SharedObjectCreator, SharedObjectRegistry, Share
|
|
|
27
27
|
export type { DataStoreCreator, DataStoreKey, DataStoreKind, DataStoreRegistry, FluidContainer, FluidContainerAttached, FluidContainerWithService, OldestSupportedServiceClientVersion, Registry, RegistryKey, ServiceClient, ServiceOptions, } from "@fluidframework/driver-definitions/internal";
|
|
28
28
|
export { createBasicRegistryKey, featureVersion, lookupInRegistry, } from "@fluidframework/driver-definitions/internal";
|
|
29
29
|
import type { SharedObjectKind } from "@fluidframework/shared-object-base";
|
|
30
|
+
import type { SharedObjectKindAlpha } from "@fluidframework/shared-object-base/internal";
|
|
30
31
|
import type { ITree } from "@fluidframework/tree";
|
|
31
32
|
import { type SharedTreeOptions } from "@fluidframework/tree/internal";
|
|
32
33
|
/**
|
|
@@ -65,7 +66,7 @@ export declare const SharedTree: SharedObjectKind<ITree>;
|
|
|
65
66
|
* ```
|
|
66
67
|
* @alpha
|
|
67
68
|
*/
|
|
68
|
-
export declare function configuredSharedTree(options: SharedTreeOptions):
|
|
69
|
+
export declare function configuredSharedTree(options: SharedTreeOptions): SharedObjectKindAlpha<ITree>;
|
|
69
70
|
export type { IDirectory, IDirectoryEvents, IDirectoryValueChanged, ISharedDirectory, ISharedDirectoryEvents, ISharedMap, ISharedMapEvents, IValueChanged, } from "@fluidframework/map/internal";
|
|
70
71
|
export { SharedDirectory, SharedMap } from "@fluidframework/map/internal";
|
|
71
72
|
export type { DeserializeCallback, InteriorSequencePlace, IInterval, IntervalStickiness, ISequenceDeltaRange, ISerializedInterval, ISharedSegmentSequenceEvents, ISharedString, SequencePlace, SharedStringSegment, Side, ISharedSegmentSequence, ISequenceIntervalCollection, ISequenceIntervalCollectionEvents, SequenceIntervalIndex, } from "@fluidframework/sequence/internal";
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAMH,YAAY,EACX,eAAe,IAAI,mBAAmB,EAAE,0CAA0C;AAClF,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,GACN,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACtF,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EACX,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,EACN,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,8BAA8B,EAC9B,MAAM,EACN,4BAA4B,EAC5B,WAAW,EAAE,wBAAwB;AACrC,uBAAuB,EAAE,sBAAsB;AAE/C,SAAS,EACT,UAAU,EACV,UAAU,EACV,GAAG,GAEH,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACX,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AASnE,cAAc,4BAA4B,CAAC;AAS3C,OAAO,EACN,eAAe,EACf,gCAAgC,GAChC,MAAM,6CAA6C,CAAC;AACrD,YAAY,EACX,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,GAChB,MAAM,6CAA6C,CAAC;AACrD,YAAY,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EACzB,mCAAmC,EACnC,QAAQ,EACR,WAAW,EACX,aAAa,EACb,cAAc,GACd,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACN,sBAAsB,EACtB,cAAc,EACd,gBAAgB,GAIhB,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAGN,KAAK,iBAAiB,EACtB,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAsB,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
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;AAcnE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAyCtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAIzE,mDAAmD;AACnD,4FAA4F;AAC5F;;;;MAIG;AACH,cAAc,4BAA4B,CAAC;AAE3C,0EAA0E;AAC1E,+BAA+B;AAC/B,8BAA8B;AAC9B,kEAAkE;AAClE,4BAA4B;AAE5B,iHAAiH;AACjH,OAAO,EACN,eAAe,EACf,gCAAgC,GAChC,MAAM,6CAA6C,CAAC;AAuBrD,OAAO,EACN,sBAAsB,EACtB,cAAc,EACd,gBAAgB;AAChB,sHAAsH;AACtH,gDAAgD;AAChD,wBAAwB;EACxB,MAAM,6CAA6C,CAAC;
|
|
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;AAcnE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAyCtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAIzE,mDAAmD;AACnD,4FAA4F;AAC5F;;;;MAIG;AACH,cAAc,4BAA4B,CAAC;AAE3C,0EAA0E;AAC1E,+BAA+B;AAC/B,8BAA8B;AAC9B,kEAAkE;AAClE,4BAA4B;AAE5B,iHAAiH;AACjH,OAAO,EACN,eAAe,EACf,gCAAgC,GAChC,MAAM,6CAA6C,CAAC;AAuBrD,OAAO,EACN,sBAAsB,EACtB,cAAc,EACd,gBAAgB;AAChB,sHAAsH;AACtH,gDAAgD;AAChD,wBAAwB;EACxB,MAAM,6CAA6C,CAAC;AAKrD,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,CACnC,OAA0B;IAE1B,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;AAcjE,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 { getPresence, getPresenceAlpha } from \"@fluidframework/fluid-static/internal\";\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\tITelemetryBaseEvent,\n\tITelemetryBaseLogger,\n\tITelemetryBaseProperties,\n\tIEventTransformer,\n\tIProvideFluidLoadable,\n\tIFluidHandleErased,\n\tLogLevel,\n\tLogLevelConst,\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 {\n\tErasedBaseType,\n\tFluidIterable,\n\tFluidIterableIterator,\n\tFluidMap,\n\tFluidReadonlyArray,\n\tFluidReadonlyMap,\n} from \"@fluidframework/core-interfaces/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\n// These are alpha APIs, but this package doesn't have an alpha entry point so they are imported from \"internal\".\nexport {\n\tdefineDataStore,\n\tsharedObjectRegistryFromIterable,\n} from \"@fluidframework/shared-object-base/internal\";\nexport type {\n\tDataStoreOptions,\n\tSharedObjectCreator,\n\tSharedObjectRegistry,\n\tSharedObjectKey,\n\tSharedObjectKindAlpha,\n\tDataStoreContext,\n} from \"@fluidframework/shared-object-base/internal\";\nexport type {\n\tDataStoreCreator,\n\tDataStoreKey,\n\tDataStoreKind,\n\tDataStoreRegistry,\n\tFluidContainer,\n\tFluidContainerAttached,\n\tFluidContainerWithService,\n\tOldestSupportedServiceClientVersion,\n\tRegistry,\n\tRegistryKey,\n\tServiceClient,\n\tServiceOptions,\n} from \"@fluidframework/driver-definitions/internal\";\nexport {\n\tcreateBasicRegistryKey,\n\tfeatureVersion,\n\tlookupInRegistry,\n\t// Due to this currently referencing several existing public types we do not want to stabilize as reexports from here,\n\t// do not reexport getContainerAudience for now.\n\t// getContainerAudience,\n} from \"@fluidframework/driver-definitions/internal\";\n\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport type { SharedObjectKindAlpha } from \"@fluidframework/shared-object-base/internal\";\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 `@legacy` 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 therefore 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(\n\toptions: SharedTreeOptions,\n): SharedObjectKindAlpha<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\tISharedObjectKind,\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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fluid-framework",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "The main entry point into Fluid Framework public packages",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -43,17 +43,17 @@
|
|
|
43
43
|
}
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@fluidframework/container-definitions": "~3.0
|
|
47
|
-
"@fluidframework/container-loader": "~3.0
|
|
48
|
-
"@fluidframework/core-interfaces": "~3.0
|
|
49
|
-
"@fluidframework/core-utils": "~3.0
|
|
50
|
-
"@fluidframework/driver-definitions": "~3.0
|
|
51
|
-
"@fluidframework/fluid-static": "~3.0
|
|
52
|
-
"@fluidframework/map": "~3.0
|
|
53
|
-
"@fluidframework/runtime-utils": "~3.0
|
|
54
|
-
"@fluidframework/sequence": "~3.0
|
|
55
|
-
"@fluidframework/shared-object-base": "~3.0
|
|
56
|
-
"@fluidframework/tree": "~3.0
|
|
46
|
+
"@fluidframework/container-definitions": "~3.2.0",
|
|
47
|
+
"@fluidframework/container-loader": "~3.2.0",
|
|
48
|
+
"@fluidframework/core-interfaces": "~3.2.0",
|
|
49
|
+
"@fluidframework/core-utils": "~3.2.0",
|
|
50
|
+
"@fluidframework/driver-definitions": "~3.2.0",
|
|
51
|
+
"@fluidframework/fluid-static": "~3.2.0",
|
|
52
|
+
"@fluidframework/map": "~3.2.0",
|
|
53
|
+
"@fluidframework/runtime-utils": "~3.2.0",
|
|
54
|
+
"@fluidframework/sequence": "~3.2.0",
|
|
55
|
+
"@fluidframework/shared-object-base": "~3.2.0",
|
|
56
|
+
"@fluidframework/tree": "~3.2.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@arethetypeswrong/cli": "^0.18.5",
|
|
@@ -67,21 +67,14 @@
|
|
|
67
67
|
"concurrently": "^10.0.3",
|
|
68
68
|
"copyfiles": "^2.4.1",
|
|
69
69
|
"eslint": "~9.39.1",
|
|
70
|
-
"fluid-framework-previous": "npm:fluid-framework@
|
|
70
|
+
"fluid-framework-previous": "npm:fluid-framework@3.1.0",
|
|
71
71
|
"jiti": "^2.6.1",
|
|
72
72
|
"rimraf": "^6.1.3",
|
|
73
73
|
"typescript": "~6.0.3"
|
|
74
74
|
},
|
|
75
75
|
"typeValidation": {
|
|
76
76
|
"entrypoint": "public",
|
|
77
|
-
"broken": {
|
|
78
|
-
"Interface_LogLevelConst": {
|
|
79
|
-
"backCompat": false
|
|
80
|
-
},
|
|
81
|
-
"Variable_LogLevel": {
|
|
82
|
-
"backCompat": false
|
|
83
|
-
}
|
|
84
|
-
}
|
|
77
|
+
"broken": {}
|
|
85
78
|
},
|
|
86
79
|
"scripts": {
|
|
87
80
|
"build": "fluid-build . --task build",
|
package/src/index.ts
CHANGED
|
@@ -130,6 +130,7 @@ export {
|
|
|
130
130
|
} from "@fluidframework/driver-definitions/internal";
|
|
131
131
|
|
|
132
132
|
import type { SharedObjectKind } from "@fluidframework/shared-object-base";
|
|
133
|
+
import type { SharedObjectKindAlpha } from "@fluidframework/shared-object-base/internal";
|
|
133
134
|
import type { ITree } from "@fluidframework/tree";
|
|
134
135
|
import {
|
|
135
136
|
SharedTree as OriginalSharedTree,
|
|
@@ -174,7 +175,9 @@ export const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;
|
|
|
174
175
|
* ```
|
|
175
176
|
* @alpha
|
|
176
177
|
*/
|
|
177
|
-
export function configuredSharedTree(
|
|
178
|
+
export function configuredSharedTree(
|
|
179
|
+
options: SharedTreeOptions,
|
|
180
|
+
): SharedObjectKindAlpha<ITree> {
|
|
178
181
|
return originalConfiguredSharedTree(options);
|
|
179
182
|
}
|
|
180
183
|
|