alien-signals
Advanced tools
Comparing version 0.3.0-alpha.2 to 0.3.0
{ | ||
"name": "alien-signals", | ||
"version": "0.3.0-alpha.2", | ||
"version": "0.3.0", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "packageManager": "pnpm@9.12.0", |
@@ -13,11 +13,10 @@ <p align="center"> | ||
The goal of `alien-signals` is to create a Signal library with the lowest overhead. | ||
The goal of `alien-signals` is to create a push-pull model based aignal library with the lowest overhead. | ||
We have set the following scheduling logic constraints: | ||
1. Based on Push-Pull | ||
2. No dynamic objects | ||
3. No use of Array/Set/Map | ||
4. No recursion calls | ||
5. Class properties must be fewer than 10 (https://v8.dev/blog/fast-properties) | ||
1. No dynamic object fields | ||
2. No use of Array/Set/Map | ||
3. No recursion calls | ||
4. Class properties must be fewer than 10 (https://v8.dev/blog/fast-properties) | ||
@@ -82,5 +81,5 @@ Experimental results have shown that with these constraints, it is possible to achieve excellent performance for a Signal library without using sophisticated scheduling strategies. The overall performance of `alien-signals` is approximately 400% that of Vue 3.4's reactivity system. | ||
|---------|-----------------------------------------------------------------------------------------------| | ||
| 0.3 | ~~Correctly schedule child effect scopes~~ | | ||
| 0.3 | Satisfy all 4 constraints | | ||
| 0.2 | Correctly schedule computed side effects | | ||
| 0.1 | Correctly schedule inner effect callbacks | | ||
| 0.0 | Add APIs: `signal()`, `computed()`, `effect()`, `effectScope()`, `startBatch()`, `endBatch()` | |
@@ -47,5 +47,5 @@ export interface IEffect extends Subscriber { | ||
export declare function propagate(subs: Link): void; | ||
export declare function checkDirty(link: Link, depth?: number): boolean; | ||
export declare function checkDirty(deps: Link): boolean; | ||
export declare function startTrack(sub: Subscriber): Subscriber | undefined; | ||
export declare function endTrack(sub: Subscriber, prevSub: Subscriber | undefined): void; | ||
export declare function clearTrack(link: Link): void; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
0
49298
1618
84