forked from jorgebucaran/superfine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
superfine.d.ts
48 lines (43 loc) · 1.25 KB
/
superfine.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
export as namespace superfine
export type Children = VNode | string | number | null
/**
* The virtual DOM representation of an Element.
*/
export interface VNode<Props = {}> {
name: string
props?: Props
children: Array<VNode>
key: string
}
/**
* Create a new virtual DOM node. A virtual DOM is a description of what a DOM should look like using a tree of virtual nodes.
* @param name The name of an Element or a function that returns a virtual DOM node.
* @param props HTML props, SVG props, DOM events, Lifecycle Events, and Keys.
* @param children The element's child nodes.
*/
export function h<Props>(
name: string,
props?: Props | null,
...children: Array<Children | Children[]>
): VNode<Props>
/**
* Render a virtual DOM node into a DOM element container.
*
* @param {VNode} oldNode The last virtual DOM node.
* @param {VNode} nextNode The next virtual DOM node.
* @param {Element?} container A DOM element where the new virtual DOM will be rendered.
* @returns {VNode} Returns nextNode.
**/
export function render(
lastNode: VNode,
nextNode: VNode,
container: Element
): VNode
declare global {
namespace JSX {
interface Element extends VNode<any> {}
interface IntrinsicElements {
[elemName: string]: any
}
}
}