Sha256: 3b5e54534a977b0a4fe8ce531963766d78afe5191badc8cd1fd53b3e11224dc9

Contents?: true

Size: 725 Bytes

Versions: 17

Compression:

Stored size: 725 Bytes

Contents

import { createConsumer } from "@rails/actioncable";
import debounce from "debounce";
import { log } from "../plugins/logger";

export default function socket(endpoint) {
  const uid = (Date.now() + ((Math.random() * 100) | 0)).toString();
  const consumer = createConsumer(`${endpoint}?uid=${uid}`);
  return {
    addListener(channel, callback) {
      consumer.subscriptions.create(channel, {
        received: debounce((data) => {
          log.debug("Lookbook files changed");
          callback(data);
        }, 200),
        connected() {
          log.info("Lookbook websocket connected");
        },
        disconnected() {
          log.info("Lookbook websocket disconnected");
        },
      });
    },
  };
}

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
lookbook-1.0.4 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.3 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.2 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.1 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.0 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.0.rc.3 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.0.rc.2 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.0.rc.1 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.0.beta.8 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.0.beta.7 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.0.beta.6 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.0.beta.5 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.0.beta.4 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.0.beta.3 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.0.beta.2 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.0.beta.1 app/assets/lookbook/js/lib/socket.js
lookbook-1.0.0.beta.0 app/assets/lookbook/js/lib/socket.js