v1.0.0 Change Log
Goals
This release aims to standardize library’s property creation methodology.
- Standardize on StateType use instead of mixing with explicit property creation parameters
- Allow property class specType to be specialized
- Add Collection support for specType
- Add Collection endpoint support for stubbed data (PojoEndpointProperty)
- Collection todo example
- Remove stateSpec references (rely on type mechanism)
- Remove KeyedProperty, StateTypes, and createXyzPropertyType() functions
- Create IndexedApi class to mirror KeyedApi
- Basic todo example
- Tutorial based on todo example
- Reduce memory footprint of ShadowImpl
- Unit tests: AutoShader, Property, PropertyFactoryShader, Shader, StateType, Store
Documentation
- Overview document
- Tutorial under development
Changes
Libraries
- (uuid)[https://github.com/kelektiv/node-uuid]
ArrayProperty
createClass(shadowType={}, specCallback, initialState=[])
signature changed
IndexedProperty
- Constructor takes single argument of
StateType
createClass(shadowType={}, specCallback, initialState=[])
signature changed
IndexedShadowImpl
- Fixed
remove()
bug where state improperly set - Fix f
ilter()
bug where undefined variablev
was being used instead of this[i] - Use
ShadowImpl.switchNames()
while remapping
MapProperty
createClass(shadowType={}, specCallback, initialState=[])
signature changed
ObjectProperty
- Constructor takes single argument of
StateType
- Use
ObjectShadowImpl
createClass(shadowType={}, specCallback, initialState=[])
signature changed
Property
- Constructor takes single argument of
StateType
. If one not passed as parameter then default located in the property’s prototype chain.
PropertyFactoryShader
- Constructor signature:
constructor(stateType, parent)
- Replaed s
etElementClass()
withsetElementType(stateType)
addStateType()
->addProperty(name, stateType)
addPropertyClass()
removed
Shader
addStateType()
->addProperty(name, stateType)
addPropertyClass()
removed
StateType
computeInitialState()
now non-static and no argumentsshadowClassForProperty(defaultClass=Shadow)
signature changed and no longer staticinitialStateWithDefaults(state)
signature changed and no longer staticfrom(prop)
static method to walk the prototype hieararchy looking for aStateType
instance on the constructor: stateSpec or type properties in that order
ShadowImpl
switchNames()
added to move_nextName
to_name
to be used during property remapping
createPropertyClass()
- Signature changed:
createPropertyClass(shadowType, initialState, specCallback, PropertyClass, BaseShadowClass=Shadow)
Examples
- Todo basic example
- Todo with Collections
- Tutorial step examples