vasille 2.2.0 → 2.3.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.
Files changed (43) hide show
  1. package/README.md +34 -28
  2. package/cdn/es2015.js +548 -548
  3. package/cdn/es5.js +616 -608
  4. package/flow-typed/vasille.js +55 -50
  5. package/lib/binding/attribute.js +1 -1
  6. package/lib/binding/binding.js +5 -5
  7. package/lib/binding/class.js +2 -2
  8. package/lib/binding/style.js +1 -1
  9. package/lib/core/core.js +21 -15
  10. package/lib/core/destroyable.js +2 -2
  11. package/lib/core/ivalue.js +4 -4
  12. package/lib/functional/reactivity.js +1 -1
  13. package/lib/index.js +2 -3
  14. package/lib/models/array-model.js +6 -9
  15. package/lib/models/object-model.js +3 -17
  16. package/lib/node/app.js +3 -3
  17. package/lib/node/node.js +53 -42
  18. package/lib/node/watch.js +1 -1
  19. package/lib/v/index.js +1 -1
  20. package/lib/value/expression.js +13 -13
  21. package/lib/value/mirror.js +15 -15
  22. package/lib/value/pointer.js +5 -5
  23. package/lib/value/reference.js +18 -18
  24. package/lib/views/base-view.js +1 -1
  25. package/lib/views/object-view.js +1 -1
  26. package/lib/views/repeat-node.js +4 -4
  27. package/package.json +1 -1
  28. package/types/binding/binding.d.ts +1 -1
  29. package/types/core/core.d.ts +8 -6
  30. package/types/core/destroyable.d.ts +2 -2
  31. package/types/core/ivalue.d.ts +4 -4
  32. package/types/functional/options.d.ts +2 -2
  33. package/types/index.d.ts +3 -4
  34. package/types/models/array-model.d.ts +1 -1
  35. package/types/models/object-model.d.ts +1 -1
  36. package/types/node/node.d.ts +18 -15
  37. package/types/node/watch.d.ts +2 -2
  38. package/types/v/index.d.ts +4 -0
  39. package/types/value/expression.d.ts +5 -5
  40. package/types/value/mirror.d.ts +6 -6
  41. package/types/value/pointer.d.ts +1 -1
  42. package/types/value/reference.d.ts +7 -7
  43. package/types/views/repeat-node.d.ts +3 -3
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Vasille
1
+ # Vasille Core Library
2
2
 
3
3
  ![Vasille.js logo](https://gitlab.com/vasille-js/vasille-js/-/raw/v2/img/logo.png)
4
4
 
@@ -10,10 +10,10 @@
10
10
  ## Table of content
11
11
 
12
12
  * [Installation](#installation)
13
+ * [How to use Vasille](#how-to-use-vasille)
13
14
  * [How SAFE is Vasille](#how-safe-is-vasille)
14
15
  * [How FAST is Vasille](#how-fast-is-vasille)
15
16
  * [How POWERFUL is Vasille](#how-powerful-is-vasille)
16
- * [How to use Vasille](#how-to-use-vasille)
17
17
  * [Best Practices](#best-practices)
18
18
 
19
19
 
@@ -23,31 +23,28 @@
23
23
 
24
24
  ```
25
25
  npm install vasille --save
26
+ npm install vasille-less --save
27
+ npm install vasille-magic --save
26
28
  ```
27
29
 
28
- ### How to create the first project step by step
30
+ ## How to use Vasille
29
31
 
30
- [Read instruction here](https://gitlab.com/vasille-js/vasille-js/-/blob/v2/pages/GetStarted.md).
32
+ There are several modes to use Vasille.
31
33
 
32
- ### CDN
34
+ ### Documentation for beginners (how to create the first project step by step):
35
+ * [`Vasille Core Library` - the hard way - `low-level`](https://gitlab.com/vasille-js/vasille-js/-/blob/v2/pages/GetStarted.md)
36
+ * [`Vasille Less Library` - perfect for me - `high-level`](https://gitlab.com/vasille-js/vasille-less/-/blob/v2/pages/GetStarted.md)
37
+ * [`Vasille Magic` - perfect for you - `highest-level`](https://gitlab.com/vasille-js/vcc/-/blob/master/pages/GetStarted.md)
33
38
 
34
- ```html
35
- ES2015 version
36
- <script src="https://unpkg.com/vasille"></script>
37
- ES5 Compatible version
38
- <script src="https://unpkg.com/vasille/cdn/es5.js"></script>
39
- ```
39
+ ### Full documentation:
40
+ * [`Vasille Core Library API`- write anything - `low-level`](https://gitlab.com/vasille-js/vasille-js/-/blob/v2/pages/Vasille-Core-Library-API.md)
41
+ * [`Vasille Less Library API`- write less do more - `high-level`](https://gitlab.com/vasille-js/vasille-less/-/blob/v2/pages/Vasille-Less-Library-API.md)
42
+ * [`Vasille Magic API`- compiler writes for you - `highest-level`](https://gitlab.com/vasille-js/vasille-js/-/blob/v2/pages/API.md)
40
43
 
41
44
  ### Getting ready be example
42
- * [JavaScript Example](https://gitlab.com/vasille-js/learning/vasille-js-example)
43
45
  * [TypeScript Example](https://gitlab.com/vasille-js/learning/vasille-ts-example)
44
- * [Flow.js Example](https://gitlab.com/vasille-js/learning/vasille-flow-js-example)
45
-
46
- ### Flow.js typedef
47
- Add the next line to `[libs]` section in your `.flowconfig` file
48
- ```
49
- node_modules/vasille/flow-typed
50
- ```
46
+ * [JavaScript Example (Vasille Magic not supported)](https://gitlab.com/vasille-js/learning/vasille-js-example)
47
+ * [Flow.js Example (Vasille Magic not supported)](https://gitlab.com/vasille-js/learning/vasille-flow-js-example)
51
48
 
52
49
  <hr>
53
50
 
@@ -168,23 +165,32 @@ which will be reflected into a browser DOM and keep up to date it.
168
165
  * `DebugNode` reflects a `Comment` node, useful for debug.
169
166
  * `Watch` recompose children nodes on model value change.
170
167
  * `RepeatNode` creates multiples children nodes using the same code multiple time.
171
- * `Repeater` repeat slot content `n` times.
172
168
  * `BaseView` represent a view in context of MVC (Model-View-Controller).
173
169
  * `ObjectView` repeats slot content for each value of `ObjectModel`.
174
170
  * `MapView` repeats slot content for each `MapModel` value.
175
171
  * `SetView` repeats slot content for each `SetModel` value.
176
172
  * `ArrayView` repeats slot content for each `ArrayModel` value respecting its order.
177
- * `InterceptorNode` is used to send an event/signal from one child to other
178
- without manually creating of interceptors.
179
173
 
180
- ## How to use Vasille
174
+ <hr>
175
+
176
+ ### CDN
181
177
 
182
- There are several modes, and most of it are WIP (Work In Progress):
183
- * [Object-Oriented Programming - Ready](https://gitlab.com/vasille-js/vasille-js/-/blob/v2/pages/OOP-API.md)
184
- * [Procedural Programming - WIP](https://gitlab.com/vasille-js/vasille-js/-/blob/v2/pages/Procedural-API.md)
185
- * [Template Programming - WIP](https://gitlab.com/vasille-js/vasille-js/-/blob/v2/pages/API.md)
178
+ ```html
179
+ ES2015 version
180
+ <script src="https://unpkg.com/vasille"></script>
181
+ ES5 Compatible version
182
+ <script src="https://unpkg.com/vasille/cdn/es5.js"></script>
183
+ ```
184
+
185
+ ### Flow.js typedef
186
+ Add the next lines to `[libs]` section in your `.flowconfig` file
187
+ ```
188
+ node_modules/vasille/flow-typed
189
+ node_modules/vasille-less/flow-typed
190
+ node_modules/vasille-magic/flow-typed
191
+ ```
186
192
 
187
- ## Best Practices
193
+ ## Best Practices applicable to Vasille Core Library
188
194
 
189
195
  * [Reactive Object Practice](https://gitlab.com/vasille-js/vasille-practices/-/blob/main/practices/reactive-object.ts)
190
196
  * [Application](https://gitlab.com/vasille-js/vasille-practices/-/blob/main/practices/application.ts)