fluid-framework 2.110.0 → 2.111.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 +48 -0
- package/api-report/fluid-framework.alpha.api.md +48 -31
- package/api-report/fluid-framework.beta.api.md +38 -0
- package/api-report/fluid-framework.legacy.beta.api.md +38 -0
- package/dist/alpha.d.ts +12 -8
- package/dist/beta.d.ts +8 -0
- package/dist/legacy.d.ts +8 -0
- package/lib/alpha.d.ts +12 -8
- package/lib/beta.d.ts +8 -0
- package/lib/legacy.d.ts +8 -0
- package/package.json +14 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,53 @@
|
|
|
1
1
|
# fluid-framework
|
|
2
2
|
|
|
3
|
+
## 2.111.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Add an opt-in postProcessor option when running a transaction ([#27610](https://github.com/microsoft/FluidFramework/pull/27610)) [ee981100f3f](https://github.com/microsoft/FluidFramework/commit/ee981100f3fa5fb9b5ea26b9ef62efa7e0691b69)
|
|
8
|
+
|
|
9
|
+
`RunTransactionParams` now accepts an optional `postProcessor` (used by `runTransaction` and `runTransactionAsync`). When supplied, the edits made during the transaction are post-processed when the transaction is committed, transforming the resulting squashed change. For example, post-processing could be used to "minimize" the change so that it contains no extraneous information. Such extraneous information includes data for nodes that were both created and removed within the transaction, or changes whose effects cancel out to nothing.
|
|
10
|
+
|
|
11
|
+
`postProcessor` is a type-erased handle (`TransactionPostProcessor`) whose concrete representation is an implementation detail of `@fluidframework/tree`. It is opt-in: when it is omitted the existing behavior is preserved.
|
|
12
|
+
|
|
13
|
+
Note: minimization is the first intended implementation and use of post-processing, but it is not yet available.
|
|
14
|
+
|
|
15
|
+
- TreeView transaction APIs have been promoted to beta ([#27592](https://github.com/microsoft/FluidFramework/pull/27592)) [1ed11dbeddd](https://github.com/microsoft/FluidFramework/commit/1ed11dbeddd98fd0b788aad6f74b6d480249ce28)
|
|
16
|
+
|
|
17
|
+
The [TreeViewBeta](https://fluidframework.com/docs/api/fluid-framework/treeviewbeta-interface) interface exposes `runTransaction` and `runTransactionAsync` methods.
|
|
18
|
+
|
|
19
|
+
The [asBeta](https://fluidframework.com/docs/api/fluid-framework/#asbeta-function) helper function can be used to down-cast a `TreeView` to a `TreeViewBeta`.
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
import { asBeta } from "fluid-framework/beta";
|
|
23
|
+
// ...
|
|
24
|
+
const view = asBeta(tree.viewWith(config));
|
|
25
|
+
const result = view.runTransaction(() => {
|
|
26
|
+
// ... make edits to the tree ...
|
|
27
|
+
});
|
|
28
|
+
if (result.success === false) {
|
|
29
|
+
// ... handle the failed transaction ...
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
> [!IMPORTANT]
|
|
34
|
+
> Transaction constraints are not yet available as a part of the beta transaction APIs.
|
|
35
|
+
> These capabilities can still be accessed via the updated alpha APIs.
|
|
36
|
+
|
|
37
|
+
**Type Name Changes**
|
|
38
|
+
|
|
39
|
+
With the introduction of new beta types, existing alpha types have been replaced with new alpha and beta variants.
|
|
40
|
+
|
|
41
|
+
| Old | New Alpha | New Beta |
|
|
42
|
+
| ------------------------------- | ------------------------------------ | ----------------------------------- |
|
|
43
|
+
| `RunTransactionParams` | `RunTransactionParamsAlpha` | `RunTransactionParamsBeta` |
|
|
44
|
+
| `TransactionCallbackStatus` | `TransactionCallbackStatusAlpha` | `TransactionCallbackStatusBeta` |
|
|
45
|
+
| `VoidTransactionCallbackStatus` | `VoidTransactionCallbackStatusAlpha` | `VoidTransactionCallbackStatusBeta` |
|
|
46
|
+
|
|
47
|
+
**Other Renames**
|
|
48
|
+
- `TransactionResult` (alpha) -> `TransactionVoidResult` (beta)
|
|
49
|
+
- `TransactionResultExt` (alpha) -> `TransactionValueResult` (beta)
|
|
50
|
+
|
|
3
51
|
## 2.110.0
|
|
4
52
|
|
|
5
53
|
### Minor Changes
|
|
@@ -1486,11 +1486,16 @@ export interface RunTransaction {
|
|
|
1486
1486
|
}
|
|
1487
1487
|
|
|
1488
1488
|
// @alpha @input
|
|
1489
|
-
export interface
|
|
1490
|
-
readonly
|
|
1489
|
+
export interface RunTransactionParamsAlpha extends RunTransactionParamsBeta {
|
|
1490
|
+
readonly postProcessor?: TransactionPostProcessor;
|
|
1491
1491
|
readonly preconditions?: readonly TransactionConstraintAlpha[];
|
|
1492
1492
|
}
|
|
1493
1493
|
|
|
1494
|
+
// @beta @input
|
|
1495
|
+
export interface RunTransactionParamsBeta {
|
|
1496
|
+
readonly label?: unknown;
|
|
1497
|
+
}
|
|
1498
|
+
|
|
1494
1499
|
// @public @sealed
|
|
1495
1500
|
export interface SchemaCompatibilityStatus {
|
|
1496
1501
|
readonly canInitialize: boolean;
|
|
@@ -2063,15 +2068,18 @@ export namespace TextAsTree {
|
|
|
2063
2068
|
// @alpha
|
|
2064
2069
|
export function trackDirtyNodes(view: TreeViewAlpha<ImplicitFieldSchema>, dirty: DirtyTreeMap): () => void;
|
|
2065
2070
|
|
|
2066
|
-
// @alpha
|
|
2067
|
-
export type
|
|
2068
|
-
|
|
2069
|
-
}) | (WithValue<TFailureValue> & {
|
|
2070
|
-
rollback: true;
|
|
2071
|
-
})) & {
|
|
2072
|
-
preconditionsOnRevert?: readonly TransactionConstraintAlpha[];
|
|
2071
|
+
// @alpha @input
|
|
2072
|
+
export type TransactionCallbackStatusAlpha<TSuccessValue, TFailureValue> = TransactionCallbackStatusBeta<TSuccessValue, TFailureValue> & {
|
|
2073
|
+
readonly preconditionsOnRevert?: readonly TransactionConstraintAlpha[];
|
|
2073
2074
|
};
|
|
2074
2075
|
|
|
2076
|
+
// @beta @input
|
|
2077
|
+
export type TransactionCallbackStatusBeta<TSuccessValue, TFailureValue> = (WithValue<TSuccessValue> & {
|
|
2078
|
+
readonly rollback?: false;
|
|
2079
|
+
}) | (WithValue<TFailureValue> & {
|
|
2080
|
+
readonly rollback: true;
|
|
2081
|
+
});
|
|
2082
|
+
|
|
2075
2083
|
// @public
|
|
2076
2084
|
export type TransactionConstraint = NodeInDocumentConstraint;
|
|
2077
2085
|
|
|
@@ -2083,22 +2091,26 @@ export type TransactionLabels = Set<unknown> & {
|
|
|
2083
2091
|
tree?: LabelTree;
|
|
2084
2092
|
};
|
|
2085
2093
|
|
|
2086
|
-
// @alpha
|
|
2087
|
-
export
|
|
2088
|
-
|
|
2089
|
-
// @alpha
|
|
2090
|
-
export type TransactionResultExt<TSuccessValue, TFailureValue> = TransactionResultSuccess<TSuccessValue> | TransactionResultFailed<TFailureValue>;
|
|
2094
|
+
// @alpha @sealed @system
|
|
2095
|
+
export interface TransactionPostProcessor extends ErasedType<"@fluidframework/tree.TransactionPostProcessor"> {
|
|
2096
|
+
}
|
|
2091
2097
|
|
|
2092
|
-
// @
|
|
2098
|
+
// @beta @sealed
|
|
2093
2099
|
export interface TransactionResultFailed<TFailureValue> extends WithValue<TFailureValue> {
|
|
2094
|
-
success: false;
|
|
2100
|
+
readonly success: false;
|
|
2095
2101
|
}
|
|
2096
2102
|
|
|
2097
|
-
// @
|
|
2103
|
+
// @beta @sealed
|
|
2098
2104
|
export interface TransactionResultSuccess<TSuccessValue> extends WithValue<TSuccessValue> {
|
|
2099
|
-
success: true;
|
|
2105
|
+
readonly success: true;
|
|
2100
2106
|
}
|
|
2101
2107
|
|
|
2108
|
+
// @beta @sealed
|
|
2109
|
+
export type TransactionValueResult<TSuccessValue, TFailureValue> = TransactionResultSuccess<TSuccessValue> | TransactionResultFailed<TFailureValue>;
|
|
2110
|
+
|
|
2111
|
+
// @beta @sealed
|
|
2112
|
+
export type TransactionVoidResult = Omit<TransactionResultSuccess<unknown>, "value"> | Omit<TransactionResultFailed<unknown>, "value">;
|
|
2113
|
+
|
|
2102
2114
|
// @public
|
|
2103
2115
|
export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void) => TThis;
|
|
2104
2116
|
|
|
@@ -2203,10 +2215,10 @@ export interface TreeBranchAlpha extends TreeBranch, TreeContextAlpha {
|
|
|
2203
2215
|
fork(): TreeBranchAlpha;
|
|
2204
2216
|
hasRootSchema<TSchema extends ImplicitFieldSchema>(schema: TSchema): this is TreeViewAlpha<TSchema>;
|
|
2205
2217
|
isMissingEditsFrom(branch: TreeBranch): boolean;
|
|
2206
|
-
runTransaction<TSuccessValue, TFailureValue>(transaction: () =>
|
|
2207
|
-
runTransaction(transaction: () =>
|
|
2208
|
-
runTransactionAsync<TSuccessValue, TFailureValue>(transaction: () => Promise<
|
|
2209
|
-
runTransactionAsync(transaction: () => Promise<
|
|
2218
|
+
runTransaction<TSuccessValue, TFailureValue>(transaction: () => TransactionCallbackStatusAlpha<TSuccessValue, TFailureValue>, params?: RunTransactionParamsAlpha): TransactionValueResult<TSuccessValue, TFailureValue>;
|
|
2219
|
+
runTransaction(transaction: () => VoidTransactionCallbackStatusAlpha | void, params?: RunTransactionParamsAlpha): TransactionVoidResult;
|
|
2220
|
+
runTransactionAsync<TSuccessValue, TFailureValue>(transaction: () => Promise<TransactionCallbackStatusAlpha<TSuccessValue, TFailureValue>>, params?: RunTransactionParamsAlpha): Promise<TransactionValueResult<TSuccessValue, TFailureValue>>;
|
|
2221
|
+
runTransactionAsync(transaction: () => Promise<VoidTransactionCallbackStatusAlpha | void>, params?: RunTransactionParamsAlpha): Promise<TransactionVoidResult>;
|
|
2210
2222
|
}
|
|
2211
2223
|
|
|
2212
2224
|
// @alpha @sealed
|
|
@@ -2241,10 +2253,10 @@ export enum TreeCompressionStrategy {
|
|
|
2241
2253
|
// @alpha
|
|
2242
2254
|
export interface TreeContextAlpha {
|
|
2243
2255
|
isBranch(): this is TreeBranchAlpha;
|
|
2244
|
-
runTransaction<TValue>(transaction: () => WithValue<TValue>, params?:
|
|
2245
|
-
runTransaction(transaction: () => void, params?:
|
|
2246
|
-
runTransactionAsync<TValue>(transaction: () => Promise<WithValue<TValue>>, params?:
|
|
2247
|
-
runTransactionAsync(transaction: () => Promise<void>, params?:
|
|
2256
|
+
runTransaction<TValue>(transaction: () => WithValue<TValue>, params?: RunTransactionParamsAlpha): TransactionValueResult<TValue, TValue>;
|
|
2257
|
+
runTransaction(transaction: () => void, params?: RunTransactionParamsAlpha): TransactionVoidResult;
|
|
2258
|
+
runTransactionAsync<TValue>(transaction: () => Promise<WithValue<TValue>>, params?: RunTransactionParamsAlpha): Promise<TransactionValueResult<TValue, TValue>>;
|
|
2259
|
+
runTransactionAsync(transaction: () => Promise<void>, params?: RunTransactionParamsAlpha): Promise<TransactionVoidResult>;
|
|
2248
2260
|
}
|
|
2249
2261
|
|
|
2250
2262
|
// @beta @input
|
|
@@ -2398,7 +2410,7 @@ export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends ID
|
|
|
2398
2410
|
}
|
|
2399
2411
|
|
|
2400
2412
|
// @alpha @sealed
|
|
2401
|
-
export interface TreeViewAlpha<in out TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema> extends Omit<TreeViewBeta<ReadSchema<TSchema>>, "root" | "initialize" | "fork">, TreeBranchAlpha {
|
|
2413
|
+
export interface TreeViewAlpha<in out TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema> extends Omit<TreeViewBeta<ReadSchema<TSchema>>, "root" | "initialize" | "fork" | "runTransaction" | "runTransactionAsync">, TreeBranchAlpha {
|
|
2402
2414
|
// (undocumented)
|
|
2403
2415
|
readonly events: Listenable<TreeViewEvents & TreeBranchEvents>;
|
|
2404
2416
|
// (undocumented)
|
|
@@ -2414,6 +2426,8 @@ export interface TreeViewAlpha<in out TSchema extends ImplicitFieldSchema | Unsa
|
|
|
2414
2426
|
export interface TreeViewBeta<in out TSchema extends ImplicitFieldSchema> extends TreeView<TSchema>, TreeBranch {
|
|
2415
2427
|
// (undocumented)
|
|
2416
2428
|
fork(): ReturnType<TreeBranch["fork"]> & TreeViewBeta<TSchema>;
|
|
2429
|
+
runTransaction<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => TOut, params?: RunTransactionParamsBeta): TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult;
|
|
2430
|
+
runTransactionAsync<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => Promise<TOut>, params?: RunTransactionParamsBeta): Promise<TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult>;
|
|
2417
2431
|
}
|
|
2418
2432
|
|
|
2419
2433
|
// @public @sealed
|
|
@@ -2538,8 +2552,11 @@ export interface ViewContent {
|
|
|
2538
2552
|
readonly tree: JsonCompatible<IFluidHandle>;
|
|
2539
2553
|
}
|
|
2540
2554
|
|
|
2541
|
-
// @alpha
|
|
2542
|
-
export type
|
|
2555
|
+
// @alpha @input
|
|
2556
|
+
export type VoidTransactionCallbackStatusAlpha = Omit<TransactionCallbackStatusAlpha<unknown, unknown>, "value">;
|
|
2557
|
+
|
|
2558
|
+
// @beta @input
|
|
2559
|
+
export type VoidTransactionCallbackStatusBeta = Omit<TransactionCallbackStatusBeta<unknown, unknown>, "value">;
|
|
2543
2560
|
|
|
2544
2561
|
// @public @sealed
|
|
2545
2562
|
export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
|
|
@@ -2548,9 +2565,9 @@ export interface WithType<out TName extends string = string, out TKind extends N
|
|
|
2548
2565
|
get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode, never, boolean, TInfo>;
|
|
2549
2566
|
}
|
|
2550
2567
|
|
|
2551
|
-
// @
|
|
2568
|
+
// @beta @input
|
|
2552
2569
|
export interface WithValue<TValue> {
|
|
2553
|
-
value: TValue;
|
|
2570
|
+
readonly value: TValue;
|
|
2554
2571
|
}
|
|
2555
2572
|
|
|
2556
2573
|
```
|
|
@@ -907,6 +907,11 @@ export interface RunTransaction {
|
|
|
907
907
|
readonly rollback: typeof rollback;
|
|
908
908
|
}
|
|
909
909
|
|
|
910
|
+
// @beta @input
|
|
911
|
+
export interface RunTransactionParamsBeta {
|
|
912
|
+
readonly label?: unknown;
|
|
913
|
+
}
|
|
914
|
+
|
|
910
915
|
// @public @sealed
|
|
911
916
|
export interface SchemaCompatibilityStatus {
|
|
912
917
|
readonly canInitialize: boolean;
|
|
@@ -1301,9 +1306,32 @@ export interface Tagged<V, T extends string = string> {
|
|
|
1301
1306
|
// @public
|
|
1302
1307
|
export type TelemetryBaseEventPropertyType = string | number | boolean | undefined;
|
|
1303
1308
|
|
|
1309
|
+
// @beta @input
|
|
1310
|
+
export type TransactionCallbackStatusBeta<TSuccessValue, TFailureValue> = (WithValue<TSuccessValue> & {
|
|
1311
|
+
readonly rollback?: false;
|
|
1312
|
+
}) | (WithValue<TFailureValue> & {
|
|
1313
|
+
readonly rollback: true;
|
|
1314
|
+
});
|
|
1315
|
+
|
|
1304
1316
|
// @public
|
|
1305
1317
|
export type TransactionConstraint = NodeInDocumentConstraint;
|
|
1306
1318
|
|
|
1319
|
+
// @beta @sealed
|
|
1320
|
+
export interface TransactionResultFailed<TFailureValue> extends WithValue<TFailureValue> {
|
|
1321
|
+
readonly success: false;
|
|
1322
|
+
}
|
|
1323
|
+
|
|
1324
|
+
// @beta @sealed
|
|
1325
|
+
export interface TransactionResultSuccess<TSuccessValue> extends WithValue<TSuccessValue> {
|
|
1326
|
+
readonly success: true;
|
|
1327
|
+
}
|
|
1328
|
+
|
|
1329
|
+
// @beta @sealed
|
|
1330
|
+
export type TransactionValueResult<TSuccessValue, TFailureValue> = TransactionResultSuccess<TSuccessValue> | TransactionResultFailed<TFailureValue>;
|
|
1331
|
+
|
|
1332
|
+
// @beta @sealed
|
|
1333
|
+
export type TransactionVoidResult = Omit<TransactionResultSuccess<unknown>, "value"> | Omit<TransactionResultFailed<unknown>, "value">;
|
|
1334
|
+
|
|
1307
1335
|
// @public
|
|
1308
1336
|
export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void) => TThis;
|
|
1309
1337
|
|
|
@@ -1503,6 +1531,8 @@ export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends ID
|
|
|
1503
1531
|
export interface TreeViewBeta<in out TSchema extends ImplicitFieldSchema> extends TreeView<TSchema>, TreeBranch {
|
|
1504
1532
|
// (undocumented)
|
|
1505
1533
|
fork(): ReturnType<TreeBranch["fork"]> & TreeViewBeta<TSchema>;
|
|
1534
|
+
runTransaction<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => TOut, params?: RunTransactionParamsBeta): TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult;
|
|
1535
|
+
runTransactionAsync<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => Promise<TOut>, params?: RunTransactionParamsBeta): Promise<TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult>;
|
|
1506
1536
|
}
|
|
1507
1537
|
|
|
1508
1538
|
// @public @sealed
|
|
@@ -1580,6 +1610,9 @@ export interface ViewableTree {
|
|
|
1580
1610
|
viewWith<TRoot extends ImplicitFieldSchema>(config: TreeViewConfiguration<TRoot>): TreeView<TRoot>;
|
|
1581
1611
|
}
|
|
1582
1612
|
|
|
1613
|
+
// @beta @input
|
|
1614
|
+
export type VoidTransactionCallbackStatusBeta = Omit<TransactionCallbackStatusBeta<unknown, unknown>, "value">;
|
|
1615
|
+
|
|
1583
1616
|
// @public @sealed
|
|
1584
1617
|
export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
|
|
1585
1618
|
// @deprecated
|
|
@@ -1587,4 +1620,9 @@ export interface WithType<out TName extends string = string, out TKind extends N
|
|
|
1587
1620
|
get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode, never, boolean, TInfo>;
|
|
1588
1621
|
}
|
|
1589
1622
|
|
|
1623
|
+
// @beta @input
|
|
1624
|
+
export interface WithValue<TValue> {
|
|
1625
|
+
readonly value: TValue;
|
|
1626
|
+
}
|
|
1627
|
+
|
|
1590
1628
|
```
|
|
@@ -1193,6 +1193,11 @@ export interface RunTransaction {
|
|
|
1193
1193
|
readonly rollback: typeof rollback;
|
|
1194
1194
|
}
|
|
1195
1195
|
|
|
1196
|
+
// @beta @input
|
|
1197
|
+
export interface RunTransactionParamsBeta {
|
|
1198
|
+
readonly label?: unknown;
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1196
1201
|
// @public @sealed
|
|
1197
1202
|
export interface SchemaCompatibilityStatus {
|
|
1198
1203
|
readonly canInitialize: boolean;
|
|
@@ -1667,9 +1672,32 @@ export interface Tagged<V, T extends string = string> {
|
|
|
1667
1672
|
// @public
|
|
1668
1673
|
export type TelemetryBaseEventPropertyType = string | number | boolean | undefined;
|
|
1669
1674
|
|
|
1675
|
+
// @beta @input
|
|
1676
|
+
export type TransactionCallbackStatusBeta<TSuccessValue, TFailureValue> = (WithValue<TSuccessValue> & {
|
|
1677
|
+
readonly rollback?: false;
|
|
1678
|
+
}) | (WithValue<TFailureValue> & {
|
|
1679
|
+
readonly rollback: true;
|
|
1680
|
+
});
|
|
1681
|
+
|
|
1670
1682
|
// @public
|
|
1671
1683
|
export type TransactionConstraint = NodeInDocumentConstraint;
|
|
1672
1684
|
|
|
1685
|
+
// @beta @sealed
|
|
1686
|
+
export interface TransactionResultFailed<TFailureValue> extends WithValue<TFailureValue> {
|
|
1687
|
+
readonly success: false;
|
|
1688
|
+
}
|
|
1689
|
+
|
|
1690
|
+
// @beta @sealed
|
|
1691
|
+
export interface TransactionResultSuccess<TSuccessValue> extends WithValue<TSuccessValue> {
|
|
1692
|
+
readonly success: true;
|
|
1693
|
+
}
|
|
1694
|
+
|
|
1695
|
+
// @beta @sealed
|
|
1696
|
+
export type TransactionValueResult<TSuccessValue, TFailureValue> = TransactionResultSuccess<TSuccessValue> | TransactionResultFailed<TFailureValue>;
|
|
1697
|
+
|
|
1698
|
+
// @beta @sealed
|
|
1699
|
+
export type TransactionVoidResult = Omit<TransactionResultSuccess<unknown>, "value"> | Omit<TransactionResultFailed<unknown>, "value">;
|
|
1700
|
+
|
|
1673
1701
|
// @public
|
|
1674
1702
|
export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void) => TThis;
|
|
1675
1703
|
|
|
@@ -1869,6 +1897,8 @@ export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends ID
|
|
|
1869
1897
|
export interface TreeViewBeta<in out TSchema extends ImplicitFieldSchema> extends TreeView<TSchema>, TreeBranch {
|
|
1870
1898
|
// (undocumented)
|
|
1871
1899
|
fork(): ReturnType<TreeBranch["fork"]> & TreeViewBeta<TSchema>;
|
|
1900
|
+
runTransaction<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => TOut, params?: RunTransactionParamsBeta): TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult;
|
|
1901
|
+
runTransactionAsync<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => Promise<TOut>, params?: RunTransactionParamsBeta): Promise<TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult>;
|
|
1872
1902
|
}
|
|
1873
1903
|
|
|
1874
1904
|
// @public @sealed
|
|
@@ -1946,6 +1976,9 @@ export interface ViewableTree {
|
|
|
1946
1976
|
viewWith<TRoot extends ImplicitFieldSchema>(config: TreeViewConfiguration<TRoot>): TreeView<TRoot>;
|
|
1947
1977
|
}
|
|
1948
1978
|
|
|
1979
|
+
// @beta @input
|
|
1980
|
+
export type VoidTransactionCallbackStatusBeta = Omit<TransactionCallbackStatusBeta<unknown, unknown>, "value">;
|
|
1981
|
+
|
|
1949
1982
|
// @public @sealed
|
|
1950
1983
|
export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
|
|
1951
1984
|
// @deprecated
|
|
@@ -1953,4 +1986,9 @@ export interface WithType<out TName extends string = string, out TKind extends N
|
|
|
1953
1986
|
get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode, never, boolean, TInfo>;
|
|
1954
1987
|
}
|
|
1955
1988
|
|
|
1989
|
+
// @beta @input
|
|
1990
|
+
export interface WithValue<TValue> {
|
|
1991
|
+
readonly value: TValue;
|
|
1992
|
+
}
|
|
1993
|
+
|
|
1956
1994
|
```
|
package/dist/alpha.d.ts
CHANGED
|
@@ -173,6 +173,7 @@ export {
|
|
|
173
173
|
ObjectSchemaOptions,
|
|
174
174
|
PopUnion,
|
|
175
175
|
RecordNodeInsertableData,
|
|
176
|
+
RunTransactionParamsBeta,
|
|
176
177
|
SchemaFactoryBeta,
|
|
177
178
|
SchemaStaticsBeta,
|
|
178
179
|
SchemaUpgrade,
|
|
@@ -181,6 +182,11 @@ export {
|
|
|
181
182
|
SnapshotSchemaCompatibilityOptions,
|
|
182
183
|
System_TableSchema,
|
|
183
184
|
TableSchema,
|
|
185
|
+
TransactionCallbackStatusBeta,
|
|
186
|
+
TransactionResultFailed,
|
|
187
|
+
TransactionResultSuccess,
|
|
188
|
+
TransactionValueResult,
|
|
189
|
+
TransactionVoidResult,
|
|
184
190
|
TreeBeta,
|
|
185
191
|
TreeBranch,
|
|
186
192
|
TreeChangeEventsBeta,
|
|
@@ -195,6 +201,8 @@ export {
|
|
|
195
201
|
UnannotateAllowedTypesList,
|
|
196
202
|
UnannotateAllowedTypesListUnsafe,
|
|
197
203
|
UnionToTuple,
|
|
204
|
+
VoidTransactionCallbackStatusBeta,
|
|
205
|
+
WithValue,
|
|
198
206
|
adaptEnum,
|
|
199
207
|
asBeta,
|
|
200
208
|
configuredSharedTreeBeta,
|
|
@@ -295,7 +303,7 @@ export {
|
|
|
295
303
|
RemoteChangeMetadata,
|
|
296
304
|
RevertibleAlpha,
|
|
297
305
|
RevertibleAlphaFactory,
|
|
298
|
-
|
|
306
|
+
RunTransactionParamsAlpha,
|
|
299
307
|
SchemaFactoryAlpha,
|
|
300
308
|
SchemaStaticsAlpha,
|
|
301
309
|
SchemaType,
|
|
@@ -313,13 +321,10 @@ export {
|
|
|
313
321
|
SimpleRecordNodeSchema,
|
|
314
322
|
SimpleTreeSchema,
|
|
315
323
|
TextAsTree,
|
|
316
|
-
|
|
324
|
+
TransactionCallbackStatusAlpha,
|
|
317
325
|
TransactionConstraintAlpha,
|
|
318
326
|
TransactionLabels,
|
|
319
|
-
|
|
320
|
-
TransactionResultExt,
|
|
321
|
-
TransactionResultFailed,
|
|
322
|
-
TransactionResultSuccess,
|
|
327
|
+
TransactionPostProcessor,
|
|
323
328
|
TreeAlpha,
|
|
324
329
|
TreeArrayNodeAlpha,
|
|
325
330
|
TreeBranchAlpha,
|
|
@@ -339,8 +344,7 @@ export {
|
|
|
339
344
|
VerboseTree,
|
|
340
345
|
VerboseTreeNode,
|
|
341
346
|
ViewContent,
|
|
342
|
-
|
|
343
|
-
WithValue,
|
|
347
|
+
VoidTransactionCallbackStatusAlpha,
|
|
344
348
|
allowUnused,
|
|
345
349
|
asAlpha,
|
|
346
350
|
asTreeViewAlpha,
|
package/dist/beta.d.ts
CHANGED
|
@@ -173,6 +173,7 @@ export {
|
|
|
173
173
|
ObjectSchemaOptions,
|
|
174
174
|
PopUnion,
|
|
175
175
|
RecordNodeInsertableData,
|
|
176
|
+
RunTransactionParamsBeta,
|
|
176
177
|
SchemaFactoryBeta,
|
|
177
178
|
SchemaStaticsBeta,
|
|
178
179
|
SchemaUpgrade,
|
|
@@ -181,6 +182,11 @@ export {
|
|
|
181
182
|
SnapshotSchemaCompatibilityOptions,
|
|
182
183
|
System_TableSchema,
|
|
183
184
|
TableSchema,
|
|
185
|
+
TransactionCallbackStatusBeta,
|
|
186
|
+
TransactionResultFailed,
|
|
187
|
+
TransactionResultSuccess,
|
|
188
|
+
TransactionValueResult,
|
|
189
|
+
TransactionVoidResult,
|
|
184
190
|
TreeBeta,
|
|
185
191
|
TreeBranch,
|
|
186
192
|
TreeChangeEventsBeta,
|
|
@@ -195,6 +201,8 @@ export {
|
|
|
195
201
|
UnannotateAllowedTypesList,
|
|
196
202
|
UnannotateAllowedTypesListUnsafe,
|
|
197
203
|
UnionToTuple,
|
|
204
|
+
VoidTransactionCallbackStatusBeta,
|
|
205
|
+
WithValue,
|
|
198
206
|
adaptEnum,
|
|
199
207
|
asBeta,
|
|
200
208
|
configuredSharedTreeBeta,
|
package/dist/legacy.d.ts
CHANGED
|
@@ -180,6 +180,7 @@ export {
|
|
|
180
180
|
ObjectSchemaOptions,
|
|
181
181
|
PopUnion,
|
|
182
182
|
RecordNodeInsertableData,
|
|
183
|
+
RunTransactionParamsBeta,
|
|
183
184
|
SchemaFactoryBeta,
|
|
184
185
|
SchemaStaticsBeta,
|
|
185
186
|
SchemaUpgrade,
|
|
@@ -188,6 +189,11 @@ export {
|
|
|
188
189
|
SnapshotSchemaCompatibilityOptions,
|
|
189
190
|
System_TableSchema,
|
|
190
191
|
TableSchema,
|
|
192
|
+
TransactionCallbackStatusBeta,
|
|
193
|
+
TransactionResultFailed,
|
|
194
|
+
TransactionResultSuccess,
|
|
195
|
+
TransactionValueResult,
|
|
196
|
+
TransactionVoidResult,
|
|
191
197
|
TreeBeta,
|
|
192
198
|
TreeBranch,
|
|
193
199
|
TreeChangeEventsBeta,
|
|
@@ -202,6 +208,8 @@ export {
|
|
|
202
208
|
UnannotateAllowedTypesList,
|
|
203
209
|
UnannotateAllowedTypesListUnsafe,
|
|
204
210
|
UnionToTuple,
|
|
211
|
+
VoidTransactionCallbackStatusBeta,
|
|
212
|
+
WithValue,
|
|
205
213
|
adaptEnum,
|
|
206
214
|
asBeta,
|
|
207
215
|
configuredSharedTreeBeta,
|
package/lib/alpha.d.ts
CHANGED
|
@@ -173,6 +173,7 @@ export {
|
|
|
173
173
|
ObjectSchemaOptions,
|
|
174
174
|
PopUnion,
|
|
175
175
|
RecordNodeInsertableData,
|
|
176
|
+
RunTransactionParamsBeta,
|
|
176
177
|
SchemaFactoryBeta,
|
|
177
178
|
SchemaStaticsBeta,
|
|
178
179
|
SchemaUpgrade,
|
|
@@ -181,6 +182,11 @@ export {
|
|
|
181
182
|
SnapshotSchemaCompatibilityOptions,
|
|
182
183
|
System_TableSchema,
|
|
183
184
|
TableSchema,
|
|
185
|
+
TransactionCallbackStatusBeta,
|
|
186
|
+
TransactionResultFailed,
|
|
187
|
+
TransactionResultSuccess,
|
|
188
|
+
TransactionValueResult,
|
|
189
|
+
TransactionVoidResult,
|
|
184
190
|
TreeBeta,
|
|
185
191
|
TreeBranch,
|
|
186
192
|
TreeChangeEventsBeta,
|
|
@@ -195,6 +201,8 @@ export {
|
|
|
195
201
|
UnannotateAllowedTypesList,
|
|
196
202
|
UnannotateAllowedTypesListUnsafe,
|
|
197
203
|
UnionToTuple,
|
|
204
|
+
VoidTransactionCallbackStatusBeta,
|
|
205
|
+
WithValue,
|
|
198
206
|
adaptEnum,
|
|
199
207
|
asBeta,
|
|
200
208
|
configuredSharedTreeBeta,
|
|
@@ -295,7 +303,7 @@ export {
|
|
|
295
303
|
RemoteChangeMetadata,
|
|
296
304
|
RevertibleAlpha,
|
|
297
305
|
RevertibleAlphaFactory,
|
|
298
|
-
|
|
306
|
+
RunTransactionParamsAlpha,
|
|
299
307
|
SchemaFactoryAlpha,
|
|
300
308
|
SchemaStaticsAlpha,
|
|
301
309
|
SchemaType,
|
|
@@ -313,13 +321,10 @@ export {
|
|
|
313
321
|
SimpleRecordNodeSchema,
|
|
314
322
|
SimpleTreeSchema,
|
|
315
323
|
TextAsTree,
|
|
316
|
-
|
|
324
|
+
TransactionCallbackStatusAlpha,
|
|
317
325
|
TransactionConstraintAlpha,
|
|
318
326
|
TransactionLabels,
|
|
319
|
-
|
|
320
|
-
TransactionResultExt,
|
|
321
|
-
TransactionResultFailed,
|
|
322
|
-
TransactionResultSuccess,
|
|
327
|
+
TransactionPostProcessor,
|
|
323
328
|
TreeAlpha,
|
|
324
329
|
TreeArrayNodeAlpha,
|
|
325
330
|
TreeBranchAlpha,
|
|
@@ -339,8 +344,7 @@ export {
|
|
|
339
344
|
VerboseTree,
|
|
340
345
|
VerboseTreeNode,
|
|
341
346
|
ViewContent,
|
|
342
|
-
|
|
343
|
-
WithValue,
|
|
347
|
+
VoidTransactionCallbackStatusAlpha,
|
|
344
348
|
allowUnused,
|
|
345
349
|
asAlpha,
|
|
346
350
|
asTreeViewAlpha,
|
package/lib/beta.d.ts
CHANGED
|
@@ -173,6 +173,7 @@ export {
|
|
|
173
173
|
ObjectSchemaOptions,
|
|
174
174
|
PopUnion,
|
|
175
175
|
RecordNodeInsertableData,
|
|
176
|
+
RunTransactionParamsBeta,
|
|
176
177
|
SchemaFactoryBeta,
|
|
177
178
|
SchemaStaticsBeta,
|
|
178
179
|
SchemaUpgrade,
|
|
@@ -181,6 +182,11 @@ export {
|
|
|
181
182
|
SnapshotSchemaCompatibilityOptions,
|
|
182
183
|
System_TableSchema,
|
|
183
184
|
TableSchema,
|
|
185
|
+
TransactionCallbackStatusBeta,
|
|
186
|
+
TransactionResultFailed,
|
|
187
|
+
TransactionResultSuccess,
|
|
188
|
+
TransactionValueResult,
|
|
189
|
+
TransactionVoidResult,
|
|
184
190
|
TreeBeta,
|
|
185
191
|
TreeBranch,
|
|
186
192
|
TreeChangeEventsBeta,
|
|
@@ -195,6 +201,8 @@ export {
|
|
|
195
201
|
UnannotateAllowedTypesList,
|
|
196
202
|
UnannotateAllowedTypesListUnsafe,
|
|
197
203
|
UnionToTuple,
|
|
204
|
+
VoidTransactionCallbackStatusBeta,
|
|
205
|
+
WithValue,
|
|
198
206
|
adaptEnum,
|
|
199
207
|
asBeta,
|
|
200
208
|
configuredSharedTreeBeta,
|
package/lib/legacy.d.ts
CHANGED
|
@@ -180,6 +180,7 @@ export {
|
|
|
180
180
|
ObjectSchemaOptions,
|
|
181
181
|
PopUnion,
|
|
182
182
|
RecordNodeInsertableData,
|
|
183
|
+
RunTransactionParamsBeta,
|
|
183
184
|
SchemaFactoryBeta,
|
|
184
185
|
SchemaStaticsBeta,
|
|
185
186
|
SchemaUpgrade,
|
|
@@ -188,6 +189,11 @@ export {
|
|
|
188
189
|
SnapshotSchemaCompatibilityOptions,
|
|
189
190
|
System_TableSchema,
|
|
190
191
|
TableSchema,
|
|
192
|
+
TransactionCallbackStatusBeta,
|
|
193
|
+
TransactionResultFailed,
|
|
194
|
+
TransactionResultSuccess,
|
|
195
|
+
TransactionValueResult,
|
|
196
|
+
TransactionVoidResult,
|
|
191
197
|
TreeBeta,
|
|
192
198
|
TreeBranch,
|
|
193
199
|
TreeChangeEventsBeta,
|
|
@@ -202,6 +208,8 @@ export {
|
|
|
202
208
|
UnannotateAllowedTypesList,
|
|
203
209
|
UnannotateAllowedTypesListUnsafe,
|
|
204
210
|
UnionToTuple,
|
|
211
|
+
VoidTransactionCallbackStatusBeta,
|
|
212
|
+
WithValue,
|
|
205
213
|
adaptEnum,
|
|
206
214
|
asBeta,
|
|
207
215
|
configuredSharedTreeBeta,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fluid-framework",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.111.0",
|
|
4
4
|
"description": "The main entry point into Fluid Framework public packages",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -57,17 +57,17 @@
|
|
|
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.111.0",
|
|
61
|
+
"@fluidframework/container-loader": "~2.111.0",
|
|
62
|
+
"@fluidframework/core-interfaces": "~2.111.0",
|
|
63
|
+
"@fluidframework/core-utils": "~2.111.0",
|
|
64
|
+
"@fluidframework/driver-definitions": "~2.111.0",
|
|
65
|
+
"@fluidframework/fluid-static": "~2.111.0",
|
|
66
|
+
"@fluidframework/map": "~2.111.0",
|
|
67
|
+
"@fluidframework/runtime-utils": "~2.111.0",
|
|
68
|
+
"@fluidframework/sequence": "~2.111.0",
|
|
69
|
+
"@fluidframework/shared-object-base": "~2.111.0",
|
|
70
|
+
"@fluidframework/tree": "~2.111.0"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
73
|
"@arethetypeswrong/cli": "^0.18.2",
|
|
@@ -78,10 +78,10 @@
|
|
|
78
78
|
"@fluidframework/eslint-config-fluid": "^13.0.0",
|
|
79
79
|
"@microsoft/api-extractor": "7.58.1",
|
|
80
80
|
"@types/node": "~22.19.17",
|
|
81
|
-
"concurrently": "^
|
|
81
|
+
"concurrently": "^10.0.3",
|
|
82
82
|
"copyfiles": "^2.4.1",
|
|
83
83
|
"eslint": "~9.39.1",
|
|
84
|
-
"fluid-framework-previous": "npm:fluid-framework@2.
|
|
84
|
+
"fluid-framework-previous": "npm:fluid-framework@2.110.0",
|
|
85
85
|
"jiti": "^2.6.1",
|
|
86
86
|
"rimraf": "^6.1.3",
|
|
87
87
|
"typescript": "~5.4.5"
|