forked from atomicobject/hamsterdam
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
21 lines (17 loc) · 1.24 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Hamsterdam v1.0.5
* Added hamsterdam/clj to allow for optionally using the Clojure PersistentHashMap isntead of a Hamster hash as the backing data structure
Hamsterdam v1.0.5
* Setters return the same instance of the object if the value being set is unchanged
* Optimized creation of a new struct caused by a setter modification by skipping validation
* (v1.0.3 and 1.0.4 skipped because of github repo tagging conflict)
Hamsterdam v1.0.2
* Field name defs, constructor keys and merge keys are now stringified internally to prevent string/symbol mismatching
* Added syntax helper for this kind of thing: class Castle < Hamsterdam::Struct(:gate, :walls)
Hamsterdam v1.0.1
* Added nice to_s and inspect
* Also storing .field_names_list as another way of getting field names of a struct, but retaining order of declaration (.field_names is a Hamster.set, .field_names_list is a Hamster.list)
Hamsterdam v1.0.0
* Can define immutable record types via Hamsterdam::Struct.define(*field_names)
* Provides getters for all fields, and set_* transformers that return the updated version of the record.
* Handy merge function for updating one or more fields by name
* Wraps Hamaster's (https://github.com/harukizaemon/hamster) immutable Hamster::Hash class