JSFiddle - React, Tailwind, and code Playground

by kassiomaia

JavaScript

const Notifiable = {
	listeners: [],
	addEventListener(event) {
  	this.listeners.push(event)
  },
  removeEventListener(event) {
  	this.listeners.splice(this.listeners.indexOf(event), 1)
  }
}

const Pill = {
	_name: null,
  markedAsDeleted: false,
  markAsDeleted() {
  	this.markedAsDeleted = true
  },
  undoMarkAsDeleted() {
  	this.markedAsDeleted = false
  }
}

Object.setPrototypeOf(Pill, Notifiable)

var pill = Object.create(Pill, {
	name: {
  	get: function() {
    	return this._name
    },
    set: function(value) {
    	this._nane = value
    }
  }
})

pill.name = 'PK'

console.log(pill.name)