cx 26.7.1 → 26.7.2
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/build/ui/Cx.d.ts +2 -5
- package/build/ui/Cx.d.ts.map +1 -1
- package/build/ui/Cx.js +36 -38
- package/build/ui/Restate.d.ts +0 -6
- package/build/ui/Restate.d.ts.map +1 -1
- package/build/ui/Restate.js +1 -2
- package/dist/manifest.js +795 -795
- package/dist/ui.js +50 -47
- package/package.json +1 -1
- package/src/ui/Cx.tsx +416 -427
- package/src/ui/Restate.tsx +217 -226
package/build/ui/Cx.d.ts
CHANGED
|
@@ -12,11 +12,6 @@ export interface CxProps {
|
|
|
12
12
|
parentInstance?: Instance;
|
|
13
13
|
subscribe?: boolean;
|
|
14
14
|
immediate?: boolean;
|
|
15
|
-
/** Cap re-entrant synchronous updates: while batching, once a burst of back-to-back updates gets too
|
|
16
|
-
* deep, defer the excess to the coalesced (setTimeout) branch instead of updating synchronously. Avoids
|
|
17
|
-
* React's "Maximum update depth exceeded" on very large synchronous render bursts (e.g. the initial
|
|
18
|
-
* render of a huge document). Off by default; has no effect on instances that don't set it. */
|
|
19
|
-
limitSyncBursts?: boolean;
|
|
20
15
|
deferredUntilIdle?: boolean;
|
|
21
16
|
idleTimeout?: number;
|
|
22
17
|
options?: any;
|
|
@@ -48,6 +43,7 @@ export declare class Cx extends VDOM.Component<CxProps, CxState> {
|
|
|
48
43
|
deferCounter: number;
|
|
49
44
|
pendingUpdateTimer?: NodeJS.Timeout;
|
|
50
45
|
unsubscribeIdleRequest?: () => void;
|
|
46
|
+
stateUpdateDepth: number;
|
|
51
47
|
constructor(props: CxProps);
|
|
52
48
|
UNSAFE_componentWillReceiveProps(props: CxProps): void;
|
|
53
49
|
getInstance(): Instance;
|
|
@@ -55,6 +51,7 @@ export declare class Cx extends VDOM.Component<CxProps, CxState> {
|
|
|
55
51
|
componentDidMount(): void;
|
|
56
52
|
componentDidUpdate(): void;
|
|
57
53
|
update(): void;
|
|
54
|
+
onStateUpdateCompleted(): void;
|
|
58
55
|
waitForIdle(): void;
|
|
59
56
|
componentWillUnmount(): void;
|
|
60
57
|
shouldComponentUpdate(props: CxProps, state: CxState): boolean;
|
package/build/ui/Cx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cx.d.ts","sourceRoot":"","sources":["../../src/ui/Cx.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAc,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,OAAO,EAA2D,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACzG,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,WAAW,OAAO;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB
|
|
1
|
+
{"version":3,"file":"Cx.d.ts","sourceRoot":"","sources":["../../src/ui/Cx.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAc,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,OAAO,EAA2D,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACzG,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,WAAW,OAAO;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChE,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,GAAG,CAAA;KAAE,KAAK,GAAG,CAAC;IACnD,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,OAAO;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,GAAG,CAAC;CACb;AAED,qBAAa,EAAG,SAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;IACZ,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACtD,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpC,gBAAgB,EAAE,MAAM,CAAK;gBAEjB,KAAK,EAAE,OAAO;IA0C1B,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAsBtD,WAAW,IAAI,QAAQ;IAcvB,MAAM;IAkBN,iBAAiB,IAAI,IAAI;IAOzB,kBAAkB,IAAI,IAAI;IAM1B,MAAM,IAAI,IAAI;IAkCd,sBAAsB;IAWtB,WAAW,IAAI,IAAI;IAgBnB,oBAAoB,IAAI,IAAI;IAO5B,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAe9D,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;CAIzD"}
|
package/build/ui/Cx.js
CHANGED
|
@@ -10,30 +10,6 @@ import { shallowEquals } from "../util/shallowEquals";
|
|
|
10
10
|
import { PureContainer } from "./PureContainer";
|
|
11
11
|
import { onIdleCallback } from "../util/onIdleCallback";
|
|
12
12
|
import { getCurrentCulture, pushCulture, popCulture } from "./Culture";
|
|
13
|
-
// Optional guard (opt in per-instance via the `limitSyncBursts` prop) against React's "Maximum update depth
|
|
14
|
-
// exceeded" during very large synchronous render bursts. On the initial render of a large document the store
|
|
15
|
-
// can be mutated thousands of times within a single React commit: every Instance.setState wraps store.notify()
|
|
16
|
-
// in batchUpdates(), so isBatchingUpdates() stays true and a subscribed Cx takes its *synchronous* setState
|
|
17
|
-
// branch on each notification. React counts those as nested render-phase updates and aborts past ~50
|
|
18
|
-
// (surfacing as the recoverable "error during concurrent rendering"). When a Cx opts in, once back-to-back
|
|
19
|
-
// updates exceed the limit it falls back to the coalesced setTimeout branch, which renders the latest store
|
|
20
|
-
// data on the next tick. The counter is global (it mirrors React's global nested-update counter) and resets
|
|
21
|
-
// after any idle gap. It is advanced on every update() of an opted-in Cx -- counting only the synchronous
|
|
22
|
-
// branch would let the window reset whenever a deferred update lands between two synchronous ones, so the
|
|
23
|
-
// counter would never reach the limit. performance.now() gives sub-ms resolution (Date.now() is the fallback;
|
|
24
|
-
// Timing.now() can't be used here because it returns 0 in production).
|
|
25
|
-
const SYNC_UPDATE_BURST_LIMIT = 30;
|
|
26
|
-
const SYNC_UPDATE_BURST_RESET_MS = 10;
|
|
27
|
-
const syncUpdateBurstNow = typeof performance !== "undefined" && performance.now ? () => performance.now() : () => Date.now();
|
|
28
|
-
let syncUpdateBurstCount = 0;
|
|
29
|
-
let syncUpdateBurstLastAt = 0;
|
|
30
|
-
function trackSyncUpdateBurst() {
|
|
31
|
-
let t = syncUpdateBurstNow();
|
|
32
|
-
if (t - syncUpdateBurstLastAt > SYNC_UPDATE_BURST_RESET_MS)
|
|
33
|
-
syncUpdateBurstCount = 0;
|
|
34
|
-
syncUpdateBurstLastAt = t;
|
|
35
|
-
return ++syncUpdateBurstCount > SYNC_UPDATE_BURST_LIMIT;
|
|
36
|
-
}
|
|
37
13
|
export class Cx extends VDOM.Component {
|
|
38
14
|
widget;
|
|
39
15
|
store;
|
|
@@ -47,6 +23,8 @@ export class Cx extends VDOM.Component {
|
|
|
47
23
|
deferCounter;
|
|
48
24
|
pendingUpdateTimer;
|
|
49
25
|
unsubscribeIdleRequest;
|
|
26
|
+
// 0 when no synchronous setState is in flight; >0 while one is pending (re-entrancy guard for update())
|
|
27
|
+
stateUpdateDepth = 0;
|
|
50
28
|
constructor(props) {
|
|
51
29
|
super(props);
|
|
52
30
|
if (props.instance) {
|
|
@@ -73,6 +51,7 @@ export class Cx extends VDOM.Component {
|
|
|
73
51
|
this.unsubscribe = this.store.subscribe(this.update.bind(this));
|
|
74
52
|
this.state.data = this.store.getData();
|
|
75
53
|
}
|
|
54
|
+
this.onStateUpdateCompleted = this.onStateUpdateCompleted.bind(this);
|
|
76
55
|
this.flags = {};
|
|
77
56
|
this.renderCount = 0;
|
|
78
57
|
if (props.onError)
|
|
@@ -111,7 +90,7 @@ export class Cx extends VDOM.Component {
|
|
|
111
90
|
return this.instance;
|
|
112
91
|
}
|
|
113
92
|
if (this.widget && this.parentInstance)
|
|
114
|
-
return (this.instance = this.parentInstance.getDetachedChild(this.widget, 0, this.store));
|
|
93
|
+
return (this.instance = this.parentInstance.getDetachedChild(this.widget, "0", this.store));
|
|
115
94
|
throw new Error("Could not resolve a widget instance in the Cx component.");
|
|
116
95
|
}
|
|
117
96
|
render() {
|
|
@@ -135,28 +114,47 @@ export class Cx extends VDOM.Component {
|
|
|
135
114
|
debug(appDataFlag, data);
|
|
136
115
|
if (this.flags.preparing)
|
|
137
116
|
this.flags.dirty = true;
|
|
138
|
-
//
|
|
139
|
-
//
|
|
140
|
-
//
|
|
141
|
-
//
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
117
|
+
// Synchronous path (while batching, or for `immediate` instances). At most one setState may be in flight
|
|
118
|
+
// per Cx: if one is already pending (stateUpdateDepth != 0) skip issuing another. Re-entrant setStates
|
|
119
|
+
// nested deep -- e.g. a large initial render that writes to the store while it renders -- are what trip
|
|
120
|
+
// React's "Maximum update depth exceeded"; coalescing them into a single in-flight update avoids that.
|
|
121
|
+
// The pending update's completion callback re-reads the store and renders again if it changed
|
|
122
|
+
// (see onStateUpdateCompleted), so no change is dropped.
|
|
123
|
+
else if (this.props.immediate || isBatchingUpdates()) {
|
|
124
|
+
if (this.stateUpdateDepth == 0) {
|
|
125
|
+
this.stateUpdateDepth = 1;
|
|
126
|
+
notifyBatchedUpdateStarting();
|
|
127
|
+
this.setState({ data: data }, this.onStateUpdateCompleted);
|
|
128
|
+
}
|
|
145
129
|
}
|
|
146
130
|
else {
|
|
147
|
-
//
|
|
148
|
-
//synchronous burst limit above, which falls through here to avoid React's max-update-depth abort
|
|
131
|
+
// standard mode: coalesce sequential store commands into a single deferred update
|
|
149
132
|
if (!this.pendingUpdateTimer) {
|
|
150
133
|
notifyBatchedUpdateStarting();
|
|
151
134
|
this.pendingUpdateTimer = setTimeout(() => {
|
|
152
135
|
delete this.pendingUpdateTimer;
|
|
153
|
-
//
|
|
154
|
-
|
|
155
|
-
this.setState({ data: this.props.limitSyncBursts ? this.store.getData() : data }, notifyBatchedUpdateCompleted);
|
|
136
|
+
// read fresh data at fire time so the coalesced update renders the latest store state
|
|
137
|
+
this.setState({ data: this.store.getData() }, notifyBatchedUpdateCompleted);
|
|
156
138
|
}, 0);
|
|
157
139
|
}
|
|
158
140
|
}
|
|
159
141
|
}
|
|
142
|
+
// Completion callback for the synchronous setState above. If the store changed while that update was
|
|
143
|
+
// rendering -- i.e. the render itself wrote to the store, as happens throughout a large initial render --
|
|
144
|
+
// render once more with the latest data, keeping this callback armed; otherwise the burst has settled, so
|
|
145
|
+
// clear the in-flight flag and report completion. Re-arming coalesces until the store reaches a fixpoint;
|
|
146
|
+
// a genuinely non-converging update loop is still caught by React's own max-update-depth guard.
|
|
147
|
+
onStateUpdateCompleted() {
|
|
148
|
+
let latestData = this.store.getData();
|
|
149
|
+
if (this.state.data === latestData) {
|
|
150
|
+
this.stateUpdateDepth = 0;
|
|
151
|
+
notifyBatchedUpdateCompleted();
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
this.stateUpdateDepth++;
|
|
155
|
+
this.setState({ data: latestData }, this.onStateUpdateCompleted);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
160
158
|
waitForIdle() {
|
|
161
159
|
if (!this.props.deferredUntilIdle)
|
|
162
160
|
return;
|
|
@@ -164,7 +162,7 @@ export class Cx extends VDOM.Component {
|
|
|
164
162
|
this.unsubscribeIdleRequest();
|
|
165
163
|
let token = ++this.deferCounter;
|
|
166
164
|
this.unsubscribeIdleRequest = onIdleCallback(() => {
|
|
167
|
-
this.setState({ deferToken: token });
|
|
165
|
+
this.setState({ deferToken: token }, this.onStateUpdateCompleted);
|
|
168
166
|
}, {
|
|
169
167
|
timeout: this.props.idleTimeout || 30000,
|
|
170
168
|
});
|
package/build/ui/Restate.d.ts
CHANGED
|
@@ -16,11 +16,6 @@ export interface RestateConfig extends PureContainerConfig {
|
|
|
16
16
|
cacheKey?: StringProp;
|
|
17
17
|
/** Set to `true` to disable batching of updates. */
|
|
18
18
|
immediate?: boolean;
|
|
19
|
-
/** Cap re-entrant synchronous updates on the detached `Cx` this Restate renders: once a burst of
|
|
20
|
-
* back-to-back updates gets too deep, defer the excess to the coalesced branch instead of updating
|
|
21
|
-
* synchronously. Avoids React's "Maximum update depth exceeded" on very large synchronous render bursts.
|
|
22
|
-
* Only applies in `detached` mode (a non-detached Restate has no `Cx` of its own). Off by default. */
|
|
23
|
-
limitSyncBursts?: boolean;
|
|
24
19
|
/** Error handler callback. */
|
|
25
20
|
onError?: (error: Error, instance: Instance) => void;
|
|
26
21
|
/** Culture info to be used for formatting. */
|
|
@@ -38,7 +33,6 @@ export declare class Restate<Config extends RestateConfig = RestateConfig> exten
|
|
|
38
33
|
onError?: (error: Error, instance: Instance) => void;
|
|
39
34
|
waitForIdle: boolean;
|
|
40
35
|
immediate: boolean;
|
|
41
|
-
limitSyncBursts: boolean;
|
|
42
36
|
declareData(...args: any[]): void;
|
|
43
37
|
init(): void;
|
|
44
38
|
initSubStore(context: any, instance: any): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Restate.d.ts","sourceRoot":"","sources":["../../src/ui/Restate.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAiB,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AASxF,OAAO,EAAqB,WAAW,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACvD,oDAAoD;IACpD,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC,gDAAgD;IAChD,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,UAAU,CAAC;IAEtB,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB
|
|
1
|
+
{"version":3,"file":"Restate.d.ts","sourceRoot":"","sources":["../../src/ui/Restate.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAiB,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AASxF,OAAO,EAAqB,WAAW,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACvD,oDAAoD;IACpD,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC,gDAAgD;IAChD,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,UAAU,CAAC;IAEtB,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAErD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,WAAW,CAAC;CACxB;AAGD,MAAM,WAAW,YAAa,SAAQ,aAAa;CAAG;AAEtD,qBAAa,OAAO,CAAC,MAAM,SAAS,aAAa,GAAG,aAAa,CAAE,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IACzF,SAAS,EAAE,GAAG,CAAC;IACf,mBAAmB,EAAE,GAAG,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrD,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IAE3B,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAQ1B,IAAI;IAsBJ,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAmBxC,gBAAgB,CAAC,QAAQ,EAAE,GAAG;IAI9B,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAQnC,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG;IAQpD,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM;CAmBjD;AAOD,eAAO,MAAM,YAAY,gBAAU,CAAC"}
|
package/build/ui/Restate.js
CHANGED
|
@@ -80,13 +80,12 @@ export class Restate extends PureContainerBase {
|
|
|
80
80
|
render(context, instance, key) {
|
|
81
81
|
if (!this.detached)
|
|
82
82
|
return instance.container.render(context);
|
|
83
|
-
return (_jsx(Cx, { widget: this.container, parentInstance: instance, store: instance.subStore, subscribe: true, options: this.options, onError: this.onError, deferredUntilIdle: instance.data.deferredUntilIdle, idleTimeout: instance.data.idleTimeout, immediate: this.immediate,
|
|
83
|
+
return (_jsx(Cx, { widget: this.container, parentInstance: instance, store: instance.subStore, subscribe: true, options: this.options, onError: this.onError, deferredUntilIdle: instance.data.deferredUntilIdle, idleTimeout: instance.data.idleTimeout, immediate: this.immediate, cultureInfo: instance.cultureInfo }, key));
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
Restate.prototype.detached = false;
|
|
87
87
|
Restate.prototype.waitForIdle = false;
|
|
88
88
|
Restate.prototype.immediate = false;
|
|
89
|
-
Restate.prototype.limitSyncBursts = false;
|
|
90
89
|
Restate.prototype.culture = null;
|
|
91
90
|
export const PrivateStore = Restate;
|
|
92
91
|
class RestateStore extends Store {
|