Skip to content

Commit e1f2a93

Browse files
committed
start adding getNonIPOSMessages
1 parent 8245226 commit e1f2a93

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

src/main.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ export default class IPOS {
5656
return this.proxy
5757
}
5858

59+
/****************** MESSAGING *******************/
5960
protected mountListeners(messaging: IPOSMessaging) {
6061
messaging.listenForType('update', (message) => this.performUpdate(message))
6162
messaging.listenForType('set', (message) => this.performSet(message))
@@ -69,6 +70,10 @@ export default class IPOS {
6970
})
7071
}
7172

73+
/*public getNonIPOSMessages(process: ChildProcess, handler: (message: any) => any) {
74+
this.processMessagingMap.get(process)?.getNonIPOSMessages(handler)
75+
}*/
76+
7277
/********************* GET **********************/
7378
public get(key: string): any {
7479
return this.fields.get(key)

src/messaging.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,19 @@ const mustHaveSendError = new Error(`Process must have a \`.send()\` method.`)
2121

2222
export default class IPOSMessaging {
2323
private listeners: Map<iposMessagingType | 'any', Array<iposMessagingCallback>>
24+
private nonIPOSListeners: Set<(message: any) => any>
2425
private process: ChildProcess | NodeJS.Process
2526

2627
constructor(process: ChildProcess | NodeJS.Process) {
2728
this.listeners = new Map()
29+
this.nonIPOSListeners = new Set()
2830
if (!process.send) throw mustHaveSendError
2931
this.process = process
3032
this.process.on('message', (message: iposMessagingMessage) => {
3133
try {
3234
if (message.protocol !== 'ipos')
33-
return
35+
// not a message from ipos
36+
return this.nonIPOSListeners.forEach(callback => callback(message))
3437

3538
if (message.type === 'ready') {
3639
this.send('register')
@@ -52,6 +55,7 @@ export default class IPOSMessaging {
5255
}
5356
} catch (e) {
5457
// not a message from ipos
58+
this.nonIPOSListeners.forEach(callback => callback(message))
5559
}
5660
})
5761

@@ -62,6 +66,10 @@ export default class IPOSMessaging {
6266
}
6367
}
6468

69+
/*getNonIPOSMessages(handler: (message: any) => any) {
70+
this.nonIPOSListeners.add(handler)
71+
}*/
72+
6573
send(type: iposMessagingType, data?: {}) {
6674
if (!this.process.send) throw mustHaveSendError
6775
this.process.send({

0 commit comments

Comments
 (0)