'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.CommsRecord = exports.MetadataRecord = exports.DocumentRecord = exports.AppRecord = undefined;

var _immutable = require('immutable');

var _immutable2 = _interopRequireDefault(_immutable);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const Github = require('github');

const AppRecord = exports.AppRecord = new _immutable2.default.Record({
  executionState: 'not connected',
  github: new Github(),
  token: null,
  publishAsUser: false,
  channels: null,
  spawn: null,
  connectionFile: null,
  notificationSystem: null,
  kernelSpecName: null,
  isSaving: false,
  lastSaved: null,
  theme: 'light',
  error: null
});

const DocumentRecord = exports.DocumentRecord = new _immutable2.default.Record({
  notebook: null,
  cellPagers: new _immutable2.default.Map(),
  outputStatuses: new _immutable2.default.Map(),
  stickyCells: new _immutable2.default.Map(),
  focusedCell: null,
  copied: new _immutable2.default.Map()
});

const MetadataRecord = exports.MetadataRecord = new _immutable2.default.Record({
  past: new _immutable2.default.List(),
  future: new _immutable2.default.List(),
  filename: ''
});

const CommsRecord = exports.CommsRecord = new _immutable2.default.Record({
  targets: new _immutable2.default.Map()
});