mirror of
https://github.com/littensy/charm.git
synced 2026-10-23 05:46:27 +00:00
feat: add sync typescript types
This commit is contained in:
parent
a30293ee3b
commit
dda00f7a4e
3 changed files with 55 additions and 13 deletions
|
|
@ -7,13 +7,13 @@ type ClientSyncOptions = {
|
|||
atoms: { [string]: Atom<any> },
|
||||
}
|
||||
|
||||
type ClientSync = {
|
||||
sync: (self: ClientSync, payload: types.SyncPayload) -> (),
|
||||
type ClientSyncer = {
|
||||
sync: (self: ClientSyncer, payload: types.SyncPayload) -> (),
|
||||
}
|
||||
|
||||
local function client(options: ClientSyncOptions): ClientSync
|
||||
local function client(options: ClientSyncOptions): ClientSyncer
|
||||
local atoms = options.atoms
|
||||
local self = {} :: ClientSync
|
||||
local self = {} :: ClientSyncer
|
||||
|
||||
function self:sync(payload)
|
||||
for key, state in payload.data do
|
||||
|
|
|
|||
|
|
@ -11,16 +11,16 @@ type ServerSyncOptions = {
|
|||
interval: number?,
|
||||
}
|
||||
|
||||
type ServerSync = {
|
||||
onSync: (self: ServerSync, callback: (player: Player, payload: types.SyncPayload) -> ()) -> () -> (),
|
||||
flush: (self: ServerSync, player: Player?) -> (),
|
||||
hydrate: (self: ServerSync, player: Player) -> (),
|
||||
type ServerSyncer = {
|
||||
onSync: (self: ServerSyncer, callback: (player: Player, payload: types.SyncPayload) -> ()) -> () -> (),
|
||||
flush: (self: ServerSyncer, player: Player?) -> (),
|
||||
hydrate: (self: ServerSyncer, player: Player) -> (),
|
||||
}
|
||||
|
||||
local function server(options: ServerSyncOptions): ServerSync
|
||||
local function server(options: ServerSyncOptions): ServerSyncer
|
||||
local atoms = options.atoms
|
||||
local interval = options.interval or 0
|
||||
local self = {} :: ServerSync
|
||||
local self = {} :: ServerSyncer
|
||||
local sync: (player: Player, payload: types.SyncPayload) -> ()
|
||||
local state: {}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue