src/PrimitiveShadowImpl.js
import isEqual from "lodash.isequal";
import ShadowImpl from "./ShadowImpl";
export default class PrimitiveShadowImpl extends ShadowImpl {
//------------------------------------------------------------------------------------------------------
// Methods that must be implemented by subclasses
//------------------------------------------------------------------------------------------------------
defaults(state) {
if (this.state() === undefined) {
this.assign(state);
}
}
merge(state) {
if (!isEqual(state, this.state())) {
this.assign(state);
}
}
//------------------------------------------------------------------------------------------------------
// Methods with base implementations that subclasses may need to override - no need to call super
//------------------------------------------------------------------------------------------------------
definePropertyGetValue(state) {
return this.property().definePropertyGetValue(state);
}
definePropertySetValue(newValue) {
this.property().definePropertySetValue(newValue);
}
isPrimitive() {
return true;
}
}