UNPKG

@wordpress/sync

Version:
41 lines (40 loc) 1.12 kB
// packages/sync/src/providers/index.ts import { applyFilters } from "@wordpress/hooks"; import { createIndexedDbProvider } from "./indexeddb-provider"; import { createWebRTCProvider } from "./webrtc-provider"; var providerCreators = null; function getDefaultProviderCreators() { const signalingUrl = window?.wp?.ajax?.settings?.url; if (!signalingUrl) { return []; } return [ createIndexedDbProvider, createWebRTCProvider({ password: window?.__experimentalCollaborativeEditingSecret, signaling: [signalingUrl] }) ]; } function isProviderCreator(creator) { return "function" === typeof creator; } function getProviderCreators() { if (providerCreators) { return providerCreators; } const filteredProviderCreators = applyFilters( "sync.providers", getDefaultProviderCreators() ); if (!Array.isArray(filteredProviderCreators)) { providerCreators = []; return providerCreators; } providerCreators = filteredProviderCreators.filter(isProviderCreator); return providerCreators; } export { getProviderCreators }; //# sourceMappingURL=index.js.map