oxiui-lib 0.2.21 → 0.2.22

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.
@@ -1,7 +1,8 @@
1
+ import type { OxiView } from "./elements";
1
2
  import type { IComponent } from "./types/component";
2
3
  import type { IntrinsicElements } from "./types/html";
3
4
  type RenderCallback = (stateId: string, readers: Set<string>, root: IComponent<keyof IntrinsicElements>) => void;
4
- export declare function initScheduler(App: () => IComponent<keyof IntrinsicElements>, renderer: RenderCallback): void;
5
+ export declare function initScheduler(App: () => OxiView, renderer: RenderCallback): void;
5
6
  export declare function scheduleEffect(fn: () => void): void;
6
7
  export declare function rerender(stateId: string, readers: Set<string>): void;
7
8
  export declare function startImmediateMode(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oxiui-lib",
3
- "version": "0.2.21",
3
+ "version": "0.2.22",
4
4
  "module": "src/index.ts",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,3 +1,4 @@
1
+ import type { OxiView } from "./elements";
1
2
  import { resetCursor } from "./renderer";
2
3
  import type { IComponent } from "./types/component";
3
4
  import type { IntrinsicElements } from "./types/html";
@@ -9,8 +10,8 @@ type RenderCallback = (
9
10
  ) => void;
10
11
 
11
12
  let running = false;
12
- let app: (() => IComponent<keyof IntrinsicElements>) | null = null;
13
- let root: IComponent<keyof IntrinsicElements> | null = null;
13
+ let app: (() => OxiView) | null = null;
14
+ let root: OxiView | null = null;
14
15
  let renderCallback: RenderCallback | null = null;
15
16
  const postRenderQueue: (() => void)[] = [];
16
17
  const resetTree = () => {
@@ -18,10 +19,7 @@ const resetTree = () => {
18
19
  root.down = [];
19
20
  };
20
21
 
21
- export function initScheduler(
22
- App: () => IComponent<keyof IntrinsicElements>,
23
- renderer: RenderCallback,
24
- ) {
22
+ export function initScheduler(App: () => OxiView, renderer: RenderCallback) {
25
23
  app = App;
26
24
  renderCallback = renderer;
27
25
  performRender("", new Set());
@@ -59,12 +57,12 @@ function performRender(stateId: string, readers: Set<string>) {
59
57
  if (!app || !renderCallback) return;
60
58
  console.clear();
61
59
  root = app();
62
- renderCallback(stateId, readers, root);
60
+ renderCallback(stateId, readers, root as IComponent<keyof IntrinsicElements>);
63
61
  postRenderQueue.forEach((fn) => {
64
62
  fn();
65
63
  });
66
64
  postRenderQueue.length = 0;
67
- clearCursors(root);
65
+ clearCursors(root as IComponent<keyof IntrinsicElements>);
68
66
  }
69
67
 
70
68
  export function rerender(stateId: string, readers: Set<string>) {
@@ -104,12 +102,16 @@ export function startImmediateMode() {
104
102
  resetTree();
105
103
  resetCursor();
106
104
  root = app();
107
- renderCallback?.("", new Set(), root);
105
+ renderCallback?.(
106
+ "",
107
+ new Set(),
108
+ root as IComponent<keyof IntrinsicElements>,
109
+ );
108
110
  postRenderQueue.forEach((fn) => {
109
111
  fn();
110
112
  });
111
113
  postRenderQueue.length = 0;
112
- clearCursors(root);
114
+ clearCursors(root as IComponent<keyof IntrinsicElements>);
113
115
  frameId = requestAnimationFrame(loop);
114
116
  };
115
117