matterbridge 3.4.7-dev-20260113-0917d83 → 3.4.7
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/dist/broadcastServer.d.ts +115 -0
- package/dist/broadcastServer.d.ts.map +1 -0
- package/dist/broadcastServer.js +117 -0
- package/dist/broadcastServer.js.map +1 -0
- package/dist/broadcastServerTypes.d.ts +43 -0
- package/dist/broadcastServerTypes.d.ts.map +1 -0
- package/dist/broadcastServerTypes.js +24 -0
- package/dist/broadcastServerTypes.js.map +1 -0
- package/dist/cli.d.ts +24 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +97 -1
- package/dist/cli.js.map +1 -0
- package/dist/cliEmitter.d.ts +36 -0
- package/dist/cliEmitter.d.ts.map +1 -0
- package/dist/cliEmitter.js +37 -0
- package/dist/cliEmitter.js.map +1 -0
- package/dist/cliHistory.d.ts +42 -0
- package/dist/cliHistory.d.ts.map +1 -0
- package/dist/cliHistory.js +38 -0
- package/dist/cliHistory.js.map +1 -0
- package/dist/clusters/export.d.ts +1 -0
- package/dist/clusters/export.d.ts.map +1 -0
- package/dist/clusters/export.js +2 -0
- package/dist/clusters/export.js.map +1 -0
- package/dist/deviceManager.d.ts +108 -0
- package/dist/deviceManager.d.ts.map +1 -0
- package/dist/deviceManager.js +113 -1
- package/dist/deviceManager.js.map +1 -0
- package/dist/devices/airConditioner.d.ts +75 -0
- package/dist/devices/airConditioner.d.ts.map +1 -0
- package/dist/devices/airConditioner.js +57 -0
- package/dist/devices/airConditioner.js.map +1 -0
- package/dist/devices/batteryStorage.d.ts +43 -0
- package/dist/devices/batteryStorage.d.ts.map +1 -0
- package/dist/devices/batteryStorage.js +48 -1
- package/dist/devices/batteryStorage.js.map +1 -0
- package/dist/devices/cooktop.d.ts +55 -0
- package/dist/devices/cooktop.d.ts.map +1 -0
- package/dist/devices/cooktop.js +56 -0
- package/dist/devices/cooktop.js.map +1 -0
- package/dist/devices/dishwasher.d.ts +55 -0
- package/dist/devices/dishwasher.d.ts.map +1 -0
- package/dist/devices/dishwasher.js +57 -0
- package/dist/devices/dishwasher.js.map +1 -0
- package/dist/devices/evse.d.ts +57 -0
- package/dist/devices/evse.d.ts.map +1 -0
- package/dist/devices/evse.js +74 -10
- package/dist/devices/evse.js.map +1 -0
- package/dist/devices/export.d.ts +1 -0
- package/dist/devices/export.d.ts.map +1 -0
- package/dist/devices/export.js +5 -0
- package/dist/devices/export.js.map +1 -0
- package/dist/devices/extractorHood.d.ts +41 -0
- package/dist/devices/extractorHood.d.ts.map +1 -0
- package/dist/devices/extractorHood.js +43 -0
- package/dist/devices/extractorHood.js.map +1 -0
- package/dist/devices/heatPump.d.ts +43 -0
- package/dist/devices/heatPump.d.ts.map +1 -0
- package/dist/devices/heatPump.js +50 -2
- package/dist/devices/heatPump.js.map +1 -0
- package/dist/devices/laundryDryer.d.ts +58 -0
- package/dist/devices/laundryDryer.d.ts.map +1 -0
- package/dist/devices/laundryDryer.js +62 -3
- package/dist/devices/laundryDryer.js.map +1 -0
- package/dist/devices/laundryWasher.d.ts +64 -0
- package/dist/devices/laundryWasher.d.ts.map +1 -0
- package/dist/devices/laundryWasher.js +70 -4
- package/dist/devices/laundryWasher.js.map +1 -0
- package/dist/devices/microwaveOven.d.ts +77 -1
- package/dist/devices/microwaveOven.d.ts.map +1 -0
- package/dist/devices/microwaveOven.js +88 -5
- package/dist/devices/microwaveOven.js.map +1 -0
- package/dist/devices/oven.d.ts +82 -0
- package/dist/devices/oven.d.ts.map +1 -0
- package/dist/devices/oven.js +85 -0
- package/dist/devices/oven.js.map +1 -0
- package/dist/devices/refrigerator.d.ts +100 -0
- package/dist/devices/refrigerator.d.ts.map +1 -0
- package/dist/devices/refrigerator.js +102 -0
- package/dist/devices/refrigerator.js.map +1 -0
- package/dist/devices/roboticVacuumCleaner.d.ts +83 -0
- package/dist/devices/roboticVacuumCleaner.d.ts.map +1 -0
- package/dist/devices/roboticVacuumCleaner.js +100 -9
- package/dist/devices/roboticVacuumCleaner.js.map +1 -0
- package/dist/devices/solarPower.d.ts +36 -0
- package/dist/devices/solarPower.d.ts.map +1 -0
- package/dist/devices/solarPower.js +38 -0
- package/dist/devices/solarPower.js.map +1 -0
- package/dist/devices/speaker.d.ts +79 -0
- package/dist/devices/speaker.d.ts.map +1 -0
- package/dist/devices/speaker.js +84 -0
- package/dist/devices/speaker.js.map +1 -0
- package/dist/devices/temperatureControl.d.ts +21 -0
- package/dist/devices/temperatureControl.d.ts.map +1 -0
- package/dist/devices/temperatureControl.js +24 -3
- package/dist/devices/temperatureControl.js.map +1 -0
- package/dist/devices/waterHeater.d.ts +74 -0
- package/dist/devices/waterHeater.d.ts.map +1 -0
- package/dist/devices/waterHeater.js +82 -2
- package/dist/devices/waterHeater.js.map +1 -0
- package/dist/dgram/coap.d.ts +171 -0
- package/dist/dgram/coap.d.ts.map +1 -0
- package/dist/dgram/coap.js +126 -13
- package/dist/dgram/coap.js.map +1 -0
- package/dist/dgram/dgram.d.ts +99 -0
- package/dist/dgram/dgram.d.ts.map +1 -0
- package/dist/dgram/dgram.js +114 -2
- package/dist/dgram/dgram.js.map +1 -0
- package/dist/dgram/mb_coap.d.ts +23 -0
- package/dist/dgram/mb_coap.d.ts.map +1 -0
- package/dist/dgram/mb_coap.js +41 -3
- package/dist/dgram/mb_coap.js.map +1 -0
- package/dist/dgram/mb_mdns.d.ts +23 -0
- package/dist/dgram/mb_mdns.d.ts.map +1 -0
- package/dist/dgram/mb_mdns.js +80 -24
- package/dist/dgram/mb_mdns.js.map +1 -0
- package/dist/dgram/mdns.d.ts +187 -4
- package/dist/dgram/mdns.d.ts.map +1 -0
- package/dist/dgram/mdns.js +371 -139
- package/dist/dgram/mdns.js.map +1 -0
- package/dist/dgram/multicast.d.ts +49 -0
- package/dist/dgram/multicast.d.ts.map +1 -0
- package/dist/dgram/multicast.js +62 -1
- package/dist/dgram/multicast.js.map +1 -0
- package/dist/dgram/unicast.d.ts +53 -0
- package/dist/dgram/unicast.d.ts.map +1 -0
- package/dist/dgram/unicast.js +60 -0
- package/dist/dgram/unicast.js.map +1 -0
- package/dist/frontend.d.ts +187 -0
- package/dist/frontend.d.ts.map +1 -0
- package/dist/frontend.js +485 -38
- package/dist/frontend.js.map +1 -0
- package/dist/frontendTypes.d.ts +57 -0
- package/dist/frontendTypes.d.ts.map +1 -0
- package/dist/frontendTypes.js +45 -0
- package/dist/frontendTypes.js.map +1 -0
- package/dist/helpers.d.ts +43 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +53 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/jestutils/export.d.ts +1 -0
- package/dist/jestutils/export.d.ts.map +1 -0
- package/dist/jestutils/export.js +1 -0
- package/dist/jestutils/export.js.map +1 -0
- package/dist/jestutils/jestHelpers.d.ts +255 -0
- package/dist/jestutils/jestHelpers.d.ts.map +1 -0
- package/dist/jestutils/jestHelpers.js +371 -14
- package/dist/jestutils/jestHelpers.js.map +1 -0
- package/dist/logger/export.d.ts +1 -0
- package/dist/logger/export.d.ts.map +1 -0
- package/dist/logger/export.js +1 -0
- package/dist/logger/export.js.map +1 -0
- package/dist/matter/behaviors.d.ts +1 -0
- package/dist/matter/behaviors.d.ts.map +1 -0
- package/dist/matter/behaviors.js +2 -0
- package/dist/matter/behaviors.js.map +1 -0
- package/dist/matter/clusters.d.ts +1 -0
- package/dist/matter/clusters.d.ts.map +1 -0
- package/dist/matter/clusters.js +2 -0
- package/dist/matter/clusters.js.map +1 -0
- package/dist/matter/devices.d.ts +1 -0
- package/dist/matter/devices.d.ts.map +1 -0
- package/dist/matter/devices.js +2 -0
- package/dist/matter/devices.js.map +1 -0
- package/dist/matter/endpoints.d.ts +1 -0
- package/dist/matter/endpoints.d.ts.map +1 -0
- package/dist/matter/endpoints.js +2 -0
- package/dist/matter/endpoints.js.map +1 -0
- package/dist/matter/export.d.ts +1 -0
- package/dist/matter/export.d.ts.map +1 -0
- package/dist/matter/export.js +3 -0
- package/dist/matter/export.js.map +1 -0
- package/dist/matter/types.d.ts +1 -0
- package/dist/matter/types.d.ts.map +1 -0
- package/dist/matter/types.js +3 -0
- package/dist/matter/types.js.map +1 -0
- package/dist/matterNode.d.ts +258 -0
- package/dist/matterNode.d.ts.map +1 -0
- package/dist/matterNode.js +369 -8
- package/dist/matterNode.js.map +1 -0
- package/dist/matterbridge.d.ts +353 -0
- package/dist/matterbridge.d.ts.map +1 -0
- package/dist/matterbridge.js +824 -46
- package/dist/matterbridge.js.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts +36 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.js +38 -0
- package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
- package/dist/matterbridgeBehaviors.d.ts +24 -0
- package/dist/matterbridgeBehaviors.d.ts.map +1 -0
- package/dist/matterbridgeBehaviors.js +68 -5
- package/dist/matterbridgeBehaviors.js.map +1 -0
- package/dist/matterbridgeDeviceTypes.d.ts +603 -0
- package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
- package/dist/matterbridgeDeviceTypes.js +635 -14
- package/dist/matterbridgeDeviceTypes.js.map +1 -0
- package/dist/matterbridgeDynamicPlatform.d.ts +36 -0
- package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
- package/dist/matterbridgeDynamicPlatform.js +38 -0
- package/dist/matterbridgeDynamicPlatform.js.map +1 -0
- package/dist/matterbridgeEndpoint.d.ts +1332 -0
- package/dist/matterbridgeEndpoint.d.ts.map +1 -0
- package/dist/matterbridgeEndpoint.js +1457 -53
- package/dist/matterbridgeEndpoint.js.map +1 -0
- package/dist/matterbridgeEndpointHelpers.d.ts +425 -0
- package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
- package/dist/matterbridgeEndpointHelpers.js +483 -20
- package/dist/matterbridgeEndpointHelpers.js.map +1 -0
- package/dist/matterbridgeEndpointTypes.d.ts +70 -0
- package/dist/matterbridgeEndpointTypes.d.ts.map +1 -0
- package/dist/matterbridgeEndpointTypes.js +25 -0
- package/dist/matterbridgeEndpointTypes.js.map +1 -0
- package/dist/matterbridgePlatform.d.ts +425 -0
- package/dist/matterbridgePlatform.d.ts.map +1 -0
- package/dist/matterbridgePlatform.js +451 -1
- package/dist/matterbridgePlatform.js.map +1 -0
- package/dist/matterbridgeTypes.d.ts +46 -0
- package/dist/matterbridgeTypes.d.ts.map +1 -0
- package/dist/matterbridgeTypes.js +26 -0
- package/dist/matterbridgeTypes.js.map +1 -0
- package/dist/pluginManager.d.ts +305 -0
- package/dist/pluginManager.d.ts.map +1 -0
- package/dist/pluginManager.js +341 -5
- package/dist/pluginManager.js.map +1 -0
- package/dist/shelly.d.ts +157 -0
- package/dist/shelly.d.ts.map +1 -0
- package/dist/shelly.js +178 -7
- package/dist/shelly.js.map +1 -0
- package/dist/storage/export.d.ts +1 -0
- package/dist/storage/export.d.ts.map +1 -0
- package/dist/storage/export.js +1 -0
- package/dist/storage/export.js.map +1 -0
- package/dist/update.d.ts +75 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +93 -1
- package/dist/update.js.map +1 -0
- package/dist/utils/colorUtils.d.ts +77 -0
- package/dist/utils/colorUtils.d.ts.map +1 -0
- package/dist/utils/colorUtils.js +97 -2
- package/dist/utils/colorUtils.js.map +1 -0
- package/dist/utils/commandLine.d.ts +60 -0
- package/dist/utils/commandLine.d.ts.map +1 -0
- package/dist/utils/commandLine.js +60 -0
- package/dist/utils/commandLine.js.map +1 -0
- package/dist/utils/copyDirectory.d.ts +33 -0
- package/dist/utils/copyDirectory.d.ts.map +1 -0
- package/dist/utils/copyDirectory.js +37 -0
- package/dist/utils/copyDirectory.js.map +1 -0
- package/dist/utils/createDirectory.d.ts +32 -0
- package/dist/utils/createDirectory.d.ts.map +1 -0
- package/dist/utils/createDirectory.js +33 -0
- package/dist/utils/createDirectory.js.map +1 -0
- package/dist/utils/createZip.d.ts +38 -0
- package/dist/utils/createZip.d.ts.map +1 -0
- package/dist/utils/createZip.js +47 -2
- package/dist/utils/createZip.js.map +1 -0
- package/dist/utils/deepCopy.d.ts +31 -0
- package/dist/utils/deepCopy.d.ts.map +1 -0
- package/dist/utils/deepCopy.js +39 -0
- package/dist/utils/deepCopy.js.map +1 -0
- package/dist/utils/deepEqual.d.ts +53 -0
- package/dist/utils/deepEqual.d.ts.map +1 -0
- package/dist/utils/deepEqual.js +72 -1
- package/dist/utils/deepEqual.js.map +1 -0
- package/dist/utils/error.d.ts +42 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +42 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/export.d.ts +1 -0
- package/dist/utils/export.d.ts.map +1 -0
- package/dist/utils/export.js +1 -0
- package/dist/utils/export.js.map +1 -0
- package/dist/utils/format.d.ts +49 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +49 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/hex.d.ts +85 -0
- package/dist/utils/hex.d.ts.map +1 -0
- package/dist/utils/hex.js +124 -0
- package/dist/utils/hex.js.map +1 -0
- package/dist/utils/inspector.d.ts +63 -0
- package/dist/utils/inspector.d.ts.map +1 -0
- package/dist/utils/inspector.js +69 -1
- package/dist/utils/inspector.js.map +1 -0
- package/dist/utils/isValid.d.ts +93 -0
- package/dist/utils/isValid.d.ts.map +1 -0
- package/dist/utils/isValid.js +93 -0
- package/dist/utils/isValid.js.map +1 -0
- package/dist/utils/network.d.ts +116 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +126 -5
- package/dist/utils/network.js.map +1 -0
- package/dist/utils/spawn.d.ts +32 -0
- package/dist/utils/spawn.d.ts.map +1 -0
- package/dist/utils/spawn.js +71 -1
- package/dist/utils/spawn.js.map +1 -0
- package/dist/utils/tracker.d.ts +56 -0
- package/dist/utils/tracker.d.ts.map +1 -0
- package/dist/utils/tracker.js +64 -1
- package/dist/utils/tracker.js.map +1 -0
- package/dist/utils/wait.d.ts +51 -0
- package/dist/utils/wait.d.ts.map +1 -0
- package/dist/utils/wait.js +60 -8
- package/dist/utils/wait.js.map +1 -0
- package/dist/workerGlobalPrefix.d.ts +24 -0
- package/dist/workerGlobalPrefix.d.ts.map +1 -0
- package/dist/workerGlobalPrefix.js +37 -5
- package/dist/workerGlobalPrefix.js.map +1 -0
- package/dist/workerTypes.d.ts +25 -0
- package/dist/workerTypes.d.ts.map +1 -0
- package/dist/workerTypes.js +24 -0
- package/dist/workerTypes.js.map +1 -0
- package/dist/workers.d.ts +61 -0
- package/dist/workers.d.ts.map +1 -0
- package/dist/workers.js +68 -4
- package/dist/workers.js.map +1 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -1
- package/packages/dgram/dist/coap.d.ts +171 -0
- package/packages/dgram/dist/coap.d.ts.map +1 -0
- package/packages/dgram/dist/coap.js +126 -13
- package/packages/dgram/dist/coap.js.map +1 -0
- package/packages/dgram/dist/dgram.d.ts +99 -0
- package/packages/dgram/dist/dgram.d.ts.map +1 -0
- package/packages/dgram/dist/dgram.js +115 -3
- package/packages/dgram/dist/dgram.js.map +1 -0
- package/packages/dgram/dist/export.d.ts +1 -0
- package/packages/dgram/dist/export.d.ts.map +1 -0
- package/packages/dgram/dist/export.js +1 -0
- package/packages/dgram/dist/export.js.map +1 -0
- package/packages/dgram/dist/mdns.d.ts +187 -4
- package/packages/dgram/dist/mdns.d.ts.map +1 -0
- package/packages/dgram/dist/mdns.js +371 -139
- package/packages/dgram/dist/mdns.js.map +1 -0
- package/packages/dgram/dist/multicast.d.ts +49 -0
- package/packages/dgram/dist/multicast.d.ts.map +1 -0
- package/packages/dgram/dist/multicast.js +62 -1
- package/packages/dgram/dist/multicast.js.map +1 -0
- package/packages/dgram/dist/unicast.d.ts +53 -0
- package/packages/dgram/dist/unicast.d.ts.map +1 -0
- package/packages/dgram/dist/unicast.js +60 -0
- package/packages/dgram/dist/unicast.js.map +1 -0
- package/packages/jest-utils/dist/export.d.ts +1 -0
- package/packages/jest-utils/dist/export.d.ts.map +1 -0
- package/packages/jest-utils/dist/export.js +1 -0
- package/packages/jest-utils/dist/export.js.map +1 -0
- package/packages/jest-utils/dist/jestHelpers.d.ts +56 -0
- package/packages/jest-utils/dist/jestHelpers.d.ts.map +1 -0
- package/packages/jest-utils/dist/jestHelpers.js +62 -1
- package/packages/jest-utils/dist/jestHelpers.js.map +1 -0
- package/packages/utils/dist/colorUtils.d.ts +77 -0
- package/packages/utils/dist/colorUtils.d.ts.map +1 -0
- package/packages/utils/dist/colorUtils.js +97 -2
- package/packages/utils/dist/colorUtils.js.map +1 -0
- package/packages/utils/dist/commandLine.d.ts +60 -0
- package/packages/utils/dist/commandLine.d.ts.map +1 -0
- package/packages/utils/dist/commandLine.js +60 -0
- package/packages/utils/dist/commandLine.js.map +1 -0
- package/packages/utils/dist/copyDirectory.d.ts +33 -0
- package/packages/utils/dist/copyDirectory.d.ts.map +1 -0
- package/packages/utils/dist/copyDirectory.js +37 -0
- package/packages/utils/dist/copyDirectory.js.map +1 -0
- package/packages/utils/dist/createDirectory.d.ts +32 -0
- package/packages/utils/dist/createDirectory.d.ts.map +1 -0
- package/packages/utils/dist/createDirectory.js +33 -0
- package/packages/utils/dist/createDirectory.js.map +1 -0
- package/packages/utils/dist/createZip.d.ts +38 -0
- package/packages/utils/dist/createZip.d.ts.map +1 -0
- package/packages/utils/dist/createZip.js +47 -2
- package/packages/utils/dist/createZip.js.map +1 -0
- package/packages/utils/dist/deepCopy.d.ts +31 -0
- package/packages/utils/dist/deepCopy.d.ts.map +1 -0
- package/packages/utils/dist/deepCopy.js +39 -0
- package/packages/utils/dist/deepCopy.js.map +1 -0
- package/packages/utils/dist/deepEqual.d.ts +53 -0
- package/packages/utils/dist/deepEqual.d.ts.map +1 -0
- package/packages/utils/dist/deepEqual.js +73 -1
- package/packages/utils/dist/deepEqual.js.map +1 -0
- package/packages/utils/dist/error.d.ts +42 -0
- package/packages/utils/dist/error.d.ts.map +1 -0
- package/packages/utils/dist/error.js +42 -0
- package/packages/utils/dist/error.js.map +1 -0
- package/packages/utils/dist/export.d.ts +1 -0
- package/packages/utils/dist/export.d.ts.map +1 -0
- package/packages/utils/dist/export.js +1 -0
- package/packages/utils/dist/export.js.map +1 -0
- package/packages/utils/dist/format.d.ts +49 -0
- package/packages/utils/dist/format.d.ts.map +1 -0
- package/packages/utils/dist/format.js +49 -0
- package/packages/utils/dist/format.js.map +1 -0
- package/packages/utils/dist/githubVersion.d.ts +32 -0
- package/packages/utils/dist/githubVersion.d.ts.map +1 -0
- package/packages/utils/dist/githubVersion.js +34 -1
- package/packages/utils/dist/githubVersion.js.map +1 -0
- package/packages/utils/dist/hex.d.ts +85 -0
- package/packages/utils/dist/hex.d.ts.map +1 -0
- package/packages/utils/dist/hex.js +124 -0
- package/packages/utils/dist/hex.js.map +1 -0
- package/packages/utils/dist/inspector.d.ts +63 -0
- package/packages/utils/dist/inspector.d.ts.map +1 -0
- package/packages/utils/dist/inspector.js +69 -1
- package/packages/utils/dist/inspector.js.map +1 -0
- package/packages/utils/dist/isValid.d.ts +93 -0
- package/packages/utils/dist/isValid.d.ts.map +1 -0
- package/packages/utils/dist/isValid.js +93 -0
- package/packages/utils/dist/isValid.js.map +1 -0
- package/packages/utils/dist/network.d.ts +93 -0
- package/packages/utils/dist/network.d.ts.map +1 -0
- package/packages/utils/dist/network.js +99 -3
- package/packages/utils/dist/network.js.map +1 -0
- package/packages/utils/dist/npmRoot.d.ts +28 -0
- package/packages/utils/dist/npmRoot.d.ts.map +1 -0
- package/packages/utils/dist/npmRoot.js +28 -0
- package/packages/utils/dist/npmRoot.js.map +1 -0
- package/packages/utils/dist/npmVersion.d.ts +32 -0
- package/packages/utils/dist/npmVersion.d.ts.map +1 -0
- package/packages/utils/dist/npmVersion.js +34 -1
- package/packages/utils/dist/npmVersion.js.map +1 -0
- package/packages/utils/dist/tracker.d.ts +56 -0
- package/packages/utils/dist/tracker.d.ts.map +1 -0
- package/packages/utils/dist/tracker.js +64 -1
- package/packages/utils/dist/tracker.js.map +1 -0
- package/packages/utils/dist/wait.d.ts +51 -0
- package/packages/utils/dist/wait.d.ts.map +1 -0
- package/packages/utils/dist/wait.js +60 -8
- package/packages/utils/dist/wait.js.map +1 -0
- package/packages/vitest-utils/dist/export.d.ts +1 -0
- package/packages/vitest-utils/dist/export.d.ts.map +1 -0
- package/packages/vitest-utils/dist/export.js +1 -0
- package/packages/vitest-utils/dist/export.js.map +1 -0
- package/packages/vitest-utils/dist/vitestHelpers.d.ts +37 -0
- package/packages/vitest-utils/dist/vitestHelpers.d.ts.map +1 -0
- package/packages/vitest-utils/dist/vitestHelpers.js +43 -1
- package/packages/vitest-utils/dist/vitestHelpers.js.map +1 -0
|
@@ -1,4 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description This file contains the class Coap.
|
|
3
|
+
* @file src/dgram/coap.ts
|
|
4
|
+
* @author Luca Liguori
|
|
5
|
+
* @created 2025-03-22
|
|
6
|
+
* @version 1.0.0
|
|
7
|
+
* @license Apache-2.0
|
|
8
|
+
*
|
|
9
|
+
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
10
|
+
*
|
|
11
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
+
* you may not use this file except in compliance with the License.
|
|
13
|
+
* You may obtain a copy of the License at
|
|
14
|
+
*
|
|
15
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
*
|
|
17
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
+
* See the License for the specific language governing permissions and
|
|
21
|
+
* limitations under the License.
|
|
22
|
+
*/
|
|
23
|
+
// AnsiLogger imports
|
|
1
24
|
import { BLUE, db, GREEN, MAGENTA, nf } from 'node-ansi-logger';
|
|
25
|
+
// Net imports
|
|
2
26
|
import { COAP_MULTICAST_IPV4_ADDRESS, COAP_MULTICAST_PORT, Multicast } from './multicast.js';
|
|
3
27
|
export const COAP_OPTION_URI_PATH = 11;
|
|
4
28
|
export const COIOT_OPTION_DEVID = 3332;
|
|
@@ -24,16 +48,26 @@ export class Coap extends Multicast {
|
|
|
24
48
|
this.log.error(`Error decoding CoAP message: ${error instanceof Error ? error.message : error}`);
|
|
25
49
|
}
|
|
26
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Decodes a CoAP message from a Buffer.
|
|
53
|
+
*
|
|
54
|
+
* @param {Buffer} msg - The Buffer containing the raw CoAP message.
|
|
55
|
+
* @returns {CoapMessage} A parsed CoAP message object.
|
|
56
|
+
* @throws {Error} if the message is malformed.
|
|
57
|
+
*/
|
|
27
58
|
decodeCoapMessage(msg) {
|
|
59
|
+
// A valid CoAP message must have at least 4 bytes for the header.
|
|
28
60
|
if (msg.length < 4) {
|
|
29
61
|
throw new Error('Message too short to be a valid CoAP message');
|
|
30
62
|
}
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const
|
|
63
|
+
// Parse the 4-byte fixed header.
|
|
64
|
+
const version = (msg[0] & 0xc0) >> 6; // Bits 7-6: Version
|
|
65
|
+
const type = (msg[0] & 0x30) >> 4; // Bits 5-4: Type
|
|
66
|
+
const tokenLength = msg[0] & 0x0f; // Bits 3-0: Token Length
|
|
67
|
+
const code = msg[1]; // 8-bit Code
|
|
68
|
+
const messageId = msg.readUInt16BE(2); // 16-bit Message ID
|
|
36
69
|
let offset = 4;
|
|
70
|
+
// Parse token if present.
|
|
37
71
|
let token = Buffer.alloc(0);
|
|
38
72
|
if (tokenLength > 0) {
|
|
39
73
|
if (msg.length < offset + tokenLength) {
|
|
@@ -42,16 +76,20 @@ export class Coap extends Multicast {
|
|
|
42
76
|
token = msg.slice(offset, offset + tokenLength);
|
|
43
77
|
offset += tokenLength;
|
|
44
78
|
}
|
|
79
|
+
// Parse options.
|
|
45
80
|
const options = [];
|
|
46
81
|
let currentOptionNumber = 0;
|
|
47
82
|
while (offset < msg.length) {
|
|
83
|
+
// Payload marker: 0xFF indicates the beginning of the payload.
|
|
48
84
|
if (msg[offset] === 0xff) {
|
|
49
|
-
offset++;
|
|
85
|
+
offset++; // Skip the marker.
|
|
50
86
|
break;
|
|
51
87
|
}
|
|
88
|
+
// Read the option header byte.
|
|
52
89
|
const optionHeader = msg[offset++];
|
|
53
|
-
let delta = (optionHeader & 0xf0) >> 4;
|
|
54
|
-
let length = optionHeader & 0x0f;
|
|
90
|
+
let delta = (optionHeader & 0xf0) >> 4; // High nibble: option delta.
|
|
91
|
+
let length = optionHeader & 0x0f; // Low nibble: option length.
|
|
92
|
+
// Extended delta handling.
|
|
55
93
|
if (delta === 13) {
|
|
56
94
|
if (offset >= msg.length) {
|
|
57
95
|
throw new Error('Invalid extended option delta');
|
|
@@ -68,6 +106,7 @@ export class Coap extends Multicast {
|
|
|
68
106
|
else if (delta === 15) {
|
|
69
107
|
throw new Error('Reserved option delta value encountered');
|
|
70
108
|
}
|
|
109
|
+
// Extended length handling.
|
|
71
110
|
if (length === 13) {
|
|
72
111
|
if (offset >= msg.length) {
|
|
73
112
|
throw new Error('Invalid extended option length');
|
|
@@ -84,7 +123,9 @@ export class Coap extends Multicast {
|
|
|
84
123
|
else if (length === 15) {
|
|
85
124
|
throw new Error('Reserved option length value encountered');
|
|
86
125
|
}
|
|
126
|
+
// Calculate the actual option number.
|
|
87
127
|
currentOptionNumber += delta;
|
|
128
|
+
// Ensure that the option's value fits in the remaining message.
|
|
88
129
|
if (offset + length > msg.length) {
|
|
89
130
|
throw new Error('Option length exceeds message length');
|
|
90
131
|
}
|
|
@@ -95,6 +136,7 @@ export class Coap extends Multicast {
|
|
|
95
136
|
value: optionValue,
|
|
96
137
|
});
|
|
97
138
|
}
|
|
139
|
+
// Parse payload if any remains.
|
|
98
140
|
const payload = offset < msg.length ? msg.slice(offset) : undefined;
|
|
99
141
|
return {
|
|
100
142
|
version,
|
|
@@ -107,23 +149,38 @@ export class Coap extends Multicast {
|
|
|
107
149
|
payload,
|
|
108
150
|
};
|
|
109
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Encodes a CoAP message into a Buffer.
|
|
154
|
+
*
|
|
155
|
+
* @param {CoapMessage} msg - The CoAP message to encode.
|
|
156
|
+
* @returns {Buffer} A Buffer representing the encoded CoAP message.
|
|
157
|
+
* @throws {Error} if the message is malformed.
|
|
158
|
+
*/
|
|
110
159
|
encodeCoapMessage(msg) {
|
|
111
160
|
const parts = [];
|
|
161
|
+
// Determine token length (ensure it's consistent with msg.token)
|
|
112
162
|
const token = msg.token || Buffer.alloc(0);
|
|
113
163
|
const tokenLength = token.length;
|
|
114
164
|
if (tokenLength > 8) {
|
|
115
165
|
throw new Error('Token length cannot exceed 8 bytes');
|
|
116
166
|
}
|
|
167
|
+
// Create header (4 bytes):
|
|
168
|
+
// Byte 0: Version (2 bits), Type (2 bits), Token Length (4 bits)
|
|
169
|
+
// Byte 1: Code (8 bits)
|
|
170
|
+
// Bytes 2-3: Message ID (16 bits)
|
|
117
171
|
const header = Buffer.alloc(4);
|
|
118
172
|
header[0] = ((msg.version & 0x03) << 6) | ((msg.type & 0x03) << 4) | (tokenLength & 0x0f);
|
|
119
173
|
header[1] = msg.code;
|
|
120
174
|
header.writeUInt16BE(msg.messageId, 2);
|
|
121
175
|
parts.push(header);
|
|
176
|
+
// Append token if present.
|
|
122
177
|
if (tokenLength > 0) {
|
|
123
178
|
parts.push(token);
|
|
124
179
|
}
|
|
180
|
+
// Sort options by option number in ascending order.
|
|
125
181
|
const sortedOptions = msg.options.slice().sort((a, b) => a.number - b.number);
|
|
126
182
|
let previousOptionNumber = 0;
|
|
183
|
+
// Encode each option.
|
|
127
184
|
for (const option of sortedOptions) {
|
|
128
185
|
const optionDelta = option.number - previousOptionNumber;
|
|
129
186
|
const optionValueLength = option.value.length;
|
|
@@ -131,6 +188,7 @@ export class Coap extends Multicast {
|
|
|
131
188
|
let deltaExtended = null;
|
|
132
189
|
let lengthNibble;
|
|
133
190
|
let lengthExtended = null;
|
|
191
|
+
// Determine option delta nibble and extended delta field.
|
|
134
192
|
if (optionDelta < 13) {
|
|
135
193
|
deltaNibble = optionDelta;
|
|
136
194
|
}
|
|
@@ -143,6 +201,7 @@ export class Coap extends Multicast {
|
|
|
143
201
|
deltaExtended = Buffer.alloc(2);
|
|
144
202
|
deltaExtended.writeUInt16BE(optionDelta - 269, 0);
|
|
145
203
|
}
|
|
204
|
+
// Determine option length nibble and extended length field.
|
|
146
205
|
if (optionValueLength < 13) {
|
|
147
206
|
lengthNibble = optionValueLength;
|
|
148
207
|
}
|
|
@@ -155,24 +214,42 @@ export class Coap extends Multicast {
|
|
|
155
214
|
lengthExtended = Buffer.alloc(2);
|
|
156
215
|
lengthExtended.writeUInt16BE(optionValueLength - 269, 0);
|
|
157
216
|
}
|
|
217
|
+
// Option header byte: high nibble is delta, low nibble is length.
|
|
158
218
|
const optionHeader = Buffer.alloc(1);
|
|
159
219
|
optionHeader[0] = (deltaNibble << 4) | (lengthNibble & 0x0f);
|
|
160
220
|
parts.push(optionHeader);
|
|
221
|
+
// Append extended delta if needed.
|
|
161
222
|
if (deltaExtended) {
|
|
162
223
|
parts.push(deltaExtended);
|
|
163
224
|
}
|
|
225
|
+
// Append extended length if needed.
|
|
164
226
|
if (lengthExtended) {
|
|
165
227
|
parts.push(lengthExtended);
|
|
166
228
|
}
|
|
229
|
+
// Append the option value.
|
|
167
230
|
parts.push(option.value);
|
|
231
|
+
// Update previous option number.
|
|
168
232
|
previousOptionNumber = option.number;
|
|
169
233
|
}
|
|
234
|
+
// If a payload is present, add the payload marker (0xFF) followed by the payload.
|
|
170
235
|
if (msg.payload && msg.payload.length > 0) {
|
|
171
|
-
parts.push(Buffer.from([0xff]));
|
|
236
|
+
parts.push(Buffer.from([0xff])); // Payload marker.
|
|
172
237
|
parts.push(msg.payload);
|
|
173
238
|
}
|
|
174
239
|
return Buffer.concat(parts);
|
|
175
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* Converts a CoAP message type numeric value to its string representation.
|
|
243
|
+
*
|
|
244
|
+
* CoAP message types are:
|
|
245
|
+
* - 0: Confirmable (CON)
|
|
246
|
+
* - 1: Non-confirmable (NON)
|
|
247
|
+
* - 2: Acknowledgement (ACK)
|
|
248
|
+
* - 3: Reset (RST)
|
|
249
|
+
*
|
|
250
|
+
* @param {number} type - The numeric CoAP message type.
|
|
251
|
+
* @returns {string} The string representation of the message type.
|
|
252
|
+
*/
|
|
176
253
|
coapTypeToString(type) {
|
|
177
254
|
switch (type) {
|
|
178
255
|
case 0:
|
|
@@ -187,18 +264,37 @@ export class Coap extends Multicast {
|
|
|
187
264
|
return `Unknown Type (${type})`;
|
|
188
265
|
}
|
|
189
266
|
}
|
|
267
|
+
/**
|
|
268
|
+
* Converts a CoAP code numeric value to its string representation.
|
|
269
|
+
*
|
|
270
|
+
* The CoAP code is split into a 3-bit class and a 5-bit detail.
|
|
271
|
+
* For example:
|
|
272
|
+
* - 0.01: GET
|
|
273
|
+
* - 0.02: POST
|
|
274
|
+
* - 0.03: PUT
|
|
275
|
+
* - 0.04: DELETE
|
|
276
|
+
* - 2.05: Content (success response)
|
|
277
|
+
* - 4.04: Not Found (client error)
|
|
278
|
+
* - 5.00: Internal Server Error (server error)
|
|
279
|
+
*
|
|
280
|
+
* @param {number} code - The numeric CoAP code.
|
|
281
|
+
* @returns {string} The string representation of the code.
|
|
282
|
+
*/
|
|
190
283
|
coapCodeToString(code) {
|
|
284
|
+
// Split the code: the upper 3 bits form the class and the lower 5 bits form the detail.
|
|
191
285
|
const cls = code >> 5;
|
|
192
286
|
const detail = code & 0x1f;
|
|
193
287
|
const codeStr = `${cls}.${detail.toString().padStart(2, '0')}`;
|
|
194
288
|
return codeStr;
|
|
195
289
|
}
|
|
196
|
-
sendRequest(messageId, options,
|
|
290
|
+
sendRequest(messageId, options,
|
|
291
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
292
|
+
payload, token, address, port) {
|
|
197
293
|
const coapMessage = {
|
|
198
294
|
version: 1,
|
|
199
|
-
type: 1,
|
|
295
|
+
type: 1, // e.g., Confirmable
|
|
200
296
|
tokenLength: token ? Buffer.from(token).length : 0,
|
|
201
|
-
code: 1,
|
|
297
|
+
code: 1, // e.g., GET
|
|
202
298
|
messageId,
|
|
203
299
|
token: token ? Buffer.from(token) : Buffer.alloc(0),
|
|
204
300
|
options,
|
|
@@ -217,6 +313,10 @@ export class Coap extends Multicast {
|
|
|
217
313
|
this.log.info(`Option: COAP_OPTION_URI_PATH => ${GREEN}${option.value}${nf}`);
|
|
218
314
|
}
|
|
219
315
|
else if (option.number === COIOT_OPTION_DEVID) {
|
|
316
|
+
/*
|
|
317
|
+
* First defined option is COIOT_OPTION_GLOBAL_DEVID. This is a global option and must be present in all CoIoT packages with request or payload.
|
|
318
|
+
* Its value is a string in format <devtype>#<devid>#<version> for example SHSEN-1#4B3F9E#1 The whole option should be less than 50 bytes.
|
|
319
|
+
*/
|
|
220
320
|
const parts = option.value.toString().split('#');
|
|
221
321
|
const deviceModel = parts[0];
|
|
222
322
|
const deviceMac = parts[1];
|
|
@@ -224,10 +324,22 @@ export class Coap extends Multicast {
|
|
|
224
324
|
this.log.info(`Option: COIOT_OPTION_DEVID => ${option.value} => Model: ${GREEN}${deviceModel}${nf}, MAC: ${GREEN}${deviceMac}${nf}, Protocol: ${GREEN}${protocolRevision}${nf}`);
|
|
225
325
|
}
|
|
226
326
|
else if (option.number === COIOT_OPTION_SERIAL) {
|
|
327
|
+
/*
|
|
328
|
+
* This option is mandatory in status response and publishes. It is a uint16_t in network byte order which indicates a change in the status report.
|
|
329
|
+
* When a new status report is handled, all payload processing can be skipped if the serial number does not change from the last processed payload.
|
|
330
|
+
* The value 0 is reserved and should not be sent. This allows easy initialization in the receiving devices.
|
|
331
|
+
*/
|
|
227
332
|
const serial = option.value.readUInt16BE(0);
|
|
228
333
|
this.log.info(`Option: COIOT_OPTION_SERIAL => 0x${option.value.toString('hex')} => serial: ${GREEN}${serial}${nf}`);
|
|
229
334
|
}
|
|
230
335
|
else if (option.number === COIOT_OPTION_VALIDITY) {
|
|
336
|
+
/*
|
|
337
|
+
* COIOT_OPTION_STATUS_VALIDITY is a uint16_t in network byte order (big endian) that states the maximal time between this and the next status publish.
|
|
338
|
+
* This way a device can state its report interval. If a report is not received from this device after the interval has passed the device should be considered offline.
|
|
339
|
+
* The LS bit of this option controls how the value is scaled:
|
|
340
|
+
* - If the LS bit is 0, the value is number of 1/10 of seconds in the validity period, so 2 is 0.2 seconds, 10 is a second, 600 is a minute, 65534 is 109 minutes and 13 seconds.
|
|
341
|
+
* - If the LS bit is 1, the value is number of 4 seconds interval in the whole interval. So 3 is 12 seconds, 11 is 44 seconds and 65535 is more than 3 days.
|
|
342
|
+
*/
|
|
231
343
|
const validity = option.value.readUInt16BE(0);
|
|
232
344
|
let validFor = 0;
|
|
233
345
|
if ((validity & 0x1) === 0) {
|
|
@@ -242,7 +354,7 @@ export class Coap extends Multicast {
|
|
|
242
354
|
this.log.info(`Option: ${option.number} - ${option.value
|
|
243
355
|
.toString('hex')
|
|
244
356
|
.match(/.{1,2}/g)
|
|
245
|
-
?.join(' ')}`);
|
|
357
|
+
?.join(' ')}`); // Split into pairs of hex characters
|
|
246
358
|
});
|
|
247
359
|
if (msg.payload && msg.payload.length > 0)
|
|
248
360
|
this.log.info(`Payload:`, JSON.parse(msg.payload.toString()), '\n');
|
|
@@ -250,3 +362,4 @@ export class Coap extends Multicast {
|
|
|
250
362
|
this.log.info(`No payload`, '\n');
|
|
251
363
|
}
|
|
252
364
|
}
|
|
365
|
+
//# sourceMappingURL=coap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coap.js","sourceRoot":"","sources":["../src/coap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description This file contains the class Dgram.
|
|
3
|
+
* @file dgram.ts
|
|
4
|
+
* @author Luca Liguori
|
|
5
|
+
* @created 2025-03-22
|
|
6
|
+
* @version 1.0.3
|
|
7
|
+
* @license Apache-2.0
|
|
8
|
+
*
|
|
9
|
+
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
10
|
+
*
|
|
11
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
+
* you may not use this file except in compliance with the License.
|
|
13
|
+
* You may obtain a copy of the License at
|
|
14
|
+
*
|
|
15
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
*
|
|
17
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
+
* See the License for the specific language governing permissions and
|
|
21
|
+
* limitations under the License.
|
|
22
|
+
*/
|
|
1
23
|
import dgram from 'node:dgram';
|
|
2
24
|
import EventEmitter from 'node:events';
|
|
3
25
|
import { AddressInfo } from 'node:net';
|
|
4
26
|
import { AnsiLogger } from 'node-ansi-logger';
|
|
27
|
+
/**
|
|
28
|
+
* Represents the Dgram events.
|
|
29
|
+
*/
|
|
5
30
|
export interface DgramEvents {
|
|
6
31
|
error: [error: Error];
|
|
7
32
|
close: [];
|
|
@@ -12,6 +37,9 @@ export interface DgramEvents {
|
|
|
12
37
|
ready: [address: AddressInfo];
|
|
13
38
|
bound: [address: AddressInfo];
|
|
14
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* This class implements a dgram socket.
|
|
42
|
+
*/
|
|
15
43
|
export declare class Dgram extends EventEmitter<DgramEvents> {
|
|
16
44
|
verbose: boolean;
|
|
17
45
|
debug: boolean;
|
|
@@ -24,7 +52,23 @@ export declare class Dgram extends EventEmitter<DgramEvents> {
|
|
|
24
52
|
interfaceAddress?: string;
|
|
25
53
|
interfaceNetmask?: string;
|
|
26
54
|
excludedInterfaceNamePattern: RegExp;
|
|
55
|
+
/**
|
|
56
|
+
* Creates an instance of Dgram.
|
|
57
|
+
*
|
|
58
|
+
* @param {string} name - The name of the socket.
|
|
59
|
+
* @param {'udp4' | 'udp6'} socketType - The type of the socket (IPv4 or IPv6).
|
|
60
|
+
* @param {boolean | undefined} reuseAddr - Whether to allow address reuse. Defaults to true.
|
|
61
|
+
* @param {string} [interfaceName] - The name of the network interface to bind to.
|
|
62
|
+
* @param {string} [interfaceAddress] - The address of the network interface to bind to.
|
|
63
|
+
*/
|
|
27
64
|
constructor(name: string, socketType: 'udp4' | 'udp6', reuseAddr?: boolean | undefined, interfaceName?: string, interfaceAddress?: string);
|
|
65
|
+
/**
|
|
66
|
+
* Sends a message to the specified server.
|
|
67
|
+
*
|
|
68
|
+
* @param {Buffer} msg - The message buffer to send.
|
|
69
|
+
* @param {string} serverAddress - The IPv4 address of the destination server.
|
|
70
|
+
* @param {number} serverPort - The port of the destination server.
|
|
71
|
+
*/
|
|
28
72
|
send(msg: Buffer, serverAddress: string, serverPort: number): void;
|
|
29
73
|
onError(error: Error): void;
|
|
30
74
|
onClose(): void;
|
|
@@ -33,13 +77,68 @@ export declare class Dgram extends EventEmitter<DgramEvents> {
|
|
|
33
77
|
onMessage(msg: Buffer, rinfo: dgram.RemoteInfo): void;
|
|
34
78
|
onListening(address: AddressInfo): void;
|
|
35
79
|
onReady(address: AddressInfo): void;
|
|
80
|
+
/**
|
|
81
|
+
* Retrieves the IPv4 address of the specified network interface or the first external IPv4 interface if no interface is specified.
|
|
82
|
+
* Throws an error if no suitable interface or address is found.
|
|
83
|
+
*
|
|
84
|
+
* @param {string} networkInterface - The name of the network interface to retrieve the IPv4 address from. If not specified, the first external IPv4 interface will be used.
|
|
85
|
+
* @returns {string | undefined} The IPv4 address of the specified network interface or the first external IPv4 interface.
|
|
86
|
+
* @throws {Error} if no suitable interface or address is found.
|
|
87
|
+
*/
|
|
36
88
|
getIpv4InterfaceAddress(networkInterface?: string): string | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* Retrieves the IPv6 address of the specified network interface or the first external IPv6 interface if no interface is specified.
|
|
91
|
+
* Throws an error if no suitable interface or address is found.
|
|
92
|
+
*
|
|
93
|
+
* @param {string} [networkInterface] - The name of the network interface to retrieve the IPv6 address from. If not specified, the first external IPv6 interface will be used.
|
|
94
|
+
* @returns {string | undefined} The IPv6 address of the specified network interface or the first external IPv6 interface.
|
|
95
|
+
* @throws {Error} If no suitable interface or address is found.
|
|
96
|
+
*/
|
|
37
97
|
getIpv6InterfaceAddress(networkInterface?: string): string | undefined;
|
|
98
|
+
/**
|
|
99
|
+
* Retrieves the names of all available network interfaces.
|
|
100
|
+
*
|
|
101
|
+
* @returns {string[]} An array of network interface names.
|
|
102
|
+
*/
|
|
38
103
|
getInterfacesNames(): string[];
|
|
104
|
+
/**
|
|
105
|
+
* Retrieves the scope ID of the first found IPv6 address on the specified network interface or on any interface if none is specified.
|
|
106
|
+
*
|
|
107
|
+
* @param {string} [interfaceName] - The name of the network interface. If not provided, the first found IPv6 address will be used.
|
|
108
|
+
* @returns {string} The scope ID of the first found IPv6 address or an empty string.
|
|
109
|
+
*/
|
|
39
110
|
getIpv6ScopeId(interfaceName?: string): string;
|
|
111
|
+
/**
|
|
112
|
+
* Retrieves the interface name from the scope id of an IPv6 address.
|
|
113
|
+
*
|
|
114
|
+
* @param {number} scopeId - The scope id of the IPv6 address.
|
|
115
|
+
* @returns {string | undefined} The interface name or undefined if not found.
|
|
116
|
+
*/
|
|
40
117
|
getInterfaceNameFromScopeId(scopeId: number): string | undefined;
|
|
118
|
+
/**
|
|
119
|
+
* Retrieves the netmask of the specified interface address.
|
|
120
|
+
*
|
|
121
|
+
* @param {string} interfaceAddress - The interface address for which to retrieve the netmask.
|
|
122
|
+
* @returns {string | undefined} The netmask of the specified interface address or undefined if not found.
|
|
123
|
+
*/
|
|
41
124
|
getNetmask(interfaceAddress: string): string | undefined;
|
|
125
|
+
/**
|
|
126
|
+
* Computes the broadcast address given an IPv4 address and netmask.
|
|
127
|
+
*
|
|
128
|
+
* @param {string | undefined} [ipAddress] - The IPv4 address e.g. "192.168.1.20"
|
|
129
|
+
* @param {string | undefined} [netmask] - The IPv4 netmask e.g. "255.255.255.0"
|
|
130
|
+
* @returns {string | undefined} The computed broadcast address, e.g. "192.168.1.255"
|
|
131
|
+
*/
|
|
42
132
|
getIpv4BroadcastAddress(ipAddress: string | undefined, netmask: string | undefined): string | undefined;
|
|
133
|
+
/**
|
|
134
|
+
* Returns the broadcast IPv6 address.
|
|
135
|
+
*
|
|
136
|
+
* @returns {string} The broadcast IPv6 address, e.g. "ff02::1"
|
|
137
|
+
*/
|
|
43
138
|
getIpv6BroadcastAddress(): string;
|
|
139
|
+
/**
|
|
140
|
+
* Logs all available network interfaces and their details.
|
|
141
|
+
*/
|
|
44
142
|
listNetworkInterfaces(): void;
|
|
45
143
|
}
|
|
144
|
+
//# sourceMappingURL=dgram.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dgram.d.ts","sourceRoot":"","sources":["../src/dgram.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,OAAO,EAAE,UAAU,EAAoD,MAAM,kBAAkB,CAAC;AAGhG;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtB,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAChD,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/D,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,KAAM,SAAQ,YAAY,CAAC,WAAW,CAAC;IAClD,OAAO,UAAgD;IACvD,KAAK,UAA8F;IACnG,MAAM,UAA+C;IACrD,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,KAAK,UAAS;IACd,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4BAA4B,SAC4N;IAExP;;;;;;;;OAQG;gBACS,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,GAAE,OAAO,GAAG,SAAgB,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAiD/I;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAc3D,OAAO,CAAC,KAAK,EAAE,KAAK;IAIpB,OAAO;IAIP,SAAS;IAIT,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAI7D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU;IAI9C,WAAW,CAAC,OAAO,EAAE,WAAW;IAKhC,OAAO,CAAC,OAAO,EAAE,WAAW;IAK5B;;;;;;;OAOG;IACH,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAyCtE;;;;;;;OAOG;IACH,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IA2DtE;;;;OAIG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAW9B;;;;;OAKG;IACH,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM;IAgB9C;;;;;OAKG;IACH,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAchE;;;;;OAKG;IACH,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAkBxD;;;;;;OAMG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAUvG;;;;OAIG;IACH,uBAAuB,IAAI,MAAM;IAIjC;;OAEG;IACH,qBAAqB;CAYtB"}
|