migu/capacitor/src/ipc.js
ThaUnknown 41d85a15a9 feat: capacitor notifications
fix: capacitor version in settings
2024-06-25 22:13:37 +02:00

35 lines
818 B
JavaScript

import { App } from '@capacitor/app'
import { NodeJS } from 'capacitor-nodejs'
import EventEmitter from 'events'
const ready = NodeJS.whenReady()
const main = new EventEmitter()
export default main
main.on('portRequest', async () => {
globalThis.port = {
onmessage: cb => {
NodeJS.addListener('ipc', ({ args }) => cb(args[0]))
},
postMessage: (data, b) => {
NodeJS.send({ eventName: 'ipc', args: [{ data }] })
}
}
await ready
NodeJS.send({ eventName: 'port-init', args: [localStorage.getItem('settings')] })
main.emit('port')
})
const [_platform, arch] = navigator.platform.split(' ')
globalThis.version = {
platform: globalThis.cordova?.platformId,
arch
}
main.once('version', async () => {
const { version } = await App.getInfo()
main.emit('version', version)
})