@ionic/portals-react-native 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/ios/PortalsPubSub.m
CHANGED
|
@@ -11,6 +11,6 @@
|
|
|
11
11
|
|
|
12
12
|
@interface RCT_EXTERN_MODULE(IONPortalsPubSub, RCTEventEmitter)
|
|
13
13
|
RCT_EXTERN_METHOD(subscribe: (NSString *) topic resolver: (RCTPromiseResolveBlock) resolver rejector: (RCTPromiseRejectBlock) rejector)
|
|
14
|
-
RCT_EXTERN_METHOD(unsubscribe: (NSString *) topic subscriptionRef: (NSNumber) subscriptionRef)
|
|
14
|
+
RCT_EXTERN_METHOD(unsubscribe: (NSString *) topic subscriptionRef: (NSNumber _Nonnull) subscriptionRef)
|
|
15
15
|
RCT_EXTERN_METHOD(publish: (NSString *) topic data: (id) data)
|
|
16
16
|
@end
|
|
@@ -45,8 +45,8 @@ class PortalsPubSub: RCTEventEmitter {
|
|
|
45
45
|
resolver(subRef)
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
@objc func unsubscribe(_ topic: String, subscriptionRef:
|
|
49
|
-
PortalsPlugin.unsubscribe(topic, subscriptionRef)
|
|
48
|
+
@objc func unsubscribe(_ topic: String, subscriptionRef: NSNumber) {
|
|
49
|
+
PortalsPlugin.unsubscribe(topic, subscriptionRef.intValue)
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
@objc func publish(_ topic: String, data: Any) {
|
package/lib/commonjs/index.js
CHANGED
|
@@ -27,7 +27,7 @@ const subscriptionMap = new Map();
|
|
|
27
27
|
const subscribe = async (topic, onMessageReceived) => {
|
|
28
28
|
const subscriptionRef = await IONPortalsPubSub.subscribe(topic);
|
|
29
29
|
const subscriber = PortalsPubSub.addListener('PortalsSubscription', message => {
|
|
30
|
-
if (message.
|
|
30
|
+
if (message.subscriptionRef === subscriptionRef) {
|
|
31
31
|
onMessageReceived(message);
|
|
32
32
|
}
|
|
33
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IONPortalsPubSub","IONPortalManager","NativeModules","PortalsPubSub","NativeEventEmitter","subscriptionMap","Map","subscribe","topic","onMessageReceived","subscriptionRef","subscriber","addListener","message","set","unsubscribe","subRef","subscription","get","undefined","remove","delete","publish","data","msg","register","key","addPortal","portal"],"sources":["index.ts"],"sourcesContent":["import {\n EmitterSubscription,\n NativeEventEmitter,\n NativeModules,\n ViewProps,\n} from 'react-native';\n\nconst { IONPortalsPubSub, IONPortalManager } = NativeModules;\n\nexport { default as PortalView } from './PortalView';\n\nexport interface Message {\n subscriptionRef: number;\n data: any;\n topic: string;\n}\n\nconst PortalsPubSub = new NativeEventEmitter(IONPortalsPubSub);\n\nconst subscriptionMap = new Map<number, EmitterSubscription>();\n\nexport const subscribe = async (\n topic: string,\n onMessageReceived: (message: Message) => void\n): Promise<number> => {\n const subscriptionRef = await IONPortalsPubSub.subscribe(topic);\n\n const subscriber = PortalsPubSub.addListener(\n 'PortalsSubscription',\n (message: Message) => {\n if (message.
|
|
1
|
+
{"version":3,"names":["IONPortalsPubSub","IONPortalManager","NativeModules","PortalsPubSub","NativeEventEmitter","subscriptionMap","Map","subscribe","topic","onMessageReceived","subscriptionRef","subscriber","addListener","message","set","unsubscribe","subRef","subscription","get","undefined","remove","delete","publish","data","msg","register","key","addPortal","portal"],"sources":["index.ts"],"sourcesContent":["import {\n EmitterSubscription,\n NativeEventEmitter,\n NativeModules,\n ViewProps,\n} from 'react-native';\n\nconst { IONPortalsPubSub, IONPortalManager } = NativeModules;\n\nexport { default as PortalView } from './PortalView';\n\nexport interface Message {\n subscriptionRef: number;\n data: any;\n topic: string;\n}\n\nconst PortalsPubSub = new NativeEventEmitter(IONPortalsPubSub);\n\nconst subscriptionMap = new Map<number, EmitterSubscription>();\n\nexport const subscribe = async (\n topic: string,\n onMessageReceived: (message: Message) => void\n): Promise<number> => {\n const subscriptionRef = await IONPortalsPubSub.subscribe(topic);\n\n const subscriber = PortalsPubSub.addListener(\n 'PortalsSubscription',\n (message: Message) => {\n if (message.subscriptionRef === subscriptionRef) {\n onMessageReceived(message);\n }\n }\n );\n\n subscriptionMap.set(subscriptionRef, subscriber);\n\n return subscriptionRef;\n};\n\nexport const unsubscribe = (topic: string, subRef: number) => {\n IONPortalsPubSub.unsubscribe(topic, subRef);\n\n const subscription = subscriptionMap.get(subRef);\n if (subscription !== undefined) {\n subscription.remove();\n subscriptionMap.delete(subRef);\n }\n};\n\nexport const publish = (topic: string, data: any) => {\n const msg = { message: data };\n IONPortalsPubSub.publish(topic, msg);\n};\n\nexport const register = (key: string) => {\n IONPortalManager.register(key);\n};\n\nexport interface Portal {\n name: string;\n startDir?: string;\n initialContext?: any;\n}\n\nexport type PortalProps = Pick<Portal, 'name' | 'initialContext'> & ViewProps;\n\nexport const addPortal = (portal: Portal) => {\n IONPortalManager.addPortal(portal);\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AASA;;;;AAFA,MAAM;EAAEA,gBAAF;EAAoBC;AAApB,IAAyCC,0BAA/C;AAUA,MAAMC,aAAa,GAAG,IAAIC,+BAAJ,CAAuBJ,gBAAvB,CAAtB;AAEA,MAAMK,eAAe,GAAG,IAAIC,GAAJ,EAAxB;;AAEO,MAAMC,SAAS,GAAG,OACvBC,KADuB,EAEvBC,iBAFuB,KAGH;EACpB,MAAMC,eAAe,GAAG,MAAMV,gBAAgB,CAACO,SAAjB,CAA2BC,KAA3B,CAA9B;EAEA,MAAMG,UAAU,GAAGR,aAAa,CAACS,WAAd,CACjB,qBADiB,EAEhBC,OAAD,IAAsB;IACpB,IAAIA,OAAO,CAACH,eAAR,KAA4BA,eAAhC,EAAiD;MAC/CD,iBAAiB,CAACI,OAAD,CAAjB;IACD;EACF,CANgB,CAAnB;EASAR,eAAe,CAACS,GAAhB,CAAoBJ,eAApB,EAAqCC,UAArC;EAEA,OAAOD,eAAP;AACD,CAlBM;;;;AAoBA,MAAMK,WAAW,GAAG,CAACP,KAAD,EAAgBQ,MAAhB,KAAmC;EAC5DhB,gBAAgB,CAACe,WAAjB,CAA6BP,KAA7B,EAAoCQ,MAApC;EAEA,MAAMC,YAAY,GAAGZ,eAAe,CAACa,GAAhB,CAAoBF,MAApB,CAArB;;EACA,IAAIC,YAAY,KAAKE,SAArB,EAAgC;IAC9BF,YAAY,CAACG,MAAb;IACAf,eAAe,CAACgB,MAAhB,CAAuBL,MAAvB;EACD;AACF,CARM;;;;AAUA,MAAMM,OAAO,GAAG,CAACd,KAAD,EAAgBe,IAAhB,KAA8B;EACnD,MAAMC,GAAG,GAAG;IAAEX,OAAO,EAAEU;EAAX,CAAZ;EACAvB,gBAAgB,CAACsB,OAAjB,CAAyBd,KAAzB,EAAgCgB,GAAhC;AACD,CAHM;;;;AAKA,MAAMC,QAAQ,GAAIC,GAAD,IAAiB;EACvCzB,gBAAgB,CAACwB,QAAjB,CAA0BC,GAA1B;AACD,CAFM;;;;AAYA,MAAMC,SAAS,GAAIC,MAAD,IAAoB;EAC3C3B,gBAAgB,CAAC0B,SAAjB,CAA2BC,MAA3B;AACD,CAFM"}
|
package/lib/module/index.js
CHANGED
|
@@ -9,7 +9,7 @@ const subscriptionMap = new Map();
|
|
|
9
9
|
export const subscribe = async (topic, onMessageReceived) => {
|
|
10
10
|
const subscriptionRef = await IONPortalsPubSub.subscribe(topic);
|
|
11
11
|
const subscriber = PortalsPubSub.addListener('PortalsSubscription', message => {
|
|
12
|
-
if (message.
|
|
12
|
+
if (message.subscriptionRef === subscriptionRef) {
|
|
13
13
|
onMessageReceived(message);
|
|
14
14
|
}
|
|
15
15
|
});
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","IONPortalsPubSub","IONPortalManager","default","PortalView","PortalsPubSub","subscriptionMap","Map","subscribe","topic","onMessageReceived","subscriptionRef","subscriber","addListener","message","set","unsubscribe","subRef","subscription","get","undefined","remove","delete","publish","data","msg","register","key","addPortal","portal"],"sources":["index.ts"],"sourcesContent":["import {\n EmitterSubscription,\n NativeEventEmitter,\n NativeModules,\n ViewProps,\n} from 'react-native';\n\nconst { IONPortalsPubSub, IONPortalManager } = NativeModules;\n\nexport { default as PortalView } from './PortalView';\n\nexport interface Message {\n subscriptionRef: number;\n data: any;\n topic: string;\n}\n\nconst PortalsPubSub = new NativeEventEmitter(IONPortalsPubSub);\n\nconst subscriptionMap = new Map<number, EmitterSubscription>();\n\nexport const subscribe = async (\n topic: string,\n onMessageReceived: (message: Message) => void\n): Promise<number> => {\n const subscriptionRef = await IONPortalsPubSub.subscribe(topic);\n\n const subscriber = PortalsPubSub.addListener(\n 'PortalsSubscription',\n (message: Message) => {\n if (message.
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","IONPortalsPubSub","IONPortalManager","default","PortalView","PortalsPubSub","subscriptionMap","Map","subscribe","topic","onMessageReceived","subscriptionRef","subscriber","addListener","message","set","unsubscribe","subRef","subscription","get","undefined","remove","delete","publish","data","msg","register","key","addPortal","portal"],"sources":["index.ts"],"sourcesContent":["import {\n EmitterSubscription,\n NativeEventEmitter,\n NativeModules,\n ViewProps,\n} from 'react-native';\n\nconst { IONPortalsPubSub, IONPortalManager } = NativeModules;\n\nexport { default as PortalView } from './PortalView';\n\nexport interface Message {\n subscriptionRef: number;\n data: any;\n topic: string;\n}\n\nconst PortalsPubSub = new NativeEventEmitter(IONPortalsPubSub);\n\nconst subscriptionMap = new Map<number, EmitterSubscription>();\n\nexport const subscribe = async (\n topic: string,\n onMessageReceived: (message: Message) => void\n): Promise<number> => {\n const subscriptionRef = await IONPortalsPubSub.subscribe(topic);\n\n const subscriber = PortalsPubSub.addListener(\n 'PortalsSubscription',\n (message: Message) => {\n if (message.subscriptionRef === subscriptionRef) {\n onMessageReceived(message);\n }\n }\n );\n\n subscriptionMap.set(subscriptionRef, subscriber);\n\n return subscriptionRef;\n};\n\nexport const unsubscribe = (topic: string, subRef: number) => {\n IONPortalsPubSub.unsubscribe(topic, subRef);\n\n const subscription = subscriptionMap.get(subRef);\n if (subscription !== undefined) {\n subscription.remove();\n subscriptionMap.delete(subRef);\n }\n};\n\nexport const publish = (topic: string, data: any) => {\n const msg = { message: data };\n IONPortalsPubSub.publish(topic, msg);\n};\n\nexport const register = (key: string) => {\n IONPortalManager.register(key);\n};\n\nexport interface Portal {\n name: string;\n startDir?: string;\n initialContext?: any;\n}\n\nexport type PortalProps = Pick<Portal, 'name' | 'initialContext'> & ViewProps;\n\nexport const addPortal = (portal: Portal) => {\n IONPortalManager.addPortal(portal);\n};\n"],"mappings":"AAAA,SAEEA,kBAFF,EAGEC,aAHF,QAKO,cALP;AAOA,MAAM;EAAEC,gBAAF;EAAoBC;AAApB,IAAyCF,aAA/C;AAEA,SAASG,OAAO,IAAIC,UAApB,QAAsC,cAAtC;AAQA,MAAMC,aAAa,GAAG,IAAIN,kBAAJ,CAAuBE,gBAAvB,CAAtB;AAEA,MAAMK,eAAe,GAAG,IAAIC,GAAJ,EAAxB;AAEA,OAAO,MAAMC,SAAS,GAAG,OACvBC,KADuB,EAEvBC,iBAFuB,KAGH;EACpB,MAAMC,eAAe,GAAG,MAAMV,gBAAgB,CAACO,SAAjB,CAA2BC,KAA3B,CAA9B;EAEA,MAAMG,UAAU,GAAGP,aAAa,CAACQ,WAAd,CACjB,qBADiB,EAEhBC,OAAD,IAAsB;IACpB,IAAIA,OAAO,CAACH,eAAR,KAA4BA,eAAhC,EAAiD;MAC/CD,iBAAiB,CAACI,OAAD,CAAjB;IACD;EACF,CANgB,CAAnB;EASAR,eAAe,CAACS,GAAhB,CAAoBJ,eAApB,EAAqCC,UAArC;EAEA,OAAOD,eAAP;AACD,CAlBM;AAoBP,OAAO,MAAMK,WAAW,GAAG,CAACP,KAAD,EAAgBQ,MAAhB,KAAmC;EAC5DhB,gBAAgB,CAACe,WAAjB,CAA6BP,KAA7B,EAAoCQ,MAApC;EAEA,MAAMC,YAAY,GAAGZ,eAAe,CAACa,GAAhB,CAAoBF,MAApB,CAArB;;EACA,IAAIC,YAAY,KAAKE,SAArB,EAAgC;IAC9BF,YAAY,CAACG,MAAb;IACAf,eAAe,CAACgB,MAAhB,CAAuBL,MAAvB;EACD;AACF,CARM;AAUP,OAAO,MAAMM,OAAO,GAAG,CAACd,KAAD,EAAgBe,IAAhB,KAA8B;EACnD,MAAMC,GAAG,GAAG;IAAEX,OAAO,EAAEU;EAAX,CAAZ;EACAvB,gBAAgB,CAACsB,OAAjB,CAAyBd,KAAzB,EAAgCgB,GAAhC;AACD,CAHM;AAKP,OAAO,MAAMC,QAAQ,GAAIC,GAAD,IAAiB;EACvCzB,gBAAgB,CAACwB,QAAjB,CAA0BC,GAA1B;AACD,CAFM;AAYP,OAAO,MAAMC,SAAS,GAAIC,MAAD,IAAoB;EAC3C3B,gBAAgB,CAAC0B,SAAjB,CAA2BC,MAA3B;AACD,CAFM"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -28,7 +28,7 @@ export const subscribe = async (
|
|
|
28
28
|
const subscriber = PortalsPubSub.addListener(
|
|
29
29
|
'PortalsSubscription',
|
|
30
30
|
(message: Message) => {
|
|
31
|
-
if (message.
|
|
31
|
+
if (message.subscriptionRef === subscriptionRef) {
|
|
32
32
|
onMessageReceived(message);
|
|
33
33
|
}
|
|
34
34
|
}
|