import { MatterServer } from '@project-chip/matter-node.js'; import { StorageBackendDisk, StorageManager, } from '@project-chip/matter-node.js/storage'; import { getParameter, hasParameter } from '@project-chip/matter-node.js/util'; let MATTER_SERVER: MatterServer; let STORAGE: StorageBackendDisk; let STORAGE_MANAGER: StorageManager; export function serverSetup(): { matterServer: MatterServer; storageManager: StorageManager; } { if (!(MATTER_SERVER && STORAGE && STORAGE_MANAGER)) { const storageLocation = getParameter('store') || './deviceData'; STORAGE = new StorageBackendDisk( storageLocation, hasParameter('clearstorage') ); STORAGE_MANAGER = new StorageManager(STORAGE); MATTER_SERVER = new MatterServer(STORAGE_MANAGER, { mdnsInterface: getParameter('netinterface'), }); } return { matterServer: MATTER_SERVER, storageManager: STORAGE_MANAGER }; }