JSFiddle - React, Tailwind, and code Playground

by evgkch

JavaScript 1.7

const ws = { send: () => {} };

class Messege {

  static treeToList(event) {
    return {
      type: event.type,
      ...event.body,
    };
  }

  static listToTree(event) {
    const buffer = { ...event };
    delete buffer.type;

    return {
      type: event.type,
      body: buffer,
    };
  }

  constructor(ws) {
    this.send = (event) =>
      ws.send(
        JSON.stringify(
          Messege.treeToList(event)
        )
      )
  }
}

const MessageCenter = new Messege(ws);

class MessageTransmitter extends MessageCenter {

  constructor() {
    super();
  }

  authorizate({ username, password }) {
    this.send({
      type: 'AuthorizationMsg',
      id: 'ZZZ',
      time: new Date(),
      from: username,
      to: system,
      password,
    });
  }
}