@lytjs/renderer 5.0.0 → 6.0.0
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/README.md +371 -204
- package/dist/dom.cjs +12 -1
- package/dist/dom.cjs.map +1 -0
- package/dist/dom.d.cts +1 -0
- package/dist/dom.d.ts +1 -0
- package/dist/dom.mjs +3 -1
- package/dist/dom.mjs.map +1 -0
- package/dist/index.cjs +3312 -1
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1004 -0
- package/dist/index.d.ts +1004 -0
- package/dist/index.mjs +3190 -1
- package/dist/index.mjs.map +1 -0
- package/dist/ssr.cjs +310 -1
- package/dist/ssr.cjs.map +1 -0
- package/dist/ssr.d.cts +21 -0
- package/dist/ssr.d.ts +21 -0
- package/dist/ssr.mjs +308 -1
- package/dist/ssr.mjs.map +1 -0
- package/package.json +35 -58
- package/dist/miniapp.cjs +0 -21
- package/dist/miniapp.mjs +0 -21
- package/dist/native.cjs +0 -1
- package/dist/native.mjs +0 -1
- package/dist/types/create-renderer.d.ts +0 -20
- package/dist/types/create-renderer.d.ts.map +0 -1
- package/dist/types/dom/dom-ops.d.ts +0 -74
- package/dist/types/dom/dom-ops.d.ts.map +0 -1
- package/dist/types/dom/dom-renderer.d.ts +0 -243
- package/dist/types/dom/dom-renderer.d.ts.map +0 -1
- package/dist/types/dom/index.d.ts +0 -17
- package/dist/types/dom/index.d.ts.map +0 -1
- package/dist/types/dom/patch-events.d.ts +0 -123
- package/dist/types/dom/patch-events.d.ts.map +0 -1
- package/dist/types/dom/patch-props.d.ts +0 -118
- package/dist/types/dom/patch-props.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -36
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/miniapp/index.d.ts +0 -21
- package/dist/types/miniapp/index.d.ts.map +0 -1
- package/dist/types/miniapp/miniapp-compiler.d.ts +0 -269
- package/dist/types/miniapp/miniapp-compiler.d.ts.map +0 -1
- package/dist/types/miniapp/miniapp-event-bridge.d.ts +0 -255
- package/dist/types/miniapp/miniapp-event-bridge.d.ts.map +0 -1
- package/dist/types/miniapp/miniapp-lifecycle.d.ts +0 -224
- package/dist/types/miniapp/miniapp-lifecycle.d.ts.map +0 -1
- package/dist/types/miniapp/miniapp-renderer.d.ts +0 -269
- package/dist/types/miniapp/miniapp-renderer.d.ts.map +0 -1
- package/dist/types/miniapp/miniapp-utils.d.ts +0 -168
- package/dist/types/miniapp/miniapp-utils.d.ts.map +0 -1
- package/dist/types/miniapp/shared-constants.d.ts +0 -28
- package/dist/types/miniapp/shared-constants.d.ts.map +0 -1
- package/dist/types/mount.d.ts +0 -32
- package/dist/types/mount.d.ts.map +0 -1
- package/dist/types/native/index.d.ts +0 -13
- package/dist/types/native/index.d.ts.map +0 -1
- package/dist/types/native/native-renderer.d.ts +0 -249
- package/dist/types/native/native-renderer.d.ts.map +0 -1
- package/dist/types/patch.d.ts +0 -23
- package/dist/types/patch.d.ts.map +0 -1
- package/dist/types/props.d.ts +0 -19
- package/dist/types/props.d.ts.map +0 -1
- package/dist/types/renderer-interfaces.d.ts +0 -157
- package/dist/types/renderer-interfaces.d.ts.map +0 -1
- package/dist/types/shared/abstract-renderer.d.ts +0 -74
- package/dist/types/shared/abstract-renderer.d.ts.map +0 -1
- package/dist/types/ssr/hydration.d.ts +0 -267
- package/dist/types/ssr/hydration.d.ts.map +0 -1
- package/dist/types/ssr/index.d.ts +0 -15
- package/dist/types/ssr/index.d.ts.map +0 -1
- package/dist/types/ssr/ssr-renderer.d.ts +0 -277
- package/dist/types/ssr/ssr-renderer.d.ts.map +0 -1
- package/dist/types/unmount.d.ts +0 -16
- package/dist/types/unmount.d.ts.map +0 -1
- package/dist/types/vapor/index.d.ts +0 -18
- package/dist/types/vapor/index.d.ts.map +0 -1
- package/dist/types/vapor/vapor-compiler.d.ts +0 -76
- package/dist/types/vapor/vapor-compiler.d.ts.map +0 -1
- package/dist/types/vapor/vapor-component.d.ts +0 -55
- package/dist/types/vapor/vapor-component.d.ts.map +0 -1
- package/dist/types/vapor/vapor-reactive.d.ts +0 -133
- package/dist/types/vapor/vapor-reactive.d.ts.map +0 -1
- package/dist/types/vapor/vapor-renderer.d.ts +0 -135
- package/dist/types/vapor/vapor-renderer.d.ts.map +0 -1
- package/dist/types/vnode.d.ts +0 -203
- package/dist/types/vnode.d.ts.map +0 -1
- package/dist/vapor.cjs +0 -1
- package/dist/vapor.mjs +0 -1
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* miniapp/shared-constants.ts - 小程序共享常量
|
|
3
|
-
*
|
|
4
|
-
* 提取小程序渲染器和编译器共用的常量映射,
|
|
5
|
-
* 避免在 miniapp-renderer.ts 和 miniapp-compiler.ts 中重复定义。
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* HTML 标签到小程序组件名的映射
|
|
9
|
-
*
|
|
10
|
-
* 小程序使用自定义组件而非 HTML 标签:
|
|
11
|
-
* - div / section / header 等 → view
|
|
12
|
-
* - span / p / h1-h6 → text
|
|
13
|
-
* - img → image
|
|
14
|
-
* - a → navigator
|
|
15
|
-
* - input → input
|
|
16
|
-
* - scroll → scroll-view
|
|
17
|
-
* - list → (小程序无直接对应,使用 view + wx:for)
|
|
18
|
-
*/
|
|
19
|
-
export declare const MINIAPP_COMPONENT_MAP: Record<string, string>;
|
|
20
|
-
/**
|
|
21
|
-
* DOM 事件名到小程序事件名的映射
|
|
22
|
-
*
|
|
23
|
-
* 小程序使用 bind/catch 前缀绑定事件,事件名与 Web 略有不同:
|
|
24
|
-
* - click → tap(微信/支付宝/字节通用)
|
|
25
|
-
* - input / change / submit 等保持一致
|
|
26
|
-
*/
|
|
27
|
-
export declare const EVENT_PREFIX_MAP: Record<string, string>;
|
|
28
|
-
//# sourceMappingURL=shared-constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared-constants.d.ts","sourceRoot":"","sources":["../../../src/miniapp/shared-constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkBxD,CAAC;AAMF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAYnD,CAAC"}
|
package/dist/types/mount.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt.js 渲染器 — 挂载逻辑
|
|
3
|
-
*
|
|
4
|
-
* 本模块包含 VNode 挂载相关的函数。
|
|
5
|
-
*/
|
|
6
|
-
import type { LytRenderer } from './renderer-interfaces';
|
|
7
|
-
import type { VNode } from './vnode';
|
|
8
|
-
/**
|
|
9
|
-
* 挂载 VNode
|
|
10
|
-
*/
|
|
11
|
-
export declare function mountVNode(renderer: LytRenderer, patchFn: PatchFn, vnode: VNode, container: any, anchor: any, parentComponent: any): void;
|
|
12
|
-
/**
|
|
13
|
-
* 挂载元素节点
|
|
14
|
-
*/
|
|
15
|
-
export declare function mountElement(renderer: LytRenderer, patchFn: PatchFn, vnode: VNode, container: any, anchor: any, parentComponent: any): void;
|
|
16
|
-
/**
|
|
17
|
-
* 批量挂载子节点
|
|
18
|
-
*/
|
|
19
|
-
export declare function mountChildren(patchFn: PatchFn, children: VNode[], container: any, anchor: any, parentComponent: any): void;
|
|
20
|
-
/**
|
|
21
|
-
* 挂载 Fragment
|
|
22
|
-
*/
|
|
23
|
-
export declare function mountFragment(renderer: LytRenderer, patchFn: PatchFn, vnode: VNode, container: any, anchor: any, parentComponent: any): void;
|
|
24
|
-
/**
|
|
25
|
-
* 挂载组件(简化版)
|
|
26
|
-
*/
|
|
27
|
-
export declare function mountComponent(patchFn: PatchFn, vnode: VNode, container: any, anchor: any, parentComponent: any): void;
|
|
28
|
-
/**
|
|
29
|
-
* Patch 函数类型签名
|
|
30
|
-
*/
|
|
31
|
-
export type PatchFn = (n1: VNode | null, n2: VNode, container: any, anchor: any, parentComponent: any) => void;
|
|
32
|
-
//# sourceMappingURL=mount.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/mount.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpC;;GAEG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,GAAG,EACd,MAAM,EAAE,GAAG,EACX,eAAe,EAAE,GAAG,GACnB,IAAI,CAoCN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,GAAG,EACd,MAAM,EAAE,GAAG,EACX,eAAe,EAAE,GAAG,GACnB,IAAI,CA0BN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,KAAK,EAAE,EACjB,SAAS,EAAE,GAAG,EACd,MAAM,EAAE,GAAG,EACX,eAAe,EAAE,GAAG,GACnB,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,GAAG,EACd,MAAM,EAAE,GAAG,EACX,eAAe,EAAE,GAAG,GACnB,IAAI,CAcN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,GAAG,EACd,MAAM,EAAE,GAAG,EACX,eAAe,EAAE,GAAG,GACnB,IAAI,CAWN;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,CACpB,EAAE,EAAE,KAAK,GAAG,IAAI,EAChB,EAAE,EAAE,KAAK,EACT,SAAS,EAAE,GAAG,EACd,MAAM,EAAE,GAAG,EACX,eAAe,EAAE,GAAG,KACjB,IAAI,CAAA"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt.js Native 渲染器 — 独立入口
|
|
3
|
-
*
|
|
4
|
-
* 仅包含移动端原生渲染相关的 API。
|
|
5
|
-
* 使用者可通过 `import '@lytjs/renderer/native'` 仅加载 Native 渲染器。
|
|
6
|
-
*/
|
|
7
|
-
export type { LytRenderer, RendererInstance } from '../renderer-interfaces';
|
|
8
|
-
export type { VNode } from '../vnode';
|
|
9
|
-
export { createRenderer, } from '../create-renderer';
|
|
10
|
-
export { Fragment, Text, Comment, ShapeFlags, PatchFlags, } from '../vnode';
|
|
11
|
-
export { NativeRenderer, nativeRenderer } from './native-renderer';
|
|
12
|
-
export type { NativeNode } from './native-renderer';
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/native/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGtC,OAAO,EACL,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,UAAU,EACV,UAAU,GACX,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NativeRenderer - 移动端渲染器原型
|
|
3
|
-
*
|
|
4
|
-
* 将 VNode 映射为原生组件描述对象(可用于 React Native / Flutter / 原生 SDK 桥接)。
|
|
5
|
-
* 纯原生零依赖 TypeScript 实现。
|
|
6
|
-
*
|
|
7
|
-
* 设计思路:
|
|
8
|
-
* - 不直接操作 DOM,而是生成描述性的 NativeNode 树
|
|
9
|
-
* - NativeNode 可序列化为 JSON,通过 JS Bridge 传递给原生端
|
|
10
|
-
* - 提供 HTML 标签到原生组件的映射、CSS 样式到原生样式的转换
|
|
11
|
-
*/
|
|
12
|
-
import type { LytRenderer } from '../renderer-interfaces';
|
|
13
|
-
/**
|
|
14
|
-
* LytRendererPlatform 标准接口
|
|
15
|
-
*
|
|
16
|
-
* 所有平台渲染器必须实现此接口。
|
|
17
|
-
* 定义了渲染器与虚拟 DOM diff 算法对接所需的最小操作集。
|
|
18
|
-
*/
|
|
19
|
-
export interface LytRendererPlatform {
|
|
20
|
-
createElement(tag: string): any;
|
|
21
|
-
createText(text: string): any;
|
|
22
|
-
createComment(text: string): any;
|
|
23
|
-
insert(child: any, parent: any, anchor?: any): void;
|
|
24
|
-
remove(child: any): void;
|
|
25
|
-
patchProp(el: any, key: string, prevValue: any, nextValue: any): void;
|
|
26
|
-
parentNode(child: any): any | null;
|
|
27
|
-
nextSibling(child: any): any | null;
|
|
28
|
-
setText(node: any, text: string): void;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* 原生节点描述
|
|
32
|
-
*
|
|
33
|
-
* 描述一棵原生 UI 组件树,可序列化为 JSON 供原生端消费。
|
|
34
|
-
*/
|
|
35
|
-
export interface NativeNode {
|
|
36
|
-
/** 原生组件类型(如 View, Text, Image) */
|
|
37
|
-
type: string;
|
|
38
|
-
/** 原生属性(包含样式、事件等) */
|
|
39
|
-
props: Record<string, any>;
|
|
40
|
-
/** 子节点列表 */
|
|
41
|
-
children: NativeNode[];
|
|
42
|
-
/** 原生视图标识,用于桥接时定位组件 */
|
|
43
|
-
nativeId?: string;
|
|
44
|
-
/** 父节点引用(内部使用,不序列化) */
|
|
45
|
-
_parent?: NativeNode;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* NativeRenderer - 移动端渲染器
|
|
49
|
-
*
|
|
50
|
-
* 实现 LytRenderer 接口,将 VNode 映射为原生组件描述树。
|
|
51
|
-
* 不依赖任何外部库,纯 TypeScript 实现。
|
|
52
|
-
*
|
|
53
|
-
* 使用示例:
|
|
54
|
-
* ```ts
|
|
55
|
-
* import { nativeRenderer } from './native/native-renderer'
|
|
56
|
-
*
|
|
57
|
-
* // 创建原生节点
|
|
58
|
-
* const view = nativeRenderer.createElement('div')
|
|
59
|
-
* nativeRenderer.setAttribute(view, 'style', { flexDirection: 'row' })
|
|
60
|
-
*
|
|
61
|
-
* const text = nativeRenderer.createText('Hello Native')
|
|
62
|
-
* nativeRenderer.insert(view, text)
|
|
63
|
-
*
|
|
64
|
-
* // 序列化为 JSON(用于桥接传输)
|
|
65
|
-
* const json = nativeRenderer.serializeToJSON(view)
|
|
66
|
-
* ```
|
|
67
|
-
*/
|
|
68
|
-
export declare class NativeRenderer implements LytRenderer {
|
|
69
|
-
/**
|
|
70
|
-
* 创建原生元素节点
|
|
71
|
-
* @param tag HTML 标签名(如 'div', 'span')
|
|
72
|
-
* @returns NativeNode 描述对象
|
|
73
|
-
*/
|
|
74
|
-
createElement(tag: string): NativeNode;
|
|
75
|
-
/**
|
|
76
|
-
* 创建文本节点
|
|
77
|
-
* @param text 文本内容
|
|
78
|
-
* @returns 类型为 'RawText' 的 NativeNode
|
|
79
|
-
*/
|
|
80
|
-
createText(text: string): NativeNode;
|
|
81
|
-
/**
|
|
82
|
-
* 创建注释节点
|
|
83
|
-
* @param text 注释内容
|
|
84
|
-
* @returns 类型为 '__Comment' 的 NativeNode(原生端通常忽略)
|
|
85
|
-
*/
|
|
86
|
-
createComment(text: string): NativeNode;
|
|
87
|
-
/**
|
|
88
|
-
* 设置元素属性
|
|
89
|
-
* @param el 原生节点
|
|
90
|
-
* @param key 属性名
|
|
91
|
-
* @param val 属性值
|
|
92
|
-
*/
|
|
93
|
-
setAttribute(el: NativeNode, key: string, val: any): void;
|
|
94
|
-
/**
|
|
95
|
-
* 移除元素属性
|
|
96
|
-
* @param el 原生节点
|
|
97
|
-
* @param key 属性名
|
|
98
|
-
*/
|
|
99
|
-
removeAttribute(el: NativeNode, key: string): void;
|
|
100
|
-
/**
|
|
101
|
-
* 设置元素样式
|
|
102
|
-
* @param el 原生节点
|
|
103
|
-
* @param style 样式对象
|
|
104
|
-
*/
|
|
105
|
-
setStyle(el: NativeNode, style: object): void;
|
|
106
|
-
/**
|
|
107
|
-
* 设置元素 class
|
|
108
|
-
* @param el 原生节点
|
|
109
|
-
* @param cls class 值(字符串或对象)
|
|
110
|
-
*/
|
|
111
|
-
setClass(el: NativeNode, cls: string | object): void;
|
|
112
|
-
/**
|
|
113
|
-
* 插入子节点
|
|
114
|
-
* @param parent 父节点
|
|
115
|
-
* @param child 子节点
|
|
116
|
-
* @param ref 参考节点(插入到其前面),可选
|
|
117
|
-
*/
|
|
118
|
-
insert(parent: NativeNode, child: NativeNode, ref?: NativeNode): void;
|
|
119
|
-
/**
|
|
120
|
-
* 移除节点
|
|
121
|
-
* @param child 要移除的节点
|
|
122
|
-
*/
|
|
123
|
-
remove(child: NativeNode): void;
|
|
124
|
-
/**
|
|
125
|
-
* 替换子节点
|
|
126
|
-
* @param parent 父节点
|
|
127
|
-
* @param oldChild 被替换的旧节点
|
|
128
|
-
* @param newChild 替换的新节点
|
|
129
|
-
*/
|
|
130
|
-
replace(parent: NativeNode, oldChild: NativeNode, newChild: NativeNode): void;
|
|
131
|
-
/**
|
|
132
|
-
* 添加事件监听器
|
|
133
|
-
* @param el 原生节点
|
|
134
|
-
* @param event DOM 事件名(如 'click')
|
|
135
|
-
* @param handler 事件处理函数
|
|
136
|
-
* @param options 事件选项(可选)
|
|
137
|
-
*/
|
|
138
|
-
addEventListener(el: NativeNode, event: string, handler: Function, _options?: any): void;
|
|
139
|
-
/**
|
|
140
|
-
* 移除事件监听器
|
|
141
|
-
* @param el 原生节点
|
|
142
|
-
* @param event DOM 事件名
|
|
143
|
-
* @param handler 事件处理函数
|
|
144
|
-
*/
|
|
145
|
-
removeEventListener(el: NativeNode, event: string, handler: Function): void;
|
|
146
|
-
/**
|
|
147
|
-
* 在下一个微任务中执行回调
|
|
148
|
-
* @param cb 回调函数
|
|
149
|
-
*/
|
|
150
|
-
nextTick(cb: Function): void;
|
|
151
|
-
/**
|
|
152
|
-
* 获取父节点
|
|
153
|
-
* @param el 原生节点
|
|
154
|
-
* @returns 父节点,无父节点时返回 null
|
|
155
|
-
*/
|
|
156
|
-
parentNode(el: NativeNode): NativeNode | null;
|
|
157
|
-
/**
|
|
158
|
-
* 获取下一个兄弟节点
|
|
159
|
-
* @param el 原生节点
|
|
160
|
-
* @returns 下一个兄弟节点,无时返回 null
|
|
161
|
-
*/
|
|
162
|
-
nextSibling(el: NativeNode): NativeNode | null;
|
|
163
|
-
/**
|
|
164
|
-
* 设置文本节点内容
|
|
165
|
-
* @param node 文本节点
|
|
166
|
-
* @param text 文本内容
|
|
167
|
-
*/
|
|
168
|
-
setText(node: NativeNode, text: string): void;
|
|
169
|
-
/**
|
|
170
|
-
* 更新元素属性(diff 算法调用)
|
|
171
|
-
*
|
|
172
|
-
* 当 prevValue 为 null/undefined 时表示新增属性,
|
|
173
|
-
* 当 nextValue 为 null/undefined 时表示移除属性,
|
|
174
|
-
* 否则表示更新属性。
|
|
175
|
-
*
|
|
176
|
-
* @param el 原生节点
|
|
177
|
-
* @param key 属性名
|
|
178
|
-
* @param prevValue 旧属性值
|
|
179
|
-
* @param nextValue 新属性值
|
|
180
|
-
*/
|
|
181
|
-
patchProp(el: NativeNode, key: string, prevValue: any, nextValue: any): void;
|
|
182
|
-
/**
|
|
183
|
-
* 查询选择器(原型简化实现)
|
|
184
|
-
* @param selector CSS 选择器(仅支持 tag 选择器)
|
|
185
|
-
* @returns 匹配的第一个节点,未找到返回 null
|
|
186
|
-
*/
|
|
187
|
-
querySelector(_selector: string): NativeNode | null;
|
|
188
|
-
/**
|
|
189
|
-
* 将 VNode 树转换为原生节点树
|
|
190
|
-
*
|
|
191
|
-
* 递归遍历 VNode,将每个节点转换为对应的 NativeNode 描述。
|
|
192
|
-
*
|
|
193
|
-
* @param vnode VNode 对象
|
|
194
|
-
* @returns NativeNode 树
|
|
195
|
-
*/
|
|
196
|
-
renderToNativeTree(vnode: any): NativeNode;
|
|
197
|
-
/**
|
|
198
|
-
* 序列化 NativeNode 为 JSON 字符串
|
|
199
|
-
*
|
|
200
|
-
* 用于调试输出或通过 JS Bridge 传递给原生端。
|
|
201
|
-
* 序列化时会过滤掉内部字段(_parent)。
|
|
202
|
-
*
|
|
203
|
-
* @param node 原生节点
|
|
204
|
-
* @returns JSON 字符串
|
|
205
|
-
*/
|
|
206
|
-
serializeToJSON(node: NativeNode): string;
|
|
207
|
-
/**
|
|
208
|
-
* 获取原生组件类型
|
|
209
|
-
*
|
|
210
|
-
* 将 HTML 标签名映射为原生组件类型名。
|
|
211
|
-
* 未在映射表中的标签会使用 PascalCase 转换。
|
|
212
|
-
*
|
|
213
|
-
* @param tag HTML 标签名
|
|
214
|
-
* @returns 原生组件类型名
|
|
215
|
-
*/
|
|
216
|
-
getComponentType(tag: string): string;
|
|
217
|
-
/**
|
|
218
|
-
* CSS 样式转原生样式
|
|
219
|
-
*
|
|
220
|
-
* 将 CSS 样式对象转换为原生样式对象。
|
|
221
|
-
* 支持数值自动转换(如 '10px' → 10)。
|
|
222
|
-
*
|
|
223
|
-
* @param cssStyle CSS 样式对象
|
|
224
|
-
* @returns 原生样式对象
|
|
225
|
-
*/
|
|
226
|
-
mapStyle(cssStyle: Record<string, string>): Record<string, any>;
|
|
227
|
-
/**
|
|
228
|
-
* DOM 事件转原生事件
|
|
229
|
-
*
|
|
230
|
-
* 将 Web DOM 事件名映射为原生平台事件名。
|
|
231
|
-
* 未在映射表中的事件会添加 'on' 前缀并首字母大写。
|
|
232
|
-
*
|
|
233
|
-
* @param domEvent DOM 事件名(如 'click')
|
|
234
|
-
* @returns 原生事件名(如 'onPress')
|
|
235
|
-
*/
|
|
236
|
-
mapEvent(domEvent: string): string;
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* 创建原生渲染器实例
|
|
240
|
-
*
|
|
241
|
-
* 工厂函数,每次调用返回一个新的 NativeRenderer 实例。
|
|
242
|
-
* 适用于需要多个独立渲染器实例的场景。
|
|
243
|
-
*
|
|
244
|
-
* @returns NativeRenderer 实例
|
|
245
|
-
*/
|
|
246
|
-
export declare function createNativeRenderer(): NativeRenderer;
|
|
247
|
-
/** 移动端渲染器单例 */
|
|
248
|
-
export declare const nativeRenderer: NativeRenderer;
|
|
249
|
-
//# sourceMappingURL=native-renderer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"native-renderer.d.ts","sourceRoot":"","sources":["../../../src/native/native-renderer.ts"],"names":[],"mappings":"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"}
|
package/dist/types/patch.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt.js 渲染器 — Patch 逻辑
|
|
3
|
-
*
|
|
4
|
-
* 本模块包含 VNode 对比更新的核心函数。
|
|
5
|
-
*/
|
|
6
|
-
import type { LytRenderer } from './renderer-interfaces';
|
|
7
|
-
import type { VNode } from './vnode';
|
|
8
|
-
import { type PatchFn } from './mount';
|
|
9
|
-
/**
|
|
10
|
-
* Patch 主函数 — 对比新旧 VNode 并更新
|
|
11
|
-
*
|
|
12
|
-
* @param n1 旧 VNode(null 表示首次挂载)
|
|
13
|
-
* @param n2 新 VNode
|
|
14
|
-
* @param container 父容器
|
|
15
|
-
* @param anchor 插入锚点
|
|
16
|
-
* @param parentComponent 父组件实例
|
|
17
|
-
*/
|
|
18
|
-
export declare function patch(renderer: LytRenderer, unmountFn: (vnode: VNode, container?: any) => void, n1: VNode | null, n2: VNode, container: any, anchor?: any, parentComponent?: any): void;
|
|
19
|
-
/**
|
|
20
|
-
* 创建一个绑定 renderer 和 unmountFn 的 patch 函数
|
|
21
|
-
*/
|
|
22
|
-
export declare function createPatchFn(renderer: LytRenderer, unmountFn: (vnode: VNode, container?: any) => void): PatchFn;
|
|
23
|
-
//# sourceMappingURL=patch.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../src/patch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGpC,OAAO,EAA6B,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA;AAIjE;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CACnB,QAAQ,EAAE,WAAW,EACrB,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,KAAK,IAAI,EAClD,EAAE,EAAE,KAAK,GAAG,IAAI,EAChB,EAAE,EAAE,KAAK,EACT,SAAS,EAAE,GAAG,EACd,MAAM,GAAE,GAAU,EAClB,eAAe,GAAE,GAAU,GAC1B,IAAI,CAmEN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,EACrB,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,KAAK,IAAI,GACjD,OAAO,CAIT"}
|
package/dist/types/props.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt.js 渲染器 — 属性处理
|
|
3
|
-
*
|
|
4
|
-
* 本模块包含属性挂载和更新的相关函数。
|
|
5
|
-
*/
|
|
6
|
-
import type { LytRenderer } from './renderer-interfaces';
|
|
7
|
-
/**
|
|
8
|
-
* 挂载单个 prop
|
|
9
|
-
*/
|
|
10
|
-
export declare function mountProp(renderer: LytRenderer, el: any, key: string, value: any): void;
|
|
11
|
-
/**
|
|
12
|
-
* 更新单个 prop
|
|
13
|
-
*/
|
|
14
|
-
export declare function patchSingleProp(renderer: LytRenderer, el: any, key: string, newValue: any, oldValue: any): void;
|
|
15
|
-
/**
|
|
16
|
-
* 全量对比更新所有 props
|
|
17
|
-
*/
|
|
18
|
-
export declare function patchAllProps(renderer: LytRenderer, el: any, oldProps: Record<string, any>, newProps: Record<string, any>): void;
|
|
19
|
-
//# sourceMappingURL=props.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/props.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD;;GAEG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,WAAW,EACrB,EAAE,EAAE,GAAG,EACP,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,GACT,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,WAAW,EACrB,EAAE,EAAE,GAAG,EACP,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,GAAG,GACZ,IAAI,CAmBN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,EACrB,EAAE,EAAE,GAAG,EACP,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,IAAI,CA6BN"}
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt.js 渲染器 — 渲染器抽象接口
|
|
3
|
-
*
|
|
4
|
-
* 本模块定义了平台无关的渲染器接口 LytRenderer,以及渲染器实例接口 RendererInstance。
|
|
5
|
-
*/
|
|
6
|
-
import type { VNode } from './vnode';
|
|
7
|
-
/**
|
|
8
|
-
* LytRenderer — 平台无关的渲染器接口
|
|
9
|
-
*
|
|
10
|
-
* 定义了渲染器需要实现的所有平台操作。
|
|
11
|
-
* 不同的平台(浏览器 DOM、SSR、小程序等)可以实现此接口来接入渲染器。
|
|
12
|
-
*
|
|
13
|
-
* 设计原则:
|
|
14
|
-
* - 所有方法接收 any 类型的元素引用,保持平台无关性
|
|
15
|
-
* - 方法签名简洁,每个方法只做一件事
|
|
16
|
-
* - 不包含任何业务逻辑,纯粹的平台操作抽象
|
|
17
|
-
*/
|
|
18
|
-
export interface LytRenderer {
|
|
19
|
-
/**
|
|
20
|
-
* 创建元素节点
|
|
21
|
-
* @param tag 标签名(如 'div', 'span')
|
|
22
|
-
* @returns 平台特定的元素引用
|
|
23
|
-
*/
|
|
24
|
-
createElement(tag: string): unknown;
|
|
25
|
-
/**
|
|
26
|
-
* 创建文本节点
|
|
27
|
-
* @param text 文本内容
|
|
28
|
-
* @returns 平台特定的文本节点引用
|
|
29
|
-
*/
|
|
30
|
-
createText(text: string): unknown;
|
|
31
|
-
/**
|
|
32
|
-
* 创建注释节点
|
|
33
|
-
* @param text 注释内容
|
|
34
|
-
* @returns 平台特定的注释节点引用
|
|
35
|
-
*/
|
|
36
|
-
createComment(text: string): unknown;
|
|
37
|
-
/**
|
|
38
|
-
* 设置元素属性
|
|
39
|
-
* @param el 元素引用
|
|
40
|
-
* @param key 属性名
|
|
41
|
-
* @param val 属性值
|
|
42
|
-
*/
|
|
43
|
-
setAttribute(el: unknown, key: string, val: unknown): void;
|
|
44
|
-
/**
|
|
45
|
-
* 移除元素属性
|
|
46
|
-
* @param el 元素引用
|
|
47
|
-
* @param key 属性名
|
|
48
|
-
*/
|
|
49
|
-
removeAttribute(el: unknown, key: string): void;
|
|
50
|
-
/**
|
|
51
|
-
* 设置元素样式
|
|
52
|
-
* @param el 元素引用
|
|
53
|
-
* @param style 样式对象或字符串
|
|
54
|
-
*/
|
|
55
|
-
setStyle(el: unknown, style: object): void;
|
|
56
|
-
/**
|
|
57
|
-
* 设置元素 class
|
|
58
|
-
* @param el 元素引用
|
|
59
|
-
* @param cls class 值(字符串或对象)
|
|
60
|
-
*/
|
|
61
|
-
setClass(el: unknown, cls: string | object): void;
|
|
62
|
-
/**
|
|
63
|
-
* 插入子节点
|
|
64
|
-
* @param parent 父节点
|
|
65
|
-
* @param child 子节点
|
|
66
|
-
* @param ref 参考节点(插入到其前面),可选
|
|
67
|
-
*/
|
|
68
|
-
insert(parent: unknown, child: unknown, ref?: unknown): void;
|
|
69
|
-
/**
|
|
70
|
-
* 移除节点
|
|
71
|
-
* @param child 要移除的节点
|
|
72
|
-
*/
|
|
73
|
-
remove(child: unknown): void;
|
|
74
|
-
/**
|
|
75
|
-
* 替换子节点
|
|
76
|
-
* @param parent 父节点
|
|
77
|
-
* @param oldChild 被替换的旧节点
|
|
78
|
-
* @param newChild 替换的新节点
|
|
79
|
-
*/
|
|
80
|
-
replace(parent: unknown, oldChild: unknown, newChild: unknown): void;
|
|
81
|
-
/**
|
|
82
|
-
* 添加事件监听器
|
|
83
|
-
* @param el 元素引用
|
|
84
|
-
* @param event 事件名
|
|
85
|
-
* @param handler 事件处理函数
|
|
86
|
-
* @param options 事件选项(可选)
|
|
87
|
-
*/
|
|
88
|
-
addEventListener(el: unknown, event: string, handler: (...args: unknown[]) => void, options?: unknown): void;
|
|
89
|
-
/**
|
|
90
|
-
* 移除事件监听器
|
|
91
|
-
* @param el 元素引用
|
|
92
|
-
* @param event 事件名
|
|
93
|
-
* @param handler 事件处理函数
|
|
94
|
-
*/
|
|
95
|
-
removeEventListener(el: unknown, event: string, handler: (...args: unknown[]) => void): void;
|
|
96
|
-
/**
|
|
97
|
-
* 在下一个微任务中执行回调
|
|
98
|
-
* @param cb 回调函数
|
|
99
|
-
*/
|
|
100
|
-
nextTick(cb: (...args: unknown[]) => void): void;
|
|
101
|
-
/**
|
|
102
|
-
* 获取父节点
|
|
103
|
-
* @param el 元素引用
|
|
104
|
-
* @returns 父节点引用
|
|
105
|
-
*/
|
|
106
|
-
parentNode(el: unknown): unknown;
|
|
107
|
-
/**
|
|
108
|
-
* 获取下一个兄弟节点
|
|
109
|
-
* @param el 元素引用
|
|
110
|
-
* @returns 下一个兄弟节点引用
|
|
111
|
-
*/
|
|
112
|
-
nextSibling(el: unknown): unknown;
|
|
113
|
-
/**
|
|
114
|
-
* 查询选择器
|
|
115
|
-
* @param selector CSS 选择器
|
|
116
|
-
* @returns 匹配的元素引用
|
|
117
|
-
*/
|
|
118
|
-
querySelector(selector: string): unknown;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* RendererInstance — 渲染器实例
|
|
122
|
-
*
|
|
123
|
-
* createRenderer 工厂函数返回的对象类型。
|
|
124
|
-
* 提供挂载、更新、卸载三个核心方法。
|
|
125
|
-
*/
|
|
126
|
-
export interface RendererInstance {
|
|
127
|
-
/**
|
|
128
|
-
* 挂载 VNode 到容器
|
|
129
|
-
*
|
|
130
|
-
* 将 VNode 树渲染为真实 DOM 并插入到容器中。
|
|
131
|
-
* 如果容器中已有内容,会先清空。
|
|
132
|
-
*
|
|
133
|
-
* @param vnode VNode 树
|
|
134
|
-
* @param container 容器元素
|
|
135
|
-
*/
|
|
136
|
-
mount(vnode: VNode, container: unknown): void;
|
|
137
|
-
/**
|
|
138
|
-
* 对比更新新旧 VNode
|
|
139
|
-
*
|
|
140
|
-
* 对比新旧 VNode 树,计算出最小更新操作并应用到真实 DOM。
|
|
141
|
-
*
|
|
142
|
-
* @param oldVNode 旧 VNode
|
|
143
|
-
* @param newVNode 新 VNode
|
|
144
|
-
* @param container 容器元素(可选)
|
|
145
|
-
*/
|
|
146
|
-
patch(oldVNode: VNode, newVNode: VNode, container?: unknown): void;
|
|
147
|
-
/**
|
|
148
|
-
* 卸载 VNode
|
|
149
|
-
*
|
|
150
|
-
* 从容器中移除 VNode 对应的真实 DOM,并清理事件监听等资源。
|
|
151
|
-
*
|
|
152
|
-
* @param vnode VNode
|
|
153
|
-
* @param container 容器元素(可选)
|
|
154
|
-
*/
|
|
155
|
-
unmount(vnode: VNode, container?: unknown): void;
|
|
156
|
-
}
|
|
157
|
-
//# sourceMappingURL=renderer-interfaces.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-interfaces.d.ts","sourceRoot":"","sources":["../../src/renderer-interfaces.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAMpC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IAEnC;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAEjC;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAEpC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAAA;IAE1D;;;;OAIG;IACH,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAE/C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IAEjD;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAE5D;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAE5B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;IAEpE;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAE5G;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAA;IAE5F;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAA;IAEhD;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAA;IAEhC;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAA;IAEjC;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;CACzC;AAMD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAA;IAE7C;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAElE;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;CACjD"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* abstract-renderer.ts - 抽象渲染器基类
|
|
3
|
-
*
|
|
4
|
-
* 提取 miniapp-renderer.ts 和 native-renderer.ts 中共享的
|
|
5
|
-
* DOM 操作方法(insert / remove / replace / parentNode / nextSibling),
|
|
6
|
-
* 避免代码重复。
|
|
7
|
-
*
|
|
8
|
-
* 两个渲染器的节点结构都包含 _parent 和 children 字段,
|
|
9
|
-
* 因此这些树操作逻辑完全一致。
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* 树节点接口 - 描述具有父子关系的通用节点结构
|
|
13
|
-
*
|
|
14
|
-
* MiniAppNode 和 NativeNode 都满足此接口。
|
|
15
|
-
*/
|
|
16
|
-
export interface TreeNode {
|
|
17
|
-
/** 子节点列表 */
|
|
18
|
-
children: TreeNode[];
|
|
19
|
-
/** 父节点引用(内部使用,不序列化) */
|
|
20
|
-
_parent?: TreeNode;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* 插入子节点
|
|
24
|
-
*
|
|
25
|
-
* 将 child 插入到 parent 的子节点列表中。
|
|
26
|
-
* 如果提供了 ref,则插入到 ref 之前;否则追加到末尾。
|
|
27
|
-
* 会自动清除 child 的旧父节点引用。
|
|
28
|
-
*
|
|
29
|
-
* @param parent 父节点
|
|
30
|
-
* @param child 子节点
|
|
31
|
-
* @param ref 参考节点(插入到其前面),可选
|
|
32
|
-
*/
|
|
33
|
-
export declare function insertChild(parent: TreeNode, child: TreeNode, ref?: TreeNode): void;
|
|
34
|
-
/**
|
|
35
|
-
* 移除节点
|
|
36
|
-
*
|
|
37
|
-
* 将 child 从其父节点的子节点列表中移除,
|
|
38
|
-
* 并清除 child 的父节点引用。
|
|
39
|
-
*
|
|
40
|
-
* @param child 要移除的节点
|
|
41
|
-
*/
|
|
42
|
-
export declare function removeChild(child: TreeNode): void;
|
|
43
|
-
/**
|
|
44
|
-
* 替换子节点
|
|
45
|
-
*
|
|
46
|
-
* 将 parent 子节点列表中的 oldChild 替换为 newChild。
|
|
47
|
-
* 会自动更新父节点引用。
|
|
48
|
-
*
|
|
49
|
-
* @param parent 父节点
|
|
50
|
-
* @param oldChild 被替换的旧节点
|
|
51
|
-
* @param newChild 替换的新节点
|
|
52
|
-
*/
|
|
53
|
-
export declare function replaceChild(parent: TreeNode, oldChild: TreeNode, newChild: TreeNode): void;
|
|
54
|
-
/**
|
|
55
|
-
* 获取父节点
|
|
56
|
-
*
|
|
57
|
-
* @param el 树节点
|
|
58
|
-
* @returns 父节点,无父节点时返回 null
|
|
59
|
-
*/
|
|
60
|
-
export declare function getParentNode(el: TreeNode): TreeNode | null;
|
|
61
|
-
/**
|
|
62
|
-
* 获取下一个兄弟节点
|
|
63
|
-
*
|
|
64
|
-
* @param el 树节点
|
|
65
|
-
* @returns 下一个兄弟节点,无时返回 null
|
|
66
|
-
*/
|
|
67
|
-
export declare function getNextSibling(el: TreeNode): TreeNode | null;
|
|
68
|
-
/**
|
|
69
|
-
* 在下一个微任务中执行回调
|
|
70
|
-
*
|
|
71
|
-
* @param cb 回调函数
|
|
72
|
-
*/
|
|
73
|
-
export declare function nextTick(cb: Function): void;
|
|
74
|
-
//# sourceMappingURL=abstract-renderer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-renderer.d.ts","sourceRoot":"","sources":["../../../src/shared/abstract-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,YAAY;IACZ,QAAQ,EAAE,QAAQ,EAAE,CAAA;IACpB,uBAAuB;IACvB,OAAO,CAAC,EAAE,QAAQ,CAAA;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAuBnF;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CASjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAS3F;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAO5D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAE3C"}
|