@view-models/core 1.0.0 → 1.1.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/README.md +5 -2
- package/dist/ViewModel.d.ts +4 -2
- package/dist/ViewModel.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ViewModel.ts +4 -1
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
A lightweight, framework-agnostic library for building reactive view models with TypeScript. Separate your business logic from your UI framework with a simple, testable pattern.
|
|
4
4
|
|
|
5
|
+

|
|
6
|
+
|
|
5
7
|
## Why View Models?
|
|
6
8
|
|
|
7
9
|
- **Framework Agnostic**: Write your logic once, use it with React, Preact, or any other framework
|
|
@@ -200,9 +202,10 @@ class AppViewModel {
|
|
|
200
202
|
}
|
|
201
203
|
```
|
|
202
204
|
|
|
203
|
-
###
|
|
205
|
+
### Asynchronous actions
|
|
204
206
|
|
|
205
|
-
|
|
207
|
+
While the update logic is pure, you can use methods to execute asynchronous
|
|
208
|
+
actions:
|
|
206
209
|
|
|
207
210
|
```typescript
|
|
208
211
|
class TodosViewModel extends ViewModel<TodosState> {
|
package/dist/ViewModel.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The base type of view model state.
|
|
3
|
+
*/
|
|
4
|
+
export type State = Readonly<object>;
|
|
2
5
|
/**
|
|
3
6
|
* Function that receives the current state and returns the new state.
|
|
4
7
|
* The updater function should be pure and return a new state object.
|
|
@@ -97,5 +100,4 @@ export declare abstract class ViewModel<T extends State> {
|
|
|
97
100
|
*/
|
|
98
101
|
get state(): T;
|
|
99
102
|
}
|
|
100
|
-
export {};
|
|
101
103
|
//# sourceMappingURL=ViewModel.d.ts.map
|
package/dist/ViewModel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewModel.d.ts","sourceRoot":"","sources":["../src/ViewModel.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"ViewModel.d.ts","sourceRoot":"","sources":["../src/ViewModel.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAErC;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,8BAAsB,SAAS,CAAC,CAAC,SAAS,KAAK;IAC7C,OAAO,CAAC,UAAU,CAAwC;IAE1D;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAOrD,OAAO,CAAC,MAAM,CAAI;IAElB;;;;OAIG;gBACS,YAAY,EAAE,CAAC;IAI3B;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAQpC;;;;OAIG;IACH,IAAI,KAAK,IAAI,CAAC,CAEb;CACF"}
|
package/package.json
CHANGED