Sha256: 959be30edc3aacc114240d9e4729d63ea1898bc421c9b029c8eee3cde0794f0f
Contents?: true
Size: 716 Bytes
Versions: 1
Compression:
Stored size: 716 Bytes
Contents
import { Repo, type RepoConfig } from "@automerge/automerge-repo"; import ActionCableNetworkAdapter from "./network-adapter.js" import { IndexedDBStorageAdapter } from "@automerge/automerge-repo-storage-indexeddb" declare global { interface Window { Syncable?: any } } type Syncable = { new (klass: string, id: any, channel?: string, obj?: RepoConfig): Repo } const Syncable: Syncable = new Proxy(Repo, { construct: (target, args) => { const [ klass, id, channel = "ActionMerge::SyncChannel", obj = {} ] = args return new target({ network: [new ActionCableNetworkAdapter(channel, klass, id)], storage: new IndexedDBStorageAdapter(), ...obj }); } }) as Syncable window.Syncable = Syncable
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
action_merge-0.1.0 | app/javascript/action_merge/syncable.ts |