baraqex 2.0.7 → 2.0.9

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.
@@ -31,6 +31,17 @@ export interface RootState {
31
31
  }
32
32
  export declare function createRootState(): RootState;
33
33
  export declare function prepareRender(root?: RootState, componentId?: number): number;
34
+ /**
35
+ * Begin a top-level render/hydrate pass.
36
+ *
37
+ * Resets the component-id counter so the function components encountered in
38
+ * this pass receive the same ids as in the previous pass (deterministic tree
39
+ * shape). This is what makes hook state (useState/useEffect) persist across
40
+ * re-renders. Without the reset every pass allocates fresh ids, hook state is
41
+ * lost, and any effect that calls setState triggers an infinite re-render
42
+ * loop.
43
+ */
44
+ export declare function beginRenderPass(root?: RootState): number;
34
45
  export declare function finishRender(): void;
35
46
  export declare function getCurrentRoot(): RootState | null;
36
47
  export declare function setCurrentRoot(root: RootState | null): void;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/core/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAMzD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,EAAE,CAAC;IACvF,KAAK,EAAE;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,EAAE,CAAC;IACtC,IAAI,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IACjF,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,GAAG,CAAC;CACrB;AAID,wBAAgB,eAAe,IAAI,SAAS,CAS3C;AAgBD,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAW5E;AAED,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED,wBAAgB,cAAc,IAAI,SAAS,GAAG,IAAI,CAEjD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAE3D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAOjF;AAMD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,EACjE,OAAO,EAAE,GAAG,EACZ,SAAS,EAAE,WAAW,GACrB,IAAI,CAKN;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAMD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAwCrF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAgCjF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAiCvF;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAwB5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC3D,QAAQ,EAAE,CAAC,EACX,IAAI,EAAE,GAAG,EAAE,GACV,CAAC,CAEH;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAiBpD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EACnC,YAAY,EAAE,CAAC,GACd,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC,CAQ1B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,MAAM,IAAI,CAAC,CAI7D;AAMD,wBAAgB,KAAK,IAAI,MAAM,CAM9B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAQlE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAOjD;AAGD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/core/hooks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/core/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAcnC;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BlF;AAqFD;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CnF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,WAAW;sBAK3B,KAAK;;EAO1B;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAEvD;;;;;;;AAED,wBAKE"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/core/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAcnC;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BlF;AAqFD;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CnF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,WAAW;sBAK3B,KAAK;;EAO1B;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAEvD;;;;;;;AAED,wBAKE"}
package/dist/index.js CHANGED
@@ -107,6 +107,12 @@ function prepareRender(root, componentId) {
107
107
  hookIndex = 0;
108
108
  return currentComponentId || 0;
109
109
  }
110
+ function beginRenderPass(root) {
111
+ if (root) {
112
+ root.nextComponentId = 0;
113
+ }
114
+ return prepareRender(root);
115
+ }
110
116
  function finishRender() {
111
117
  currentComponentId = null;
112
118
  }
@@ -454,7 +460,7 @@ async function render(element, container) {
454
460
  rootMap.set(container, root);
455
461
  }
456
462
  await batchUpdates(async () => {
457
- prepareRender(root);
463
+ beginRenderPass(root);
458
464
  try {
459
465
  setRenderCallback(render, element, container);
460
466
  const domNode = await createElement(element);
@@ -542,7 +548,7 @@ async function hydrate(element, container) {
542
548
  rootMap.set(container, root);
543
549
  }
544
550
  await batchUpdates(async () => {
545
- prepareRender(root);
551
+ beginRenderPass(root);
546
552
  try {
547
553
  setRenderCallback(render, element, container);
548
554
  const generator = walkElements(container);