'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.CONTRACT_MODEL_UPDATE_FN_CANNOT_FAIL = exports.CONTRACT_ACTION_GUARD_CANNOT_FAIL = exports.CONTRACT_EVENT_GUARD_CANNOT_FAIL = exports.CONTRACT_ACTION_GUARD_FN_RETURN_VALUE = exports.CONTRACT_EVENT_GUARD_FN_RETURN_VALUE = exports.CONTRACT_MODEL_UPDATE_FN_RETURN_VALUE = exports.CONTRACT_SATISFIED_GUARD_PER_ACTION_RESPONSE = exports.INIT_STATE = exports.AWAITING_RESPONSE = exports.AWAITING_EVENTS = exports.INIT_EVENT_NAME = exports.INIT_PREFIX = exports.DRIVER_PREFIX = exports.EVENT_PREFIX = exports.ZERO_DRIVER = exports.ACTION_GUARD_NONE = exports.ACTION_REQUEST_NONE = exports.AR_GUARD_NONE = exports.EV_GUARD_NONE = undefined;

var _ramda = require('ramda');

var EV_GUARD_NONE = exports.EV_GUARD_NONE = null;
var AR_GUARD_NONE = exports.AR_GUARD_NONE = null;
var ACTION_REQUEST_NONE = exports.ACTION_REQUEST_NONE = null;
var ACTION_GUARD_NONE = exports.ACTION_GUARD_NONE = (0, _ramda.always)(true);
var ZERO_DRIVER = exports.ZERO_DRIVER = null;
var EVENT_PREFIX = 'events',
    DRIVER_PREFIX = 'drivers',
    INIT_PREFIX = 'init';
exports.EVENT_PREFIX = EVENT_PREFIX;
exports.DRIVER_PREFIX = DRIVER_PREFIX;
exports.INIT_PREFIX = INIT_PREFIX;
var INIT_EVENT_NAME = exports.INIT_EVENT_NAME = 'init_event';
var AWAITING_EVENTS = exports.AWAITING_EVENTS = 'AWAITING_EVENTS';
var AWAITING_RESPONSE = exports.AWAITING_RESPONSE = 'AWAITING_RESPONSE';
var INIT_STATE = exports.INIT_STATE = 'INIT';

// Error messages
var CONTRACT_SATISFIED_GUARD_PER_ACTION_RESPONSE = exports.CONTRACT_SATISFIED_GUARD_PER_ACTION_RESPONSE = 'For each action response, there MUST be a configured guard which is satisfied!';
var CONTRACT_MODEL_UPDATE_FN_RETURN_VALUE = exports.CONTRACT_MODEL_UPDATE_FN_RETURN_VALUE = 'Model update function must return valid update operations!';
var CONTRACT_EVENT_GUARD_FN_RETURN_VALUE = exports.CONTRACT_EVENT_GUARD_FN_RETURN_VALUE = 'Event guards functions must return a boolean!';
var CONTRACT_ACTION_GUARD_FN_RETURN_VALUE = exports.CONTRACT_ACTION_GUARD_FN_RETURN_VALUE = 'Action guards functions must return a boolean!';
var CONTRACT_EVENT_GUARD_CANNOT_FAIL = exports.CONTRACT_EVENT_GUARD_CANNOT_FAIL = 'Event guards functions cannot throw exceptions!';
var CONTRACT_ACTION_GUARD_CANNOT_FAIL = exports.CONTRACT_ACTION_GUARD_CANNOT_FAIL = 'Action guards functions cannot throw exceptions!';
var CONTRACT_MODEL_UPDATE_FN_CANNOT_FAIL = exports.CONTRACT_MODEL_UPDATE_FN_CANNOT_FAIL = 'Model update functions cannot throw exceptions!';