JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://rawgit.com/mikeric/sightglass/master/index.js"></script>
<script src="https://rawgit.com/mikeric/rivets/master/dist/rivets.js"></script>
<h1>
  Name getter: { name }
</h1>

<input rv-value="name" />

JavaScript

var model;

rivets.configure({
    handler: function (target, event, binding) {
        this.call(binding.view.models);
    }
});

model = {
    _name: 'Hear me?',
    
    get name() {
      console.log('getter is called?')
    	return this._name
    },
    
    set name(v) {
      console.log('setter is called', v)
    	this._name = v;
    }
};

rivets.bind(document.body, model);

console.log(typeof model.name);
console.log(Object.getOwnPropertyDescriptor(model));

var
		obj = JSON.parse(JSON.stringify(model));

console.log("obj before : ", obj);

Object.keys(obj).reduce(function (obj, key) {

	if (obj["_" +  key] === obj[key]) {
  	delete obj["_" +  key];
  }
  return obj;

}, obj);

console.log("obj after : ", obj);