identifiable 0.6.0
identifiable: ^0.6.0 copied to clipboard
Identifiable mixin and id-based collection helpers for Dart.
0.6.0 #
- BREAKING: the id/entity grammars move out —
IDs/IdNode/CompositeIdto canon_codec,Entities/EntityNode/EntityGraphto canon. identifiable is now dependency-free identity collections.
0.5.3 #
- Widen
canon_codecto>=0.1.4 <0.3.0(accepts the additive 0.2.0 concat).
0.5.2 #
withoutWhere(immutable predicate removal) andmapValueson identifiable maps.
0.5.1 #
Identifiableannotated@immutable.
0.5.0 #
- Add the entity space:
@entitiesmarks the enum binding each entity type to its id node;EntityGraphdeclares ownership. - Unit entities: a row with no key node (cardinality one).
- Add merge edges:
row.merge(source, projection)declares a read-surface resolver on the graph. - Composite id nodes feed
CompositeCodecdirectly.
0.4.0 #
- BREAKING:
IdentifiableMapflips key-first —IdentifiableMap<K, E>(= Map<K, E>). - Add the id-space:
@IDsmarks the hand-written enum of identities; eachIdNoderow carries its codec;IdNode.compose/CompositeIdbuild composite ids (2–16 nodes). - Depend on
canon_codec(an id-node IS aCodec).
0.3.0 #
- BREAKING: rename the
MapextensionIdentifiableMap→IdentifiableMapExtension, freeing the name for the new typedef. - Add typedefs
IdentifiableMap<T, I>(= Map<I, T>) andIdentityMap<T>(= Map<String, T>). - Add
IdentifiableList.withoutId(List-returning) andIdentifiableList.appendOrReplaceOnOverlap.
0.2.2 #
- Add
IdentifiableIterable.includesId— membership by id (the id-typed companion toincludes).
0.2.1 #
- Expand test coverage (typed/record ids,
updateById,indexWhereById) and update the README for the generic API. No API changes.
0.2.0 #
- BREAKING:
Identifiableis now generic over the id type —Identifiable<I>(records, ints, etc.). MixIdentity(= Identifiable<String>) orIdentifiable<String>instead of bareIdentifiable. - Add
IdentifiableIterable.updateByIdandIdentifiableList.indexWhereById.
0.1.1 #
- Add
hasSameId(id-only check);isSameAsnow also requires a matchingruntimeType.
0.1.0 #
- Initial release.
Identifiablemixin (id,isSameAs).IdentifiableIterable:includes,overlaps,withoutId,byId,toMapById.IdentifiableMap:upsert,upsertAll,removeById,updateById.