UNPKG

nuclear-instance-container

Version:

A nuclear-js module to save arbitrary objects as instances. To be used as a singleton registry for a nuclear-js app.

56 lines (41 loc) 1.29 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Model = undefined; var _immutable = require('immutable'); var _createModel = require('../createModel'); var _createModel2 = _interopRequireDefault(_createModel); var _InstanceInterface = require('../interfaces/InstanceInterface'); var _InstanceInterface2 = _interopRequireDefault(_InstanceInterface); var _actionTypes = require('../actionTypes'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Model class of one Instance. * * @class */ var Model = exports.Model = (0, _createModel2.default)(_InstanceInterface2.default); exports.default = { getInitialState: function getInitialState() { return (0, _immutable.Map)({}); }, handlers: [{ type: _actionTypes.SET_INSTANCE, handler: setInstance }, { type: _actionTypes.UNSET_INSTANCE, handler: unsetInstance }] }; function setInstance(instances, _ref) { var key = _ref.key; var instance = _ref.instance; var instanceModel = new Model({ key: key, instance: instance }); return instances.set(key, instanceModel); } function unsetInstance(instances, _ref2) { var key = _ref2.key; var instance = _ref2.instance; return instances.remove(key); }