@viewfly/core 2.2.0 → 3.0.0-alpha.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/dist/base/_api.d.ts +0 -1
- package/dist/base/component.d.ts +19 -7
- package/dist/base/context.d.ts +70 -0
- package/dist/base/jsx-element.d.ts +1 -1
- package/dist/base/lifecycle.d.ts +24 -7
- package/dist/base/ref.d.ts +36 -30
- package/dist/base/types.d.ts +4 -7
- package/dist/index.d.ts +0 -1
- package/dist/index.esm.js +344 -285
- package/dist/index.js +1034 -416
- package/dist/reactive/_api.d.ts +2 -0
- package/dist/reactive/computed.d.ts +7 -1
- package/dist/reactive/reactive.d.ts +52 -0
- package/dist/reactive/watch-effect.d.ts +7 -0
- package/dist/reactive/watch.d.ts +8 -1
- package/package.json +8 -8
- package/dist/base/memo.d.ts +0 -8
- package/dist/signals/_api.d.ts +0 -3
- package/dist/signals/derived.d.ts +0 -9
- package/dist/signals/effect.d.ts +0 -22
- /package/dist/{signals → reactive}/signal.d.ts +0 -0
package/dist/reactive/_api.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
export interface Computed<T> {
|
|
2
2
|
readonly value: T;
|
|
3
3
|
}
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* 创建一个 computed,当依赖的值发生变化时,会重新计算值。
|
|
6
|
+
* computed 会返回一个对象,对象的 value 属性是计算的值。
|
|
7
|
+
* @param getter 计算函数,用于计算值
|
|
8
|
+
* @returns 一个对象,对象的 value 属性是计算的值
|
|
9
|
+
*/
|
|
10
|
+
export declare function computed<T>(getter: () => T): Computed<T>;
|
|
@@ -1,11 +1,42 @@
|
|
|
1
1
|
export declare const rawToProxyCache: WeakMap<object, any>;
|
|
2
2
|
export declare const proxyToRawCache: WeakMap<object, any>;
|
|
3
|
+
/**
|
|
4
|
+
* 将响应式对象转换为原始对象
|
|
5
|
+
* @param value 响应式对象
|
|
6
|
+
* @returns 原始对象
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* const obj = reactive({
|
|
10
|
+
* name: 'John',
|
|
11
|
+
* age: 18
|
|
12
|
+
* })
|
|
13
|
+
* console.log(toRaw(obj))
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
3
16
|
export declare function toRaw<T>(value: T): T;
|
|
17
|
+
/**
|
|
18
|
+
* 检查对象是否是响应式对象
|
|
19
|
+
* @param value 要检查的对象
|
|
20
|
+
* @returns 是否是响应式对象
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* const obj = reactive({
|
|
24
|
+
* name: 'John',
|
|
25
|
+
* age: 18
|
|
26
|
+
* })
|
|
27
|
+
* console.log(isReactive(obj))
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
4
30
|
export declare function isReactive(value: any): boolean;
|
|
5
31
|
export interface ReactiveConfig {
|
|
6
32
|
readonly: boolean;
|
|
7
33
|
shallow: boolean;
|
|
8
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* 内部写入,用于避免类型为只读的响应式对象写入报错
|
|
37
|
+
* @param fn 要执行的函数
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
9
40
|
export declare function internalWrite(fn: () => void): void;
|
|
10
41
|
export declare class ObjectReactiveHandler<T extends object> implements ProxyHandler<T> {
|
|
11
42
|
protected isShallow: boolean;
|
|
@@ -86,4 +117,25 @@ export declare const defaultArrayReactiveHandler: ArrayReactiveHandler;
|
|
|
86
117
|
export declare const defaultMapReactiveHandler: MapReactiveHandler;
|
|
87
118
|
export declare const defaultSetReactiveHandler: SetReactiveHandler;
|
|
88
119
|
export declare const readonlyProxyHandler: ObjectReactiveHandler<object>;
|
|
120
|
+
export declare function createShallowReadonlyProxy<T extends object>(value: T): Readonly<T>;
|
|
121
|
+
/**
|
|
122
|
+
* 创建一个响应式对象
|
|
123
|
+
* @param raw 原始对象
|
|
124
|
+
* @returns 响应式对象
|
|
125
|
+
* @example
|
|
126
|
+
* ```tsx
|
|
127
|
+
* const obj = reactive({
|
|
128
|
+
* name: 'John',
|
|
129
|
+
* age: 18,
|
|
130
|
+
* children: [
|
|
131
|
+
* {
|
|
132
|
+
* name: 'Jane',
|
|
133
|
+
* age: 16
|
|
134
|
+
* }
|
|
135
|
+
* ]
|
|
136
|
+
* })
|
|
137
|
+
* console.log(obj.name)
|
|
138
|
+
* console.log(obj.children[0].name)
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
89
141
|
export declare function reactive<T>(raw: T): T;
|
package/dist/reactive/watch.d.ts
CHANGED
|
@@ -1 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* 创建一个 watch,当依赖的值发生变化时,会执行 callback 函数。
|
|
3
|
+
* watch 会返回一个函数,用于停止监听。
|
|
4
|
+
* @param trigger 触发函数,用于获取依赖的值
|
|
5
|
+
* @param callback 回调函数,当依赖的值发生变化时,会执行 callback 函数
|
|
6
|
+
* @returns 一个函数,用于停止监听
|
|
7
|
+
*/
|
|
8
|
+
export declare function watch<T>(trigger: () => T, callback: (newValue: T, oldValue: T) => void): () => void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@viewfly/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0-alpha.0",
|
|
4
4
|
"description": "Viewfly is a simple and easy-to-use JavaScript framework with an intuitive development experience.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.esm.js",
|
|
@@ -22,12 +22,6 @@
|
|
|
22
22
|
"require": "./dist/jsx-runtime/index.js"
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
|
-
"scripts": {
|
|
26
|
-
"build:lib": "rimraf dist && pnpm run build && pnpm run build:jsx-runtime",
|
|
27
|
-
"build": "vite build --config vite.config.ts",
|
|
28
|
-
"build:jsx-runtime": "vite build --config vite.jsx-runtime.config.ts",
|
|
29
|
-
"publish:lib": "npm run build:lib && npm publish --access=public"
|
|
30
|
-
},
|
|
31
25
|
"files": [
|
|
32
26
|
"dist/**/*"
|
|
33
27
|
],
|
|
@@ -53,5 +47,11 @@
|
|
|
53
47
|
},
|
|
54
48
|
"dependencies": {
|
|
55
49
|
"reflect-metadata": "^0.2.2"
|
|
50
|
+
},
|
|
51
|
+
"scripts": {
|
|
52
|
+
"build:lib": "rimraf dist && pnpm run build && pnpm run build:jsx-runtime",
|
|
53
|
+
"build": "vite build --config vite.config.ts",
|
|
54
|
+
"build:jsx-runtime": "vite build --config vite.jsx-runtime.config.ts",
|
|
55
|
+
"publish:lib": "npm run build:lib && npm publish --access=public"
|
|
56
56
|
}
|
|
57
|
-
}
|
|
57
|
+
}
|
package/dist/base/memo.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Props } from './jsx-element';
|
|
2
|
-
import { ComponentInstance, JSXNode } from './component';
|
|
3
|
-
/**
|
|
4
|
-
* @deprecated 即将弃用,Viewfly 默认就有 memo 的效果
|
|
5
|
-
* @param canUseMemo
|
|
6
|
-
* @param render
|
|
7
|
-
*/
|
|
8
|
-
export declare function withMemo<T extends Props = Props>(canUseMemo: ComponentInstance<T>['$useMemo'], render: () => JSXNode): ComponentInstance<T>;
|
package/dist/signals/_api.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Signal } from './signal';
|
|
2
|
-
/**
|
|
3
|
-
* 使用派生值,Viewfly 会收集回调函数内同步执行时访问的 Signal,
|
|
4
|
-
* 并在你获取 createDerived 函数返回的 Signal 的值时,自动计算最新的值。
|
|
5
|
-
*
|
|
6
|
-
* @param fn
|
|
7
|
-
* @param isContinue 可选的停止函数,在每次值更新后调用,当返回值为 false 时,将不再监听依赖的变化
|
|
8
|
-
*/
|
|
9
|
-
export declare function createDerived<T>(fn: () => T, isContinue?: (data: T) => unknown): Signal<T>;
|
package/dist/signals/effect.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Signal } from './signal';
|
|
2
|
-
export interface EffectCallback<T> {
|
|
3
|
-
(newValue: T, oldValue: T): void | (() => void);
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* 监听状态变化,当任意一个状态发生变更时,触发回调。
|
|
7
|
-
* createEffect 会返回一个取消监听的函数,调用此函数,可以取消监听。
|
|
8
|
-
* 当在组件中调用时,组件销毁时会自动取消监听。
|
|
9
|
-
* @param deps 依赖的状态 Signal,可以是一个 Signal,只可以一个数包含 Signal 的数组,或者是一个求值函数
|
|
10
|
-
* @param callback 状态变更后的回调函数
|
|
11
|
-
*/
|
|
12
|
-
export declare function createEffect<T>(deps: Signal<T>, callback: EffectCallback<T>): () => void;
|
|
13
|
-
export declare function createEffect<T>(deps: [Signal<T>], callback: EffectCallback<[T]>): () => void;
|
|
14
|
-
export declare function createEffect<T, T1>(deps: [Signal<T>, Signal<T1>], callback: EffectCallback<[T, T1]>): () => void;
|
|
15
|
-
export declare function createEffect<T, T1, T2>(deps: [Signal<T>, Signal<T1>, Signal<T2>], callback: EffectCallback<[T, T1, T2]>): () => void;
|
|
16
|
-
export declare function createEffect<T, T1, T2, T3>(deps: [Signal<T>, Signal<T1>, Signal<T2>, Signal<T3>], callback: EffectCallback<[T, T1, T2, T3]>): () => void;
|
|
17
|
-
export declare function createEffect<T, T1, T2, T3, T4>(deps: [Signal<T>, Signal<T1>, Signal<T2>, Signal<T3>, Signal<T4>], callback: EffectCallback<[T, T1, T2, T3, T4]>): () => void;
|
|
18
|
-
export declare function createEffect<T, T1, T2, T3, T4, T5>(deps: [Signal<T>, Signal<T1>, Signal<T2>, Signal<T3>, Signal<T4>, Signal<T5>], callback: EffectCallback<[T, T1, T2, T3, T4, T5]>): () => void;
|
|
19
|
-
export declare function createEffect<T, T1, T2, T3, T4, T5, T6>(deps: [Signal<T>, Signal<T1>, Signal<T2>, Signal<T3>, Signal<T4>, Signal<T5>, Signal<T6>], callback: EffectCallback<[T, T1, T2, T3, T4, T5, T6]>): () => void;
|
|
20
|
-
export declare function createEffect<T, T1, T2, T3, T4, T5, T6, T7>(deps: [Signal<T>, Signal<T1>, Signal<T2>, Signal<T3>, Signal<T4>, Signal<T5>, Signal<T6>, Signal<T7>], callback: EffectCallback<[T, T1, T2, T3, T4, T5, T6, T7]>): () => void;
|
|
21
|
-
export declare function createEffect<T>(deps: () => T, callback: EffectCallback<T>): () => void;
|
|
22
|
-
export declare function createEffect<T = any>(deps: Signal<any>[], callback: EffectCallback<T[]>): () => void;
|
|
File without changes
|