- Added an option to cleanup semantics in
Delta.diff
. See dartdoc for more details.
- Added
Delta.diff
implementation (#24)
- Migrated to null safety.
- Fixed an issue with usage of double.infinity in DeltaIterator. Replaced with special value of DeltaIterator.maxLength.
- Updated dependency on quiver_hashcode to main quiver package.
- Breaking change: changed
Operation.value
type fromdynamic
toObject
to allow better static analysis and prevent bugs where operation value is always assumed to be a String object. If you get analyzer errors after this change you must add an explicit type cast on the operation value to the desired type (String or the type of an embed). - Added:
dataDecoder
parameter toDelta.fromJson
andOperation.fromJson
. Can be used to convert raw JSON values to concrete data types. Mainly useful with embedded data. Text data should always beString
. - Fixed: changed
Delta.fromJson
type of thedata
parameter toList
so that this factory method can actually be used with the output ofjsonDecode
.
- Reverted last change to operation value type and will publish it as a major version update since it's breaking existing users.
- Changed operation value type from
dynamic
toObject
to allow better static analysis. If you get analyzer errors after this change you must add an explicit type cast on the operation value to the desired class.
- Fix iterator for custom embed objects (#14)
- Changed insert operations to allow inserting dynamic object values. (#13) Object values must be JSON-serializable.
- Fix attributes comparison for operations when attributes have complex values (maps, lists).
- Fixed assertion error for sequences of insert-delete-insert operations.
- Added
Delta.invert()
,Delta.slice()
andDelta.invertAttributes()
.
- Internal clean-up replacing hardcoded strings with constants.
- Updated dependency on quiver_hashcode.
- Prepare for Dart 2 stable.
- Initial release.