stitch-ui
Version:
31 lines (28 loc) • 618 B
JavaScript
import { Record } from "immutable";
import JSONState from "./JSONState";
export default class Value extends Record({
valueJson: JSONState,
private: false,
dirty: false
}) {
constructor({ valueJson, isPrivate, dirty }) {
super({
valueJson: valueJson || new JSONState(),
private: !!isPrivate,
dirty: !!dirty
});
}
static fromRaw(raw) {
const out = new Value({
valueJson: JSONState.fromRaw(raw.value, {}),
isPrivate: !!raw.private
});
return out;
}
toRaw() {
return {
valueJson: this.valueJson.data,
isPrivate: this.private
};
}
}