Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = exports.toObservableValue = void 0;

var _mobx = require("xmobx/mobx");

var _mobxReact = require("xmobx/mobx-react");

const toObservableValue = (props = {}) => {
  if ((0, _mobx.isObservable)(props.state)) {
    return props.state;
  }

  const state = (0, _mobx.observable)(Object.assign({}, props, {
    value: props.value
  }));

  state.set = (key, value) => {
    state[key] = value;
    return state;
  };

  state.merge = value => {
    Object.assign(state, value);
    return state;
  };

  state.setValue = value => {
    state.value = value;
    return state;
  };

  return state;
};

exports.toObservableValue = toObservableValue;
toObservableValue.observer = _mobxReact.observer;
var _default = toObservableValue;
exports.default = _default;