Skip to content

Commit 011a7c8

Browse files
committed
unify type styles
1 parent 3975651 commit 011a7c8

File tree

6 files changed

+46
-46
lines changed

6 files changed

+46
-46
lines changed

src/commit.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { FiberFinish, FiberHost, HTMLElementEx, IFiber, Ref, TAG } from './type'
1+
import { FiberFinish, FiberHost, HTMLElementEx, Fiber, Ref, TAG } from './type'
22
import { updateElement } from './dom'
33
import { isFn } from './reconcile'
44

@@ -38,14 +38,14 @@ const refer = (ref?: Ref<HTMLElementEx>, dom?: HTMLElementEx) => {
3838
if (ref) isFn(ref) ? ref(dom) : (ref.current = dom)
3939
}
4040

41-
const kidsRefer = (kids: IFiber[]) => {
41+
const kidsRefer = (kids: Fiber[]) => {
4242
kids.forEach((kid) => {
4343
kid.kids && kidsRefer(kid.kids)
4444
refer(kid.ref, null)
4545
})
4646
}
4747

48-
export const removeElement = (fiber: IFiber) => {
48+
export const removeElement = (fiber: Fiber) => {
4949
if (fiber.isComp) {
5050
fiber.hooks && fiber.hooks.list.forEach((e) => e[2] && e[2]())
5151
fiber.kids.forEach(removeElement)

src/h.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { isStr, arrayfy } from './reconcile'
2-
import { FC, FreNode, FreText, IFiber } from './type'
2+
import { FC, FreNode, FreText, Fiber } from './type'
33

44
// for jsx2
55
export const h = (type: string | FC, props: any, ...kids: FreNode[]) => {
@@ -20,7 +20,7 @@ export const h = (type: string | FC, props: any, ...kids: FreNode[]) => {
2020
const some = <T>(x: T | boolean | null | undefined): x is T =>
2121
x != null && x !== true && x !== false
2222

23-
const flat = (arr: FreNode[], target: IFiber[] = []) => {
23+
const flat = (arr: FreNode[], target: Fiber[] = []) => {
2424
arr.forEach((v) => {
2525
isArr(v)
2626
? flat(v, target)
@@ -37,7 +37,7 @@ export const createVnode = (type, props, key, ref) => ({
3737
})
3838

3939
export const createText = (vnode: FreText) =>
40-
({ type: '#text', props: { nodeValue: vnode + '' } } as IFiber)
40+
({ type: '#text', props: { nodeValue: vnode + '' } } as Fiber)
4141

4242
export function Fragment(props) {
4343
return props.children

src/hook.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { update, isFn, getCurrentFiber } from './reconcile'
22
import {
33
DependencyList,
44
Reducer,
5-
IFiber,
5+
Fiber,
66
Dispatch,
77
SetStateAction,
88
EffectCallback,
@@ -93,13 +93,13 @@ export const useRef = <T>(current: T): RefObject<T> => {
9393
}
9494

9595
export const getHook = <T extends HookList = HookList>(cursor: number) => {
96-
const current: IFiber = getCurrentFiber()
96+
const current: Fiber = getCurrentFiber()
9797
const hooks =
9898
current.hooks || (current.hooks = { list: [], effect: [], layout: [] })
9999
if (cursor >= hooks.list.length) {
100100
hooks.list.push([] as any)
101101
}
102-
return [hooks.list[cursor], current] as unknown as [Partial<T>, IFiber]
102+
return [hooks.list[cursor], current] as unknown as [Partial<T>, Fiber]
103103
}
104104

105105
export type ContextType<T> = {

src/reconcile.ts

+18-18
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,35 @@
1-
import { IFiber, FC, HookEffect, FreText, TAG, Action, FiberHost, FiberFinish } from './type'
1+
import { Fiber, FC, HookEffect, FreText, TAG, Action, FiberHost, FiberFinish } from './type'
22
import { createElement } from './dom'
33
import { resetCursor } from './hook'
44
import { schedule, shouldYield } from './schedule'
55
import { isArr, createText } from './h'
66
import { commit, removeElement } from './commit'
77

8-
let currentFiber: IFiber = null
8+
let currentFiber: Fiber = null
99
let rootFiber = null
1010

11-
export const render = (vnode: IFiber, node: Node) => {
11+
export const render = (vnode: Fiber, node: Node) => {
1212
rootFiber = {
1313
node,
1414
props: { children: vnode },
15-
} as IFiber
15+
} as Fiber
1616
update(rootFiber)
1717
}
1818

19-
export const update = (fiber?: IFiber) => {
19+
export const update = (fiber?: Fiber) => {
2020
if (!fiber.dirty) {
2121
fiber.dirty = true
2222
schedule(() => reconcile(fiber))
2323
}
2424
}
2525

26-
const reconcile = (fiber?: IFiber) => {
26+
const reconcile = (fiber?: Fiber) => {
2727
while (fiber && !shouldYield()) fiber = capture(fiber)
2828
if (fiber) return reconcile.bind(null, fiber) as typeof reconcile
2929
return null
3030
}
3131

32-
const memo = (fiber: IFiber) => {
32+
const memo = (fiber: Fiber) => {
3333
if ((fiber.type as FC).memo && fiber.old?.props) {
3434
let scu = (fiber.type as FC).shouldUpdate || shouldUpdate
3535
if (!scu(fiber.props, fiber.old.props)) {
@@ -40,7 +40,7 @@ const memo = (fiber: IFiber) => {
4040
return null
4141
}
4242

43-
const capture = (fiber: IFiber) => {
43+
const capture = (fiber: Fiber) => {
4444
fiber.isComp = isFn(fiber.type)
4545
if (fiber.isComp) {
4646
const memoFiber = memo(fiber)
@@ -56,7 +56,7 @@ const capture = (fiber: IFiber) => {
5656
return sibling
5757
}
5858

59-
const getSibling = (fiber?: IFiber) => {
59+
const getSibling = (fiber?: Fiber) => {
6060
while (fiber) {
6161
bubble(fiber)
6262
if (fiber.dirty) {
@@ -70,7 +70,7 @@ const getSibling = (fiber?: IFiber) => {
7070
return null
7171
}
7272

73-
const bubble = (fiber: IFiber) => {
73+
const bubble = (fiber: Fiber) => {
7474
if (fiber.isComp) {
7575
if (fiber.hooks) {
7676
side(fiber.hooks.layout)
@@ -87,7 +87,7 @@ const shouldUpdate = (
8787
for (let i in b) if (a[i] !== b[i]) return true
8888
}
8989

90-
const updateHook = (fiber: IFiber) => {
90+
const updateHook = (fiber: Fiber) => {
9191
resetCursor()
9292
currentFiber = fiber
9393
let children = (fiber.type as FC)(fiber.props)
@@ -103,18 +103,18 @@ const updateHost = (fiber: FiberHost) => {
103103
reconcileChidren(fiber, fiber.props.children)
104104
}
105105

106-
const simpleVnode = (type: IFiber | FreText) =>
106+
const simpleVnode = (type: Fiber | FreText) =>
107107
isStr(type) ? createText(type) : type
108108

109-
const getParentNode = (fiber: IFiber) => {
109+
const getParentNode = (fiber: Fiber) => {
110110
while ((fiber = fiber.parent)) {
111111
if (!fiber.isComp) return fiber.node
112112
}
113113
}
114114

115115
const reconcileChidren = (
116-
fiber: IFiber,
117-
children: IFiber | IFiber[] | null | undefined
116+
fiber: Fiber,
117+
children: Fiber | Fiber[] | null | undefined
118118
) => {
119119
let aCh = fiber.kids || [],
120120
bCh = (fiber.kids = arrayfy(children))
@@ -136,7 +136,7 @@ const reconcileChidren = (
136136
}
137137
}
138138

139-
function clone(a: IFiber, b: IFiber) {
139+
function clone(a: Fiber, b: Fiber) {
140140
b.hooks = a.hooks
141141
b.ref = a.ref
142142
b.node = a.node // 临时修复
@@ -153,11 +153,11 @@ const side = (effects?: HookEffect[]) => {
153153
effects.length = 0
154154
}
155155

156-
const diff = function (a: IFiber[], b: IFiber[]) {
156+
const diff = function (a: Fiber[], b: Fiber[]) {
157157
var actions: Action[] = [],
158158
aIdx: Record<string, number | undefined> = {},
159159
bIdx: Record<string, number | undefined> = {},
160-
key = (v: IFiber) => v.key + v.type,
160+
key = (v: Fiber) => v.key + v.type,
161161
i: number,
162162
j: number
163163
for (i = 0; i < a.length; i++) {

src/schedule.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { ITask, ITaskCallback } from './type'
1+
import { Task, TaskCallback } from './type'
22

3-
const queue: ITask[] = []
3+
const queue: Task[] = []
44
const threshold: number = 5
55
const transitions: (() => void)[] = []
66
let deadline: number = 0
@@ -9,7 +9,7 @@ export const startTransition = (cb: () => void) => {
99
transitions.push(cb) && translate()
1010
}
1111

12-
export const schedule = (callback: ITaskCallback) => {
12+
export const schedule = (callback: TaskCallback) => {
1313
queue.push({ callback })
1414
startTransition(flush)
1515
}
@@ -52,4 +52,4 @@ export const shouldYield = () => {
5252

5353
export const getTime = () => performance.now()
5454

55-
const peek = (queue: ITask[]) => queue[0]
55+
const peek = (queue: Task[]) => queue[0]

src/type.ts

+15-15
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ export interface IntrinsicAttributes extends Record<string, any> {
1616
export interface Attributes extends Record<string, any> {
1717
key?: Key
1818
ref?: Ref
19-
children?: IFiber[]
19+
children?: Fiber[]
2020
}
2121

2222
export interface FC<P extends IntrinsicAttributes = IntrinsicAttributes> {
23-
(props: P): IFiber | FreText | null | undefined
24-
fiber?: IFiber
23+
(props: P): Fiber | FreText | null | undefined
24+
fiber?: Fiber
2525
type?: string
2626
memo?: boolean
2727
shouldUpdate?: (newProps: P, oldProps: P) => boolean
@@ -61,7 +61,7 @@ interface FiberBaseFinish extends FiberBase {
6161
old?: FiberFinish
6262
}
6363

64-
export type IFiber = FiberHost | FiberComp | FiberBase
64+
export type Fiber = FiberHost | FiberComp | FiberBase
6565

6666
export interface FiberHost extends FiberBase {
6767
type?: string
@@ -88,22 +88,22 @@ interface FiberBase {
8888
isComp?: boolean
8989
parentNode?: HTMLElementEx | {}
9090
node?: HTMLElementEx
91-
kids?: IFiber[]
91+
kids?: Fiber[]
9292
dirty?: boolean
93-
parent?: IFiber
94-
sibling?: IFiber
95-
child?: IFiber
93+
parent?: Fiber
94+
sibling?: Fiber
95+
child?: Fiber
9696
ref?: Ref<HTMLElement | undefined>
97-
old?: IFiber
97+
old?: Fiber
9898
hooks?: Hooks
9999
action?: Action | null
100100
lane?: number
101101
}
102102

103103
export interface Action {
104104
op: TAG
105-
elm?: IFiber
106-
before?: IFiber
105+
elm?: Fiber
106+
before?: Fiber
107107
}
108108

109109
export const enum TAG {
@@ -120,15 +120,15 @@ export type HTMLElementEx = HTMLElement | Text | SVGElement
120120

121121
export type FreText = string | number
122122
export type FreNode = Child[] | Child
123-
export type Child = IFiber | FreText | null | undefined | boolean
123+
export type Child = Fiber | FreText | null | undefined | boolean
124124
export type SetStateAction<S> = S | ((prevState: S) => S)
125125
export type Dispatch<A> = (value: A) => void
126126
export type Reducer<S, A> = (prevState: S, action: A) => S
127127
export type EffectCallback = () => any | (() => () => any)
128128
export type DependencyList = ReadonlyArray<unknown>
129129

130-
export type ITaskCallback = (() => ITaskCallback) | null | undefined
130+
export type TaskCallback = (() => TaskCallback) | null | undefined
131131

132-
export interface ITask {
133-
callback?: ITaskCallback
132+
export interface Task {
133+
callback?: TaskCallback
134134
}

0 commit comments

Comments
 (0)