README.md

service-socket

service-socket - библиотека для двусторонней работы с socket-командами.

Установка

npm i service-socket

Быстрый старт

import { SocketService } from 'service-socket'

export const socketService = new SocketService({
  url: 'https://Адрес_вашего_сервера_с_сокетом',
})

По умолчанию:

  • autoInit = true
  • path = '/e'
  • токен берется из window.jwt

Команды

const stop = socketService.onCommand('initPopupEnd', (data) => {
  console.log('receive', data)
})

socketService.send('initStart', { state: 'onOpenBeforeSettings' })
stop()

Params helper API

import { createParamsApi } from 'service-socket'

const { onGetParams, sendGetParams, sendSaveParams } = createParamsApi(socketService, 'gp')

onGetParams((data) => {
  console.log('params', data.p)
})

sendGetParams()
sendSaveParams({ state: 'next-state' })

SOCKET_ROUTES:

  • toBack
  • toGetParams
  • toSaveParams

Ошибки и системные события

const socketService = new SocketService({
  url: 'Адрес_вашего_сервера_с_сокетом',
  onConnectError: (error) => {
    console.log('connect_error', error.message)
  },
  onSystemEvent: (event, payload) => {
    console.log('system event', event, payload)
  },
})

State во фреймворках

send и onCommand одинаковы везде. Отличается только привязка state к UI.

  • Vue: bindVueSocketState(socketService)
  • React: useReactSocketState(socketService)
  • Angular: socketState$(socketService)

Vue: bindVueSocketState vs subscribeState

  • bindVueSocketState - обычный путь для Vue-компонентов.
  • subscribeState - низкоуровневый API для ручной подписки вне Vue-реактивности.

Примеры

  • Vue: examples/vue/README.md
  • React: examples/react/README.md
  • Angular: examples/angular/README.md
Описание
Framework-agnostic Socket.IO service with Vue, React and Angular adapters
Конвейеры
0 успешных
0 с ошибкой
Разработчики