All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
4.1.25 (2020-12-22)
Note: Version bump only for package @thi.ng/atom
4.1.0 (2020-04-01)
- atom: protect Transacted against out-of-phase updates (675a25b)
4.0.0 (2020-03-28)
- atom: fix defViewUnsafe() type inference (bb5593a)
- atom: update path value inference handling (8c2aab2)
- atom: add typechecking for resetIn(), swapIn() impls (f114e10)
- atom: update types, API for supporting type-checked & unchecked paths (82948b8)
- atom: update IReset, ISwap, SwapFn generics
- use PathVal & OptPathVal for value type inference
- atom: update types, API for supporting type-checked & unchecked paths
- support path type checking for upto 8 levels (before falling back to
any
) - update
resetIn()
/swapIn()
impls in all types to expect type-checked paths - add
resetInUnsafe()
/swapInUnsafe()
for string-based / unchecked paths - remove support for non-atom-like Cursor parent states
- simplify Cursor ctor
- remove
IViewable
interface and.addView()
impls (usedefView()
instead) - remove
ViewTransform
type alias - add factory fns for typed paths:
- defAtom()
- defCursor()
- defHistory()
- defTransacted()
- defView()
- add factory fns for untyped paths:
- defCursorUnsafe()
- defViewUnsafe()
- atom: add typechecking for resetIn(), swapIn() impls
The more stricter method signatures could lead to breaking changes in more lax existing code bases
3.1.0 (2019-09-21)
- atom: add Transacted wrapper & tests (8aaf6e6)
- atom: update Transacted watch ID handling, update tests, readme (93d9e1d)
3.0.0 (2019-07-07)
- atom: TS strictNullChecks (493ea57)
- atom: enable TS strict compiler flags (refactor) (c5d2853)
- atom: IView & IHistory methods can return undefined
- Atom ctor requires an initial state now
2.0.0 (2019-01-21)
- update package build scripts & outputs, imports in ~50 packages (b54b703)
- enabled multi-outputs (ES6 modules, CJS, UMD)
- build scripts now first build ES6 modules in package root, then call
scripts/bundle-module
to build minified CJS & UMD bundles in/lib
- all imports MUST be updated to only refer to package level (not individual files anymore). tree shaking in user land will get rid of all unused imported symbols.
1.5.3-alpha.1 (2018-09-17)
- atom: add .value getter to IView (3e647a1)
1.5.0 (2018-08-27)
- atom: add .value accessor aliases (for deref()/reset()) (a0cbd2b)
1.4.0 (2018-05-30)
- atom: add INotify impl for History (9422598)
- atom: provide prev/curr states to history event listeners (7ac6227)
1.3.0 (2018-04-15)
- atom: update History.record(), add IHistory interface (cf42260)
1.2.0 (2018-03-21)
- atom: add CursorOpts and cursor validation, update ctor, add tests (3b1d563)
- atom: add optional validation predicate for Atom, add tests (bae1647)
- atom: consider parent validators in History update fns (d93940a)
1.1.0 (2018-03-18)
- atom: add optional support for eager views, update tests/readme (c0ec274)
- atom: extract @thi.ng/paths & @thi.ng/interceptors functionality (1273efb)
- atom: extract @thi.ng/paths & @thi.ng/interceptors functionality
0.13.0 (2018-03-16)
- atom: add forwardSideFx() interceptor (357c46e)
- atom: add FX_FETCH & FX_DELAY sidefx impl, update docs (e52e7e5)
0.12.1 (2018-03-11)
- atom: ignore side fx with null values (0ca0bf3)
0.12.0 (2018-03-09)
- atom: add interceptors to re-exports (59085e0)
- atom: add IRelease impls (9b3d91e)
- atom: add/extract StatelessEventBus (3fae249)
- atom: update EventBus ctor, add deref() (667691c)
0.11.0 (2018-03-09)
- atom: add default handlers, add/rename event/fx const values, add checks (1fd43d7)
- atom: add valueSetter/Updater() interceptors (359c4f5)
0.10.0 (2018-03-08)
- atom: add async dispatch effect, update event bus & api types (56866e0)
0.9.2 (2018-03-08)
- atom: add EventBus to module re-exports, minor cleanup (9e5239b)
0.9.0 (2018-03-07)
- atom: re-add refactored EventBus & interceptor handling (e01bf73)
0.8.0 (2018-03-05)
- atom: update IAtom, add resetIn() & swapIn() impls (a7e61a4)
0.7.1 (2018-03-01)
- atom: re-export api.ts (3e55a05)
0.7.0 (2018-03-01)
- atom: add IView, IViewable, impl for Atom, Cursor, History (9ad83b2)
- atom: add View type to create derrived views/value subscriptions (8c0c621)
- atom: add optimized getters for path len < 5 (ed23376)
- atom: add optimized setter() for path len < 5, fix toPath() (55c6a7d)
0.6.0 (2018-02-18)
- atom: empty path handling getter/setter (fbc819e)
0.5.0 (2018-02-01)
- atom: cursor swap() return type (36cc956)
- atom: truncate redo stack in record(), swap() return type (8218814)
- atom: add History.canUndo/Redo() (c5b6e0f)
0.4.0 (2018-01-31)
- atom: add full IAtom impl for History, update tests (5538362)
0.3.0 (2018-01-31)
- atom: cursor ctor arg checks (282d989)
0.2.0 (2018-01-29)
- atom: add nested path getter / setter compilers (5dce8a2)
0.1.1 (2018-01-29)
- atom: cursor IWatch impls (replace stubs) (cca801b)