Releases: reactive/data-client
@data-client/[email protected]
Patch Changes
-
#3165
3fa9eb9
Thanks @ntucker! - Query can take Object SchemasThis enables joining arbitrary objects (whose pk works with the same arguments.)
class Ticker extends Entity { product_id = ''; price = 0; pk(): string { return this.product_id; } } class Stats extends Entity { product_id = ''; last = 0; pk(): string { return this.product_id; } } const queryPrice = new schema.Query( { ticker: Ticker, stats: Stats }, ({ ticker, stats }) => ticker?.price ?? stats?.last, );
-
Updated dependencies [
3fa9eb9
]:- @data-client/[email protected]
@data-client/[email protected]
Patch Changes
-
262587c
Thanks @ntucker! - export EntityInterface, Queryable -
#3164
ffea6fc
Thanks @ntucker! - Manager.getMiddleware() -> Manager.middlewaregetMiddleware()
is still supported to make this change non-breaking -
#3164
ffea6fc
Thanks @ntucker! - Move manager lifecycle logic from DataStore to DataProviderThis has no behavioral change, but creates a better seperation of concerns.
-
82fbb85
Thanks @ntucker! - Middleware types include union of possible actions -
8287f48
Thanks @ntucker! - README: Update manager stream example link -
Updated dependencies [
ffea6fc
,82fbb85
,262587c
]:- @data-client/[email protected]
@data-client/[email protected]
@data-client/[email protected]
Patch Changes
-
Updated dependencies [
0adad92
]:- @data-client/[email protected]
@data-client/[email protected]
Patch Changes
-
#3161
b932dca
Thanks @ntucker! - Add jsdocs to IdlingNetworkManager -
e4751d9
Thanks @ntucker! - NetworkManager constructor uses keyword argsBefore
new NetworkManager(42, 7);
After
new NetworkManager({ dataExpiryLength: 42, errorExpiryLength: 7 });
-
09ad848
Thanks @ntucker! - state.endpoints moved above indexesentites
andendpoints
are the most commonly inspected
parts of state when debugging, so it is better to have endpoints
above indexes. -
#3161
b932dca
Thanks @ntucker! - Add configuration to getDefaultManagers()// completely remove DevToolsManager const managers = getDefaultManagers({ devToolsManager: null });
// easier configuration const managers = getDefaultManagers({ devToolsManager: { // double latency to help with high frequency updates latency: 1000, // skip websocket updates as these are too spammy predicate: (state, action) => action.type !== actionTypes.SET_TYPE || action.schema !== Ticker, }, });
// passing instance allows us to use custom classes as well const managers = getDefaultManagers({ networkManager: new CustomNetworkManager(), });
-
Updated dependencies [
b932dca
,e4751d9
,09ad848
]:- @data-client/[email protected]
@data-client/[email protected]
Patch Changes
-
Updated dependencies [
0adad92
]:- @data-client/[email protected]
@data-client/[email protected]
@data-client/[email protected]
Patch Changes
-
#3161
b932dca
Thanks @ntucker! - Add jsdocs to IdlingNetworkManager -
e4751d9
Thanks @ntucker! - NetworkManager constructor uses keyword argsBefore
new NetworkManager(42, 7);
After
new NetworkManager({ dataExpiryLength: 42, errorExpiryLength: 7 });
-
09ad848
Thanks @ntucker! - state.endpoints moved above indexesentites
andendpoints
are the most commonly inspected
parts of state when debugging, so it is better to have endpoints
above indexes.
@data-client/[email protected]
Patch Changes
-
501cb82
Thanks @ntucker! - Remove name in toJSON() for Entities -
3058a8a
Thanks @ntucker! - Collection non-known (not Array/Values) key format improvementNow wraps in parens
()
: "(Todo)" -
#3158
34e2e51
Thanks @ntucker! - createResource() -> resource()Note:
createResource
is still exported (it is the same) -
Updated dependencies [
501cb82
,501cb82
,3058a8a
]:- @data-client/[email protected]