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 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;
@@ -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;;;oGAGgG;IAChG,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,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;AA4BD,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;gBAExB,KAAK,EAAE,OAAO;IAwC1B,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;IA6Bd,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"}
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
- // `immediate` always renders synchronously (its contract). Otherwise, while batching, a Cx that opts in
139
- // via `limitSyncBursts` defers once a synchronous burst gets too deep (avoids React's max-update-depth).
140
- // Without the flag the condition is unchanged -- trackSyncUpdateBurst() is never even called, so the
141
- // guard has zero effect on instances that don't opt in.
142
- else if (this.props.immediate || (isBatchingUpdates() && !(this.props.limitSyncBursts && trackSyncUpdateBurst()))) {
143
- notifyBatchedUpdateStarting();
144
- this.setState({ data: data }, notifyBatchedUpdateCompleted);
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
- //in standard mode sequential store commands are batched -- as is any update that exceeds the
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
- //for opted-in instances read fresh data at fire time so a deferred (coalesced) update isn't
154
- //left stale after a burst; otherwise keep the original captured-data behavior unchanged
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
  });
@@ -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;;;2GAGuG;IACvG,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,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;IACnB,eAAe,EAAE,OAAO,CAAC;IAEjC,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;CAoBjD;AAQD,eAAO,MAAM,YAAY,gBAAU,CAAC"}
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"}
@@ -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, limitSyncBursts: this.limitSyncBursts, cultureInfo: instance.cultureInfo }, key));
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 {