wire: ^1.2.0 copied to clipboard
Communication and data container layers library aimed to decouple UI from business logic
- Transition to Dart null-safety
- Clarification of the API and minor renaming
- Corrections in variables names in examples
- WireData new lock API: Now the owner of data can lock write operation with a special token - an instance of WireDataLockToken.
- bool WireData.lock(WireDataLockToken token)
- bool WireData.unlock(WireDataLockToken token)
- bool get WireData.isLocked
- Changes in WireListener: parameter name "wid" was replaced to "wireId" for better
- Counter example structure updated
- README update
- Commented out overrides for wire in example/_shared
- Removed wire_example_shared from dependencies in pubspec, pubspec.lock added to gitignore
- Shared examples - TodoController updated. Todo example Model initialization with isFlutter false for proper components update on web.
- README updated with "Few words about FLUX" section. Also README in example folder updated with how to setup IDEA
- Typed Wire
- WireListener optional property was renamed - data -> payload.
- Method Wire.send has new optional parameter - Object scope, if it's not null then only Wire instances with this scope value will receive the payload.
- README updated
0.9.81 (pre-release) #
- Shared folder extracted as pub library and added to subrepo on separate branch with "git subrepo" extension. Changes to examples applied.
- Todo example with AngularDart using shared code from symlink.
- README update
- Wire's property "hash" renamed to "wid" - unique integer number which is just counter of created Wires in runtime.
- Parameters of WireListener was changed - instance of Wire removed, first parameter now is data from
Wire.send(signal, data), second parameter is a "wid" using it associated Wire can be retrieved from communication layer with
- Internal renaming to match layers concept
- README update with Flutter widget example
- Examples updates according changes
- In Wire.data first parameter renamed from 'param' to 'key' and related changes applied.
- Method subscribe for WireDataListener has only listener, and scope was removed
- New tests for "Counter Signal" and API example update
- README update, Haxe version linked in README
- Tests, changes according test results, documentation update
- Implementation .clear() method in Wire instance, which is called after wire removed from communication layer
- Introduction of middleware - class that extends WireMiddleware is able to listen for things happen inside communication and data container layers
Wire.detach. Wire instance can be created solely but it won't be included in communication layer, and
attachmethod introduced to manually add Wire instance to the communication layer, and
detachto remove it.
Wire.getmodified to return instances only on one of params: signal, scope or listener
Wire.purgeclear all entities on communication and data container layers
- In code documentation for API
- Examples update with middleware use
- Graphics of how to use Wire in decoupled system
- New API methods:
hassignal or wire and
getlist of wires by signal, scope or listener
- dartfmt style fixes
- WireListener has first parameter Wire that holds signal, scope, listener itself and replies
- In method Wire.add replies parameter is named
- APACHE LICENSE, VERSION 2.0
- UML diagram from StartUML
- Examples correction
- Introduction of WireListener and WireDataListener to force correct listeners method's params signature
- Implementation of "remove" from Wire by scope or/and by listener
- WireData has new property "isSet" which help to distinguish between newly created with value null and deleted when null distributed to listeners
- Todo MVC example completed!
- Other examples update and style fixes
- Implementation of SCOPE for signals, data viewers subscribers. Counter example changed to use Specter CSS instead of Coral components.
- WireData.remove implementation. Todo MVC with Wire: only basic operations create and delete.
- Data "layer" implemented. It's a container, universal container (Map) with key-value, where value is a wrapper - WireData - hold dynamic value and can be listened for updates.
- Counter example was added based on web (Using idea - create build target Dart Web with HTML file - example/counter/index.html, then debug)
- Minor changes in internal naming
- Initial version, with base API: add / send / remove