Immutable.js example

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.7.6/immutable.min.js"></script>

Babel + JSX

// List
var Base = Immutable.Record({
  active: false,
  controlPoint: Immutable.Record({
    id: "",
    location: ""
  }),
  feature: Immutable.Record({
    id: "",
    geometry: blankGeometry,
    source: blankFeatureSource
  }),
  style: Immutable.Record({
    current: blankVectorStyle,
    initial: BlankFeatureSource
  }),
  textEditingActive: false
});

var cass = EditingAnnotationState = (function(superClass) {
    extend(EditingAnnotationState, superClass);

    function EditingAnnotationState() {
      return EditingAnnotationState.__super__.constructor.apply(this, arguments);
    }

    EditingAnnotationState.prototype.isActive = function() {
      return this.active && this.feature.currentStyle !== blankVectorStyle;
    };

    return EditingAnnotationState;

  })(Base);
  
  
console.log(cass)