JSFiddle - React, Tailwind, and code Playground

by evgkch

JavaScript 1.7

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

class Message {

  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 Message(ws);

class MessageTransmitter extends Message {

  constructor() {
    super();
    console.log(this)
  }

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

const appMessageTransmitter = new MessageTransmitter();