@streamlayer/sdk-web-core
Advanced tools
Comparing version 0.21.3 to 0.22.0
@@ -1,3 +0,2 @@ | ||
import { StreamLayerContext } from '@streamlayer/sdk-web-interfaces'; | ||
import { MapStore } from '@streamlayer/sdk-web-interfaces'; | ||
import { MapStore, StreamLayerContext } from '@streamlayer/sdk-web-interfaces'; | ||
type DeepLinkContextData = { | ||
@@ -4,0 +3,0 @@ handled?: boolean; |
import { StreamLayerContext } from '@streamlayer/sdk-web-interfaces'; | ||
export { bypass, storage } from './auth'; | ||
export { store } from './store'; | ||
export { deepLink, type DeepLinkUrlParams, type DeepLinkCallback, DEEP_LINK_PREFIX, DEEP_LINK_USER_ID, DEEP_LINK_EVENT_ID, DEEP_LINK_EXTERNAL_EVENT_ID, } from './deepLink'; | ||
export { deepLink, type DeepLinkUrlParams, type DeepLinkCallback, type DeepLinkContext, DEEP_LINK_PREFIX, DEEP_LINK_USER_ID, DEEP_LINK_EVENT_ID, DEEP_LINK_EXTERNAL_EVENT_ID, } from './deepLink'; | ||
export { videoPlayer, type VideoPlayerCallback } from './videoPlayer'; | ||
@@ -17,2 +17,5 @@ import './store'; | ||
} | ||
interface StreamLayerContext { | ||
ready: () => void; | ||
} | ||
} | ||
@@ -19,0 +22,0 @@ /** |
@@ -19,3 +19,18 @@ import { CoreStatus } from './store/store'; | ||
export const core = (instance, opts, done) => { | ||
const listeners = new Set(); | ||
const listenersCancels = new Set(); | ||
instance.sdk = Object.create(null); | ||
instance.sdk.onMount = (cb) => { | ||
listeners.add(cb); | ||
}; | ||
instance.ready = () => { | ||
instance.stores.enabled.subscribe((enabled) => { | ||
if (enabled === 'on') { | ||
listeners.forEach((cb) => listenersCancels.add(cb())); | ||
} | ||
else { | ||
listenersCancels.forEach((cancel) => cancel()); | ||
} | ||
}); | ||
}; | ||
/** | ||
@@ -22,0 +37,0 @@ * On initialize we subscribe to store and launch listeners |
@@ -7,10 +7,10 @@ { | ||
"peerDependencies": { | ||
"@nanostores/query": "^0.2.8", | ||
"@streamlayer/sl-eslib": "^5.79.3", | ||
"nanostores": "^0.9.5", | ||
"@streamlayer/sdk-web-api": "^0.23.0", | ||
"@streamlayer/sdk-web-interfaces": "^0.20.6", | ||
"@streamlayer/sdk-web-storage": "^0.4.4", | ||
"@streamlayer/sdk-web-types": "^0.22.4", | ||
"@streamlayer/sdk-web-logger": "^0.5.17" | ||
"@nanostores/query": "^0.2.10", | ||
"@streamlayer/sl-eslib": "^5.83.1", | ||
"nanostores": "^0.10.0", | ||
"@streamlayer/sdk-web-api": "^0.24.0", | ||
"@streamlayer/sdk-web-interfaces": "^0.21.0", | ||
"@streamlayer/sdk-web-storage": "^0.4.5", | ||
"@streamlayer/sdk-web-types": "^0.23.0", | ||
"@streamlayer/sdk-web-logger": "^0.5.18" | ||
}, | ||
@@ -44,3 +44,3 @@ "exports": { | ||
}, | ||
"version": "0.21.3", | ||
"version": "0.22.0", | ||
"type": "module", | ||
@@ -47,0 +47,0 @@ "main": "./lib/index.js", |
46848
1048