JSFiddle - React, Tailwind, and code Playground
by amatiasq
HTML
<script src="http://amatiasq.com/fiddle-console.js"></script>
JavaScript
var miPlugin = {
// un sistema de plugins más avanzado pasaría un objeto a esta funcion
// con el que el plugin pueda pedir cosas al programa principal
iniciar: function() {
console.log('plugin en marcha');
},
detener: function() {
console.log('plugin detenido');
},
};
var maestro = {
plugins: {},
registrarPlugin: function(nombre, objeto) {
this.plugins[nombre] = objeto;
},
iniciarPlugin: function(nombre) {
this.validarPlugin(nombre);
this.plugins[nombre].iniciar();
},
detenerPlugin: function(nombre) {
this.validarPlugin(nombre);
this.plugins[nombre].detener();
},
validarPlugin: function(nombre) {
if (!this.plugins[nombre])
throw new Error('[ERROR] Plugin ' + nombre + ' no encontrado');
},
};
maestro.registrarPlugin('miPlugin', miPlugin);
maestro.iniciarPlugin('miPlugin');
maestro.detenerPlugin('miPlugin');