@praxisjs/concurrent
Changelog for @praxisjs/concurrent — @Task, @Queue, and @Pool for async concurrency control.
@praxisjs/concurrent
1.2.9
Updated dependencies — @praxisjs/[email protected], @praxisjs/[email protected].
1.2.8
Updated dependencies — @praxisjs/[email protected].
1.2.7
Updated dependencies — @praxisjs/[email protected].
1.2.6
Updated dependencies — @praxisjs/[email protected], @praxisjs/[email protected].
1.2.5
Updated dependencies — @praxisjs/[email protected], @praxisjs/[email protected].
1.2.4
Updated dependencies — @praxisjs/[email protected], @praxisjs/[email protected].
1.2.3
Updated dependencies — @praxisjs/[email protected], @praxisjs/[email protected].
1.2.2
Refreshed workspace dependencies for stability and security. Updated dependencies — @praxisjs/[email protected].
1.2.1
Updated dependencies — @praxisjs/[email protected], @praxisjs/[email protected].
1.2.0
@Task, @Queue, @Pool redesigned as field decorators.
Each decorator now goes on a separate field next to the async method, not on the method itself. The method name is the first argument. Reactive state is accessed as sub-properties with full TypeScript intellisense via TaskOf, QueueOf, PoolOf:
// before
@Task()
async loadUser(id: number) { ... }
// this.loadUser_loading() — no intellisense
// after
async loadUser(id: number) { ... }
@Task('loadUser')
taskLoadUser!: TaskOf<MyClass, 'loadUser'>
// this.taskLoadUser(1) ✓ — call it
// this.taskLoadUser.loading() ✓ — reactive boolean
// this.taskLoadUser.error() ✓ — reactive Error | null@Pool argument order changed
@Pool now takes the method name first, concurrency second: @Pool('method', 3) (was @Pool(3, 'method')).
1.0.0
Breaking — functional APIs removed
| Removed | Replacement |
|---|---|
task(method) | @Task('method') field decorator |
queue(method) | @Queue('method') field decorator |
pool(n, method) | @Pool('method', n) field decorator |
0.1.0
Initial beta release.