7.4.0 • Published 7 months ago

@ellementul/uee-core v7.4.0

Weekly downloads
-
License
ISC
Repository
github
Last release
7 months ago

UEE Core

United Events Environment Core

Concept

Member is a specific module Event is a message type Room is a member with Provider to process messages and events Member can send message if it connect to Provider or Room Member can get messages of defined type via subscribing on event in Room(or Provider) Transport is a tunnel join two rooms in one via any connection

Usage

Create member

import { MemberFactory } from "@ellementul/uee-core"

const member = new MemberFactory

Make Room

import { MemberFactory } from "@ellementul/uee-core"

const room = new MemberFactory
room.onMakeRoom = () => { console.log("The room is made!") } // Method-Callback if set then call after make room
room.onInit = () => { console.log("The room is made!") } // Method-Callback if set then call after make room or connection to room 
room.makeRoom()

Add Member in Room

import { MemberFactory } from "@ellementul/uee-core"

const room = new MemberFactory
room.onMakeRoom = () => { console.log("The room is made!") } // Method-Callback if set then call after make room
member.onReady = () => { console.log("The room is made!") } // Method-Callback if set then call after make room or connection to room 
room.makeRoom()

const member = new MemberFactory
member.onJoinRoom = () => { console.log("Member entered room") } // Method-Callback if set then call after make room
member.onReady = () => { console.log("The room is made!") } // Method-Callback if set then call after make room or connection to room

room.addMember(member)

Create event

import { Types, EventFactory } from "@ellementul/uee-core"

const type = Types.Object.Def({ system: "Test" })
const event = EventFactory(type)

Send event

const type = Types.Object.Def({ system: "Test", action: Types.Any.Def("Switch On", "Switch Off") })
const event = EventFactory(type)
const customPayload = { action: "Switch On" } // Correct payload for message type
member.send(event, customPayload) // Send message

Subscribe event

const type = Types.Object.Def({ system: "Test", action: Types.Any.Def("Switch On", "Switch Off") })
const event = EventFactory(type)
const callbackForEvent = () => { console.log("Got message") }
member.subscribe(event, callbackForEvent) // Subscribe message

Join two Room via Transport

In first file

import { MemberFactory, InMemory } from "@ellementul/uee-core"

const room = new MemberFactory
const transoport = new InMemory({ id: "TestTransport", isHost: true })

room.makeRoom(transoport)
room.connect()

In second file

import { MemberFactory } from "@ellementul/uee-core"

const room = new MemberFactory
const transoport = new InMemory({ id: "TestTransport", isHost: false })

room.makeRoom(transoport)
room.connect()
5.0.0

10 months ago

6.0.0

10 months ago

7.0.0

8 months ago

7.4.0

7 months ago

7.3.0

7 months ago

7.2.0

8 months ago

7.1.0

8 months ago

4.5.0

10 months ago

4.4.0

10 months ago

6.8.0

8 months ago

4.1.0

10 months ago

4.0.0

11 months ago

4.3.0

10 months ago

4.2.0

10 months ago

3.4.0

1 year ago

3.3.0

1 year ago

3.2.0

1 year ago

3.1.0

1 year ago

3.6.0

1 year ago

3.5.0

1 year ago

3.0.0

1 year ago

2.2.0

2 years ago

1.5.1

2 years ago

1.5.0

2 years ago

1.3.2

2 years ago

1.4.0

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.0

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago