mirror of
https://github.com/digital-asset/daml.git
synced 2024-11-10 00:35:25 +03:00
ebde049cc6
This follows up on #7066 and exposes the new underlying multi-key and multi-query stream functions through the React bindings. Following the same reasoning as in #7066, we therefore deprecate the existing functions (with no intention of removing them) as they become redundant. CHANGELOG_BEGIN * JavaScript Client Libraries: Updated React bindings to expose the recent addition of multi-key and multi-query streams in @daml/ledger. The singular versions are marked as deprecated as they have become redundant. The upgrade path for `useStreamQuery` is very straightforward: the query factory remains optional, but if specified it should return an array of queries instead of a single query. The array may be empty, which will return all contracts for that template (similar as not passing in a query factory). The return values of `useStreamQuery` and `useStreamQueries` are the same type. ``` useStreamQuery(T) --> useStreamQueries(T) useStreamQuery(T, () => query, ...) --> useStreamQueries(T, () => [query], ...) ``` The upgrade path for `useStreamFetchByKey` is only slightly more involved as the return type of `useStreamFetchByKeys` is a new type called `FetchByKeysResult` instead of the existing `FetchResult`. `FetchByKeysResult` differs from `FetchResult` in that it contains a `contracts` field with an array of contracts instead of a singular `contract` field. (It differs from `QueryResult` in that each element of the returned array can also be `null`, if there is no corresponding active contract.) Call sites can be updated as follows: ``` const {loading, contract} = useStreamFetchByKey(T, () => k, ...); --> const {loading, contracts} = useStreamFetchByKeys(T, () => [k], ...)); const contract = contracts[0]; ``` CHANGELOG_END |
||
---|---|---|
.. | ||
codegen-common | ||
codegen-main | ||
hs/bindings | ||
java | ||
scala | ||
ts |