code: function (options) {
      options = options || {}
      options.model = options.model || {}
      options.zoomMin = options.zoomMin || 1
      options.zoomMax = options.zoomMax || 10
      options.constrainLens = options.constrainLens !== false
      options.constrainZoomed = options.constrainZoomed !== false
  
      this.id = options.id
  
      this.model = options.model
      this.options = options
  
      this.fillModel()
    }
docs: @typedef {Object} MagOptions
  @property {MagModel} model - A model.
  @property {number} zoomMin - Minimum zoom level allowed, from (0,∞).
  @property {number} zoomMax - Maximum zoom level allowed, from (0,∞).
  @property {boolean} constrainLens - Whether lens position is constrained.
  @property {boolean} constrainZoomed - Whether zoomed position is constrained.
   
  Mag constructor.
  
  @alias module:mag
  
  @class
  
  @param {MagOptions} options - Options.