@zwave-js/nvmedit 14.3.3 → 14.3.4

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.
Files changed (57) hide show
  1. package/build/cjs/convert.js +36 -20
  2. package/build/cjs/convert.js.map +1 -1
  3. package/build/cjs/lib/NVM3.js +15 -7
  4. package/build/cjs/lib/NVM3.js.map +1 -1
  5. package/build/cjs/lib/NVM500.js +4 -0
  6. package/build/cjs/lib/NVM500.js.map +1 -1
  7. package/build/cjs/lib/common/routeCache.js +4 -0
  8. package/build/cjs/lib/common/routeCache.js.map +1 -1
  9. package/build/cjs/lib/common/sucUpdateEntry.js +3 -0
  10. package/build/cjs/lib/common/sucUpdateEntry.js.map +1 -1
  11. package/build/cjs/lib/common/utils.js +8 -0
  12. package/build/cjs/lib/common/utils.js.map +1 -1
  13. package/build/cjs/lib/io/BufferedNVMReader.js +4 -0
  14. package/build/cjs/lib/io/BufferedNVMReader.js.map +1 -1
  15. package/build/cjs/lib/io/NVMFileIO.js +4 -0
  16. package/build/cjs/lib/io/NVMFileIO.js.map +1 -1
  17. package/build/cjs/lib/io/NVMMemoryIO.js +4 -0
  18. package/build/cjs/lib/io/NVMMemoryIO.js.map +1 -1
  19. package/build/cjs/lib/nvm3/adapter.js +13 -8
  20. package/build/cjs/lib/nvm3/adapter.js.map +1 -1
  21. package/build/cjs/lib/nvm3/files/ApplicationCCsFile.js +5 -0
  22. package/build/cjs/lib/nvm3/files/ApplicationCCsFile.js.map +1 -1
  23. package/build/cjs/lib/nvm3/files/ApplicationDataFile.js +5 -0
  24. package/build/cjs/lib/nvm3/files/ApplicationDataFile.js.map +1 -1
  25. package/build/cjs/lib/nvm3/files/ApplicationNameFile.js +5 -0
  26. package/build/cjs/lib/nvm3/files/ApplicationNameFile.js.map +1 -1
  27. package/build/cjs/lib/nvm3/files/ApplicationRFConfigFile.js +5 -0
  28. package/build/cjs/lib/nvm3/files/ApplicationRFConfigFile.js.map +1 -1
  29. package/build/cjs/lib/nvm3/files/ApplicationTypeFile.js +5 -0
  30. package/build/cjs/lib/nvm3/files/ApplicationTypeFile.js.map +1 -1
  31. package/build/cjs/lib/nvm3/files/ControllerInfoFile.js +5 -0
  32. package/build/cjs/lib/nvm3/files/ControllerInfoFile.js.map +1 -1
  33. package/build/cjs/lib/nvm3/files/NVMFile.js +10 -0
  34. package/build/cjs/lib/nvm3/files/NVMFile.js.map +1 -1
  35. package/build/cjs/lib/nvm3/files/NodeInfoFiles.js +18 -0
  36. package/build/cjs/lib/nvm3/files/NodeInfoFiles.js.map +1 -1
  37. package/build/cjs/lib/nvm3/files/ProtocolNodeMaskFiles.js +32 -0
  38. package/build/cjs/lib/nvm3/files/ProtocolNodeMaskFiles.js.map +1 -1
  39. package/build/cjs/lib/nvm3/files/RouteCacheFiles.js +10 -0
  40. package/build/cjs/lib/nvm3/files/RouteCacheFiles.js.map +1 -1
  41. package/build/cjs/lib/nvm3/files/SUCUpdateEntriesFile.js +9 -0
  42. package/build/cjs/lib/nvm3/files/SUCUpdateEntriesFile.js.map +1 -1
  43. package/build/cjs/lib/nvm3/files/VersionFiles.js +14 -0
  44. package/build/cjs/lib/nvm3/files/VersionFiles.js.map +1 -1
  45. package/build/cjs/lib/nvm3/object.js +8 -0
  46. package/build/cjs/lib/nvm3/object.js.map +1 -1
  47. package/build/cjs/lib/nvm3/page.js +4 -0
  48. package/build/cjs/lib/nvm3/page.js.map +1 -1
  49. package/build/cjs/lib/nvm3/utils.js +8 -0
  50. package/build/cjs/lib/nvm3/utils.js.map +1 -1
  51. package/build/cjs/lib/nvm500/EntryParsers.js +7 -0
  52. package/build/cjs/lib/nvm500/EntryParsers.js.map +1 -1
  53. package/build/cjs/lib/nvm500/adapter.js +4 -0
  54. package/build/cjs/lib/nvm500/adapter.js.map +1 -1
  55. package/build/cjs/lib/nvm500/shared.js +2 -0
  56. package/build/cjs/lib/nvm500/shared.js.map +1 -1
  57. package/package.json +4 -4
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/lib/nvm3/adapter.ts"],
4
4
  "sourcesContent": ["import { ZWaveError, ZWaveErrorCodes } from \"@zwave-js/core/safe\";\nimport { num2hex } from \"@zwave-js/shared/safe\";\nimport { assertNever } from \"alcalzone-shared/helpers\";\nimport { SUC_MAX_UPDATES } from \"../../consts.js\";\nimport { type NVM3 } from \"../NVM3.js\";\nimport {\n\ttype ControllerNVMProperty,\n\ttype LRNodeNVMProperty,\n\ttype NVMAdapter,\n\ttype NVMProperty,\n\ttype NVMPropertyToDataType,\n\ttype NodeNVMProperty,\n} from \"../common/definitions.js\";\nimport { type RouteCache } from \"../common/routeCache.js\";\nimport {\n\ttype ApplicationCCsFile,\n\tApplicationCCsFileID,\n\tApplicationDataFile,\n\tApplicationDataFileID,\n\tApplicationNameFile,\n\tApplicationNameFileID,\n\ttype ApplicationRFConfigFile,\n\tApplicationRFConfigFileID,\n\ttype ApplicationTypeFile,\n\tApplicationTypeFileID,\n\ttype ApplicationVersionFile,\n\ttype ApplicationVersionFile800,\n\tApplicationVersionFile800ID,\n\tApplicationVersionFileID,\n\ttype ControllerInfoFile,\n\tControllerInfoFileID,\n\tLRNodeInfoFileV5,\n\tNVMFile,\n\tNodeInfoFileV0,\n\tNodeInfoFileV1,\n\tProtocolAppRouteLockNodeMaskFile,\n\tProtocolAppRouteLockNodeMaskFileID,\n\tProtocolLRNodeListFile,\n\tProtocolLRNodeListFileID,\n\tProtocolNodeListFile,\n\tProtocolNodeListFileID,\n\tProtocolPendingDiscoveryNodeMaskFile,\n\tProtocolPendingDiscoveryNodeMaskFileID,\n\tProtocolPreferredRepeatersFile,\n\tProtocolPreferredRepeatersFileID,\n\tProtocolRouteCacheExistsNodeMaskFile,\n\tProtocolRouteCacheExistsNodeMaskFileID,\n\tProtocolRouteSlaveSUCNodeMaskFile,\n\tProtocolRouteSlaveSUCNodeMaskFileID,\n\tProtocolSUCPendingUpdateNodeMaskFile,\n\tProtocolSUCPendingUpdateNodeMaskFileID,\n\ttype ProtocolVersionFile,\n\tProtocolVersionFileID,\n\tProtocolVirtualNodeMaskFile,\n\tProtocolVirtualNodeMaskFileID,\n\tRouteCacheFileV0,\n\tRouteCacheFileV1,\n\tSUCUpdateEntriesFileIDV0,\n\tSUCUpdateEntriesFileV0,\n\tSUCUpdateEntriesFileV5,\n\tSUCUpdateEntriesFileV5IDBase,\n\tSUCUpdateEntriesFileV5IDMax,\n\tSUC_UPDATES_PER_FILE_V5,\n\tgetNVMSectionByFileID,\n\tnodeIdToLRNodeInfoFileIDV5,\n\tnodeIdToNodeInfoFileIDV0,\n\tnodeIdToNodeInfoFileIDV1,\n\tnodeIdToRouteCacheFileIDV0,\n\tnodeIdToRouteCacheFileIDV1,\n\tsucUpdateIndexToSUCUpdateEntriesFileIDV5,\n} from \"./files/index.js\";\n\nconst DEFAULT_FILE_VERSION = \"7.0.0\";\n\nexport class NVM3Adapter implements NVMAdapter {\n\tpublic constructor(nvm: NVM3) {\n\t\tthis._nvm = nvm;\n\t}\n\n\tprivate _nvm: NVM3;\n\tprivate _initialized: boolean = false;\n\n\tprivate _protocolInfo: {\n\t\tversion: string;\n\t\tformat: number;\n\t} | undefined;\n\tprivate _applicationInfo: {\n\t\tversion: string;\n\t\tformat: number;\n\t} | undefined;\n\n\t/** A list of pending changes that haven't been written to the NVM yet. `null` indicates a deleted entry. */\n\tprivate _pendingChanges: Map<number, Uint8Array | null> = new Map();\n\n\tprivate getFileVersion(fileId: number): string {\n\t\tif (\n\t\t\tfileId === ProtocolVersionFileID\n\t\t\t|| fileId === ApplicationVersionFileID\n\t\t\t|| fileId === ApplicationVersionFile800ID\n\t\t) {\n\t\t\treturn DEFAULT_FILE_VERSION;\n\t\t}\n\t\tconst section = getNVMSectionByFileID(fileId);\n\t\tif (section === \"application\") {\n\t\t\treturn this._applicationInfo?.version ?? DEFAULT_FILE_VERSION;\n\t\t} else if (section === \"protocol\") {\n\t\t\treturn this._protocolInfo?.version ?? DEFAULT_FILE_VERSION;\n\t\t}\n\n\t\treturn DEFAULT_FILE_VERSION;\n\t}\n\n\tprivate async init(): Promise<void> {\n\t\tif (!this._protocolInfo) {\n\t\t\tconst protocolVersionFile = await this._getFile<\n\t\t\t\tProtocolVersionFile\n\t\t\t>(\n\t\t\t\tProtocolVersionFileID,\n\t\t\t\ttrue,\n\t\t\t);\n\t\t\tif (protocolVersionFile) {\n\t\t\t\tconst version =\n\t\t\t\t\t`${protocolVersionFile.major}.${protocolVersionFile.minor}.${protocolVersionFile.patch}`;\n\t\t\t\tthis._protocolInfo = {\n\t\t\t\t\tversion,\n\t\t\t\t\tformat: protocolVersionFile.format,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif (!this._applicationInfo) {\n\t\t\tconst applicationVersionFile700 = await this._getFile<\n\t\t\t\tApplicationVersionFile\n\t\t\t>(ApplicationVersionFileID, true);\n\t\t\tconst applicationVersionFile800 = await this._getFile<\n\t\t\t\tApplicationVersionFile800\n\t\t\t>(ApplicationVersionFile800ID, true);\n\t\t\tconst applicationVersionFile = applicationVersionFile700\n\t\t\t\t?? applicationVersionFile800;\n\n\t\t\tif (applicationVersionFile) {\n\t\t\t\tconst version =\n\t\t\t\t\t`${applicationVersionFile.major}.${applicationVersionFile.minor}.${applicationVersionFile.patch}`;\n\t\t\t\tthis._applicationInfo = {\n\t\t\t\t\tversion,\n\t\t\t\t\tformat: applicationVersionFile.format,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tthis._initialized = true;\n\t}\n\n\t/** Adds a complete file to the list of pending changes */\n\tpublic setFile(file: NVMFile): void {\n\t\tconst { key, data } = file.serialize();\n\t\tthis._pendingChanges.set(key, data);\n\t}\n\n\tpublic async hasFile(fileId: number): Promise<boolean> {\n\t\tif (!this._initialized) await this.init();\n\n\t\tif (this._pendingChanges.has(fileId)) {\n\t\t\treturn this._pendingChanges.get(fileId) !== null;\n\t\t} else {\n\t\t\treturn this._nvm.has(fileId);\n\t\t}\n\t}\n\n\tprivate async _getFile<T extends NVMFile = NVMFile>(\n\t\tfileId: number,\n\t\tskipInit: boolean = false,\n\t): Promise<T | undefined> {\n\t\tif (!skipInit && !this._initialized) await this.init();\n\n\t\t// Prefer pending changes over the actual NVM, so changes can be composed\n\t\tlet data: Uint8Array | null | undefined;\n\t\tif (this._pendingChanges.has(fileId)) {\n\t\t\tdata = this._pendingChanges.get(fileId);\n\t\t} else {\n\t\t\tdata = await this._nvm.get(fileId);\n\t\t}\n\t\tif (!data) return;\n\n\t\tconst fileVersion = this.getFileVersion(fileId);\n\t\treturn NVMFile.from(fileId, data, fileVersion) as T;\n\t}\n\n\tprivate async _expectFile<T extends NVMFile = NVMFile>(\n\t\tfileId: number,\n\t\tskipInit: boolean = false,\n\t): Promise<T> {\n\t\tconst file = await this._getFile<T>(fileId, skipInit);\n\t\tif (!file) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`NVM file ${num2hex(fileId)} not found`,\n\t\t\t\tZWaveErrorCodes.NVM_ObjectNotFound,\n\t\t\t);\n\t\t}\n\t\treturn file;\n\t}\n\n\tpublic getFile<T extends NVMFile = NVMFile>(\n\t\tfileId: number,\n\t\trequired: true,\n\t): Promise<T>;\n\n\tpublic getFile<T extends NVMFile = NVMFile>(\n\t\tfileId: number,\n\t\trequired?: false,\n\t): Promise<T | undefined>;\n\n\tpublic getFile<T extends NVMFile = NVMFile>(\n\t\tfileId: number,\n\t\trequired?: boolean,\n\t): Promise<unknown> {\n\t\tif (required) {\n\t\t\treturn this._expectFile<T>(fileId) as any;\n\t\t} else {\n\t\t\treturn this._getFile<T>(fileId) as any;\n\t\t}\n\t}\n\n\tpublic get<T extends NVMProperty, R extends boolean = boolean>(\n\t\tproperty: T,\n\t\trequired?: R,\n\t): Promise<\n\t\tR extends true ? NVMPropertyToDataType<T>\n\t\t\t: (NVMPropertyToDataType<T> | undefined)\n\t> {\n\t\tif (property.domain === \"controller\") {\n\t\t\treturn this.getControllerNVMProperty(property, !!required) as any;\n\t\t} else if (property.domain === \"lrnode\") {\n\t\t\treturn this.getLRNodeNVMProperty(property, !!required) as any;\n\t\t} else {\n\t\t\treturn this.getNodeNVMProperty(property, !!required) as any;\n\t\t}\n\t}\n\n\tprivate async getControllerNVMProperty(\n\t\tproperty: ControllerNVMProperty,\n\t\trequired: boolean,\n\t): Promise<unknown> {\n\t\tconst getFile = <T extends NVMFile>(fileId: number) => {\n\t\t\tif (required) {\n\t\t\t\treturn this._expectFile<T>(fileId);\n\t\t\t} else {\n\t\t\t\treturn this._getFile<T>(fileId);\n\t\t\t}\n\t\t};\n\n\t\tswitch (property.type) {\n\t\t\tcase \"protocolVersion\": {\n\t\t\t\tconst file = await getFile<ProtocolVersionFile>(\n\t\t\t\t\tProtocolVersionFileID,\n\t\t\t\t);\n\t\t\t\tif (!file) return;\n\t\t\t\treturn `${file.major}.${file.minor}.${file.patch}`;\n\t\t\t}\n\t\t\tcase \"protocolFileFormat\": {\n\t\t\t\tconst file = await getFile<ProtocolVersionFile>(\n\t\t\t\t\tProtocolVersionFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.format;\n\t\t\t}\n\t\t\tcase \"applicationVersion\":\n\t\t\tcase \"applicationFileFormat\": {\n\t\t\t\tconst file700 = await this._getFile<ApplicationVersionFile>(\n\t\t\t\t\tApplicationVersionFileID,\n\t\t\t\t);\n\t\t\t\tconst file800 = await this._getFile<ApplicationVersionFile800>(\n\t\t\t\t\tApplicationVersionFile800ID,\n\t\t\t\t);\n\t\t\t\tconst file = file700 ?? file800;\n\n\t\t\t\tif (!file) {\n\t\t\t\t\tif (required) {\n\t\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t\t\"ApplicationVersionFile not found!\",\n\t\t\t\t\t\t\tZWaveErrorCodes.NVM_ObjectNotFound,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (property.type === \"applicationVersion\") {\n\t\t\t\t\treturn `${file.major}.${file.minor}.${file.patch}`;\n\t\t\t\t} else if (property.type === \"applicationFileFormat\") {\n\t\t\t\t\treturn file?.format;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcase \"applicationData\": {\n\t\t\t\tconst file = await getFile<ApplicationDataFile>(\n\t\t\t\t\tApplicationDataFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.applicationData;\n\t\t\t}\n\n\t\t\tcase \"applicationName\": {\n\t\t\t\tconst file = await getFile<ApplicationNameFile>(\n\t\t\t\t\tApplicationNameFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.name;\n\t\t\t}\n\n\t\t\tcase \"homeId\":\n\t\t\tcase \"nodeId\":\n\t\t\tcase \"lastNodeId\":\n\t\t\tcase \"staticControllerNodeId\":\n\t\t\tcase \"sucLastIndex\":\n\t\t\tcase \"controllerConfiguration\":\n\t\t\tcase \"sucAwarenessPushNeeded\":\n\t\t\tcase \"maxNodeId\":\n\t\t\tcase \"reservedId\":\n\t\t\tcase \"systemState\":\n\t\t\tcase \"lastNodeIdLR\":\n\t\t\tcase \"maxNodeIdLR\":\n\t\t\tcase \"reservedIdLR\":\n\t\t\tcase \"primaryLongRangeChannelId\":\n\t\t\tcase \"dcdcConfig\": {\n\t\t\t\tconst file = await getFile<ControllerInfoFile>(\n\t\t\t\t\tControllerInfoFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.[property.type];\n\t\t\t}\n\n\t\t\tcase \"includedInsecurely\":\n\t\t\tcase \"includedSecurelyInsecureCCs\":\n\t\t\tcase \"includedSecurelySecureCCs\": {\n\t\t\t\tconst file = await getFile<ApplicationCCsFile>(\n\t\t\t\t\tApplicationCCsFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.[property.type];\n\t\t\t}\n\n\t\t\tcase \"rfRegion\":\n\t\t\tcase \"txPower\":\n\t\t\tcase \"measured0dBm\":\n\t\t\tcase \"enablePTI\":\n\t\t\tcase \"maxTXPower\":\n\t\t\tcase \"nodeIdType\": {\n\t\t\t\tconst file = await getFile<ApplicationRFConfigFile>(\n\t\t\t\t\tApplicationRFConfigFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.[property.type];\n\t\t\t}\n\n\t\t\tcase \"isListening\":\n\t\t\tcase \"optionalFunctionality\":\n\t\t\tcase \"genericDeviceClass\":\n\t\t\tcase \"specificDeviceClass\": {\n\t\t\t\tconst file = await getFile<ApplicationTypeFile>(\n\t\t\t\t\tApplicationTypeFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.[property.type];\n\t\t\t}\n\n\t\t\tcase \"preferredRepeaters\": {\n\t\t\t\tconst file = await getFile<ProtocolPreferredRepeatersFile>(\n\t\t\t\t\tProtocolPreferredRepeatersFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.nodeIds;\n\t\t\t}\n\n\t\t\tcase \"appRouteLock\": {\n\t\t\t\tconst file = await getFile<\n\t\t\t\t\tProtocolAppRouteLockNodeMaskFile\n\t\t\t\t>(\n\t\t\t\t\tProtocolAppRouteLockNodeMaskFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.nodeIds;\n\t\t\t}\n\t\t\tcase \"routeSlaveSUC\": {\n\t\t\t\tconst file = await getFile<\n\t\t\t\t\tProtocolRouteSlaveSUCNodeMaskFile\n\t\t\t\t>(\n\t\t\t\t\tProtocolRouteSlaveSUCNodeMaskFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.nodeIds;\n\t\t\t}\n\t\t\tcase \"sucPendingUpdate\": {\n\t\t\t\tconst file = await getFile<\n\t\t\t\t\tProtocolSUCPendingUpdateNodeMaskFile\n\t\t\t\t>(\n\t\t\t\t\tProtocolSUCPendingUpdateNodeMaskFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.nodeIds;\n\t\t\t}\n\t\t\tcase \"pendingDiscovery\": {\n\t\t\t\tconst file = await getFile<\n\t\t\t\t\tProtocolPendingDiscoveryNodeMaskFile\n\t\t\t\t>(\n\t\t\t\t\tProtocolPendingDiscoveryNodeMaskFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.nodeIds;\n\t\t\t}\n\n\t\t\tcase \"nodeIds\": {\n\t\t\t\tconst file = await getFile<ProtocolNodeListFile>(\n\t\t\t\t\tProtocolNodeListFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.nodeIds;\n\t\t\t}\n\n\t\t\tcase \"lrNodeIds\": {\n\t\t\t\tconst file = await getFile<ProtocolLRNodeListFile>(\n\t\t\t\t\tProtocolLRNodeListFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.nodeIds;\n\t\t\t}\n\n\t\t\tcase \"virtualNodeIds\": {\n\t\t\t\tconst file = await getFile<ProtocolVirtualNodeMaskFile>(\n\t\t\t\t\tProtocolVirtualNodeMaskFileID,\n\t\t\t\t);\n\t\t\t\treturn file?.nodeIds;\n\t\t\t}\n\n\t\t\tcase \"sucUpdateEntries\": {\n\t\t\t\tif (this._protocolInfo!.format < 5) {\n\t\t\t\t\tconst file = await getFile<SUCUpdateEntriesFileV0>(\n\t\t\t\t\t\tSUCUpdateEntriesFileIDV0,\n\t\t\t\t\t);\n\t\t\t\t\treturn file?.updateEntries;\n\t\t\t\t} else {\n\t\t\t\t\t// V5 has split the entries into multiple files\n\t\t\t\t\tconst updateEntries = [];\n\t\t\t\t\tfor (\n\t\t\t\t\t\tlet index = 0;\n\t\t\t\t\t\tindex < SUC_MAX_UPDATES;\n\t\t\t\t\t\tindex += SUC_UPDATES_PER_FILE_V5\n\t\t\t\t\t) {\n\t\t\t\t\t\t// None of the files are required\n\t\t\t\t\t\tconst file = await this._getFile<\n\t\t\t\t\t\t\tSUCUpdateEntriesFileV5\n\t\t\t\t\t\t>(\n\t\t\t\t\t\t\tsucUpdateIndexToSUCUpdateEntriesFileIDV5(index),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!file) break;\n\t\t\t\t\t\tupdateEntries.push(...file.updateEntries);\n\t\t\t\t\t}\n\t\t\t\t\treturn updateEntries;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcase \"learnedHomeId\":\n\t\t\tcase \"commandClasses\":\n\t\t\tcase \"watchdogStarted\":\n\t\t\tcase \"powerLevelNormal\":\n\t\t\tcase \"powerLevelLow\":\n\t\t\tcase \"powerMode\":\n\t\t\tcase \"powerModeExtintEnable\":\n\t\t\tcase \"powerModeWutTimeout\":\n\t\t\t\t// 500 series only, not supported on 700+\n\t\t\t\treturn;\n\n\t\t\tdefault:\n\t\t\t\tassertNever(property.type);\n\t\t}\n\t}\n\n\tprivate async getNodeNVMProperty(\n\t\tproperty: NodeNVMProperty,\n\t\trequired: boolean,\n\t): Promise<unknown> {\n\t\tconst getFile = <T extends NVMFile>(fileId: number) => {\n\t\t\tif (required) {\n\t\t\t\treturn this._expectFile<T>(fileId);\n\t\t\t} else {\n\t\t\t\treturn this._getFile<T>(fileId);\n\t\t\t}\n\t\t};\n\n\t\tswitch (property.type) {\n\t\t\tcase \"info\": {\n\t\t\t\tif (this._protocolInfo!.format < 1) {\n\t\t\t\t\tconst file = await getFile<NodeInfoFileV0>(\n\t\t\t\t\t\tnodeIdToNodeInfoFileIDV0(\n\t\t\t\t\t\t\tproperty.nodeId,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\treturn file?.nodeInfo;\n\t\t\t\t} else {\n\t\t\t\t\tconst file = await getFile<NodeInfoFileV1>(\n\t\t\t\t\t\tnodeIdToNodeInfoFileIDV1(\n\t\t\t\t\t\t\tproperty.nodeId,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\treturn file?.nodeInfos.find((info) =>\n\t\t\t\t\t\tinfo.nodeId === property.nodeId\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcase \"routes\": {\n\t\t\t\t// The existence of routes is stored separately\n\t\t\t\tconst nodeMaskFile = await this.getFile<\n\t\t\t\t\tProtocolRouteCacheExistsNodeMaskFile\n\t\t\t\t>(ProtocolRouteCacheExistsNodeMaskFileID);\n\n\t\t\t\t// If the node is not marked as having routes, don't try to read them\n\t\t\t\tif (!nodeMaskFile) return;\n\t\t\t\tif (!nodeMaskFile.nodeIdSet.has(property.nodeId)) return;\n\n\t\t\t\tlet routeCache: RouteCache | undefined;\n\t\t\t\tif (this._protocolInfo!.format < 1) {\n\t\t\t\t\tconst file = await getFile<RouteCacheFileV0>(\n\t\t\t\t\t\tnodeIdToRouteCacheFileIDV0(property.nodeId),\n\t\t\t\t\t);\n\t\t\t\t\trouteCache = file?.routeCache;\n\t\t\t\t} else {\n\t\t\t\t\tconst file = await getFile<RouteCacheFileV1>(\n\t\t\t\t\t\tnodeIdToRouteCacheFileIDV1(property.nodeId),\n\t\t\t\t\t);\n\t\t\t\t\trouteCache = file?.routeCaches.find((route) =>\n\t\t\t\t\t\troute.nodeId === property.nodeId\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (!routeCache) return;\n\t\t\t\treturn {\n\t\t\t\t\tlwr: routeCache.lwr,\n\t\t\t\t\tnlwr: routeCache.nlwr,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tdefault:\n\t\t\t\tassertNever(property.type);\n\t\t}\n\t}\n\n\tprivate async getLRNodeNVMProperty(\n\t\tproperty: LRNodeNVMProperty,\n\t\trequired: boolean,\n\t): Promise<unknown> {\n\t\tconst getFile = <T extends NVMFile>(fileId: number) => {\n\t\t\tif (required) {\n\t\t\t\treturn this._expectFile<T>(fileId);\n\t\t\t} else {\n\t\t\t\treturn this._getFile<T>(fileId);\n\t\t\t}\n\t\t};\n\n\t\tswitch (property.type) {\n\t\t\tcase \"info\": {\n\t\t\t\tconst file = await getFile<LRNodeInfoFileV5>(\n\t\t\t\t\tnodeIdToLRNodeInfoFileIDV5(property.nodeId),\n\t\t\t\t);\n\t\t\t\treturn file?.nodeInfos.find((info) =>\n\t\t\t\t\tinfo.nodeId === property.nodeId\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tdefault:\n\t\t\t\tassertNever(property.type);\n\t\t}\n\t}\n\n\tpublic async set<T extends NVMProperty>(\n\t\tproperty: T,\n\t\tvalue: NVMPropertyToDataType<T>,\n\t): Promise<void> {\n\t\tif (!this._initialized) await this.init();\n\n\t\tif (property.domain === \"controller\") {\n\t\t\treturn this.setControllerNVMProperty(property, value);\n\t\t} else if (property.domain === \"lrnode\") {\n\t\t\treturn this.setLRNodeNVMProperty(property, value);\n\t\t} else {\n\t\t\treturn this.setNodeNVMProperty(property, value);\n\t\t}\n\t}\n\n\tprivate async setControllerNVMProperty(\n\t\tproperty: ControllerNVMProperty,\n\t\tvalue: any,\n\t): Promise<void> {\n\t\tfunction failFileMissing(): never {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t\"Cannot set property in NVM for non-existing file\",\n\t\t\t\tZWaveErrorCodes.NVM_ObjectNotFound,\n\t\t\t);\n\t\t}\n\n\t\tconst expectFile = async <T extends NVMFile>(\n\t\t\tfileId: number,\n\t\t): Promise<T> => {\n\t\t\tconst file = await this._getFile<T>(fileId);\n\t\t\tif (!file) failFileMissing();\n\t\t\treturn file;\n\t\t};\n\n\t\tconst changedFiles: NVMFile[] = [];\n\t\tconst deletedFiles: number[] = [];\n\n\t\tswitch (property.type) {\n\t\t\tcase \"protocolVersion\": {\n\t\t\t\tconst file = await expectFile<ProtocolVersionFile>(\n\t\t\t\t\tProtocolVersionFileID,\n\t\t\t\t);\n\t\t\t\tconst [major, minor, patch] = (value as string).split(\".\")\n\t\t\t\t\t.map((part) => parseInt(part, 10));\n\t\t\t\tfile.major = major;\n\t\t\t\tfile.minor = minor;\n\t\t\t\tfile.patch = patch;\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"protocolFileFormat\": {\n\t\t\t\tconst file = await expectFile<ProtocolVersionFile>(\n\t\t\t\t\tProtocolVersionFileID,\n\t\t\t\t);\n\t\t\t\tfile.format = value;\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"applicationVersion\": {\n\t\t\t\tconst file700 = await this._getFile<ApplicationVersionFile>(\n\t\t\t\t\tApplicationVersionFileID,\n\t\t\t\t);\n\t\t\t\tconst file800 = await this._getFile<ApplicationVersionFile800>(\n\t\t\t\t\tApplicationVersionFile800ID,\n\t\t\t\t);\n\t\t\t\tconst file = file700 ?? file800;\n\t\t\t\tif (!file) {\n\t\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t\t\"ApplicationVersionFile not found!\",\n\t\t\t\t\t\tZWaveErrorCodes.NVM_ObjectNotFound,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst [major, minor, patch] = (value as string).split(\".\")\n\t\t\t\t\t.map((part) => parseInt(part, 10));\n\t\t\t\tfile.major = major;\n\t\t\t\tfile.minor = minor;\n\t\t\t\tfile.patch = patch;\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"applicationFileFormat\": {\n\t\t\t\tconst file = await expectFile<ApplicationVersionFile>(\n\t\t\t\t\tApplicationVersionFileID,\n\t\t\t\t);\n\t\t\t\tfile.format = value;\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"applicationData\": {\n\t\t\t\tconst file = new ApplicationDataFile({\n\t\t\t\t\tapplicationData: value,\n\t\t\t\t\tfileVersion: this.getFileVersion(ApplicationDataFileID),\n\t\t\t\t});\n\t\t\t\tfile.applicationData = value;\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"applicationName\": {\n\t\t\t\tconst file = new ApplicationNameFile({\n\t\t\t\t\tname: value,\n\t\t\t\t\tfileVersion: this.getFileVersion(ApplicationNameFileID),\n\t\t\t\t});\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"homeId\":\n\t\t\tcase \"nodeId\":\n\t\t\tcase \"lastNodeId\":\n\t\t\tcase \"staticControllerNodeId\":\n\t\t\tcase \"sucLastIndex\":\n\t\t\tcase \"controllerConfiguration\":\n\t\t\tcase \"sucAwarenessPushNeeded\":\n\t\t\tcase \"maxNodeId\":\n\t\t\tcase \"reservedId\":\n\t\t\tcase \"systemState\":\n\t\t\tcase \"lastNodeIdLR\":\n\t\t\tcase \"maxNodeIdLR\":\n\t\t\tcase \"reservedIdLR\":\n\t\t\tcase \"primaryLongRangeChannelId\":\n\t\t\tcase \"dcdcConfig\": {\n\t\t\t\tconst file = await expectFile<ControllerInfoFile>(\n\t\t\t\t\tControllerInfoFileID,\n\t\t\t\t);\n\t\t\t\tfile[property.type] = value;\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"includedInsecurely\":\n\t\t\tcase \"includedSecurelyInsecureCCs\":\n\t\t\tcase \"includedSecurelySecureCCs\": {\n\t\t\t\tconst file = await expectFile<ApplicationCCsFile>(\n\t\t\t\t\tApplicationCCsFileID,\n\t\t\t\t);\n\t\t\t\tfile[property.type] = value;\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"rfRegion\":\n\t\t\tcase \"txPower\":\n\t\t\tcase \"measured0dBm\":\n\t\t\tcase \"enablePTI\":\n\t\t\tcase \"maxTXPower\":\n\t\t\tcase \"nodeIdType\": {\n\t\t\t\tconst file = await expectFile<ApplicationRFConfigFile>(\n\t\t\t\t\tApplicationRFConfigFileID,\n\t\t\t\t);\n\t\t\t\t(file as any)[property.type] = value;\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"isListening\":\n\t\t\tcase \"optionalFunctionality\":\n\t\t\tcase \"genericDeviceClass\":\n\t\t\tcase \"specificDeviceClass\": {\n\t\t\t\tconst file = await expectFile<ApplicationTypeFile>(\n\t\t\t\t\tApplicationTypeFileID,\n\t\t\t\t);\n\t\t\t\t(file as any)[property.type] = value;\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"nodeIds\": {\n\t\t\t\tconst file = await this._getFile<ProtocolNodeListFile>(\n\t\t\t\t\tProtocolNodeListFileID,\n\t\t\t\t) ?? new ProtocolNodeListFile({\n\t\t\t\t\tnodeIds: [],\n\t\t\t\t\tfileVersion: this.getFileVersion(ProtocolNodeListFileID),\n\t\t\t\t});\n\t\t\t\tfile.nodeIds = value;\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"lrNodeIds\": {\n\t\t\t\tconst file = await this._getFile<ProtocolLRNodeListFile>(\n\t\t\t\t\tProtocolLRNodeListFileID,\n\t\t\t\t) ?? new ProtocolLRNodeListFile({\n\t\t\t\t\tnodeIds: [],\n\t\t\t\t\tfileVersion: this.getFileVersion(ProtocolLRNodeListFileID),\n\t\t\t\t});\n\t\t\t\tfile.nodeIds = value;\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"virtualNodeIds\": {\n\t\t\t\tconst file = await this._getFile<ProtocolVirtualNodeMaskFile>(\n\t\t\t\t\tProtocolVirtualNodeMaskFileID,\n\t\t\t\t) ?? new ProtocolVirtualNodeMaskFile({\n\t\t\t\t\tnodeIds: [],\n\t\t\t\t\tfileVersion: this.getFileVersion(\n\t\t\t\t\t\tProtocolVirtualNodeMaskFileID,\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t\tfile.nodeIds = value;\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"preferredRepeaters\": {\n\t\t\t\tconst file = new ProtocolPreferredRepeatersFile({\n\t\t\t\t\tnodeIds: value,\n\t\t\t\t\tfileVersion: this.getFileVersion(\n\t\t\t\t\t\tProtocolPreferredRepeatersFileID,\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"appRouteLock\": {\n\t\t\t\tconst file = new ProtocolAppRouteLockNodeMaskFile({\n\t\t\t\t\tnodeIds: value,\n\t\t\t\t\tfileVersion: this.getFileVersion(\n\t\t\t\t\t\tProtocolAppRouteLockNodeMaskFileID,\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"routeSlaveSUC\": {\n\t\t\t\tconst file = new ProtocolRouteSlaveSUCNodeMaskFile({\n\t\t\t\t\tnodeIds: value,\n\t\t\t\t\tfileVersion: this.getFileVersion(\n\t\t\t\t\t\tProtocolRouteSlaveSUCNodeMaskFileID,\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"sucPendingUpdate\": {\n\t\t\t\tconst file = new ProtocolSUCPendingUpdateNodeMaskFile({\n\t\t\t\t\tnodeIds: value,\n\t\t\t\t\tfileVersion: this.getFileVersion(\n\t\t\t\t\t\tProtocolSUCPendingUpdateNodeMaskFileID,\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"pendingDiscovery\": {\n\t\t\t\tconst file = new ProtocolPendingDiscoveryNodeMaskFile({\n\t\t\t\t\tnodeIds: value,\n\t\t\t\t\tfileVersion: this.getFileVersion(\n\t\t\t\t\t\tProtocolPendingDiscoveryNodeMaskFileID,\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t\tchangedFiles.push(file);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"sucUpdateEntries\": {\n\t\t\t\tif (this._protocolInfo!.format < 5) {\n\t\t\t\t\tconst file = new SUCUpdateEntriesFileV0({\n\t\t\t\t\t\tupdateEntries: value,\n\t\t\t\t\t\tfileVersion: this.getFileVersion(\n\t\t\t\t\t\t\tSUCUpdateEntriesFileIDV0,\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t\tchangedFiles.push(file);\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t// V5 has split the entries into multiple files\n\t\t\t\t\tfor (\n\t\t\t\t\t\tlet index = 0;\n\t\t\t\t\t\tindex < SUC_MAX_UPDATES;\n\t\t\t\t\t\tindex += SUC_UPDATES_PER_FILE_V5\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst fileId = sucUpdateIndexToSUCUpdateEntriesFileIDV5(\n\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst fileExists = await this.hasFile(fileId);\n\t\t\t\t\t\tconst fileVersion = this.getFileVersion(fileId);\n\t\t\t\t\t\tconst slice = value.slice(\n\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\tindex + SUC_UPDATES_PER_FILE_V5,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (slice.length > 0) {\n\t\t\t\t\t\t\tconst file = new SUCUpdateEntriesFileV5({\n\t\t\t\t\t\t\t\tupdateEntries: slice,\n\t\t\t\t\t\t\t\tfileId,\n\t\t\t\t\t\t\t\tfileVersion,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tchangedFiles.push(file);\n\t\t\t\t\t\t} else if (fileExists) {\n\t\t\t\t\t\t\tdeletedFiles.push(fileId);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"learnedHomeId\":\n\t\t\tcase \"commandClasses\":\n\t\t\tcase \"watchdogStarted\":\n\t\t\tcase \"powerLevelNormal\":\n\t\t\tcase \"powerLevelLow\":\n\t\t\tcase \"powerMode\":\n\t\t\tcase \"powerModeExtintEnable\":\n\t\t\tcase \"powerModeWutTimeout\":\n\t\t\t\t// 500 series only, not supported on 700+\n\t\t\t\treturn;\n\n\t\t\tdefault:\n\t\t\t\tassertNever(property.type);\n\t\t}\n\n\t\tfor (const file of changedFiles) {\n\t\t\tconst { key, data } = file.serialize();\n\t\t\tthis._pendingChanges.set(key, data);\n\t\t}\n\t\tfor (const file of deletedFiles) {\n\t\t\tthis._pendingChanges.set(file, null);\n\t\t}\n\t}\n\n\tprivate async setLRNodeNVMProperty(\n\t\tproperty: LRNodeNVMProperty,\n\t\tvalue: any,\n\t): Promise<void> {\n\t\tconst changedFiles: NVMFile[] = [];\n\t\tconst deletedFiles: number[] = [];\n\n\t\tswitch (property.type) {\n\t\t\tcase \"info\": {\n\t\t\t\tconst fileId = nodeIdToLRNodeInfoFileIDV5(property.nodeId);\n\t\t\t\tlet file = await this._getFile<LRNodeInfoFileV5>(\n\t\t\t\t\tfileId,\n\t\t\t\t);\n\t\t\t\tif (value) {\n\t\t\t\t\t// Info added or modified\n\t\t\t\t\tfile ??= new LRNodeInfoFileV5({\n\t\t\t\t\t\tnodeInfos: [],\n\t\t\t\t\t\tfileVersion: this.getFileVersion(fileId),\n\t\t\t\t\t});\n\t\t\t\t\tconst existingIndex = file.nodeInfos.findIndex(\n\t\t\t\t\t\t(info) => info.nodeId === property.nodeId,\n\t\t\t\t\t);\n\t\t\t\t\tif (existingIndex !== -1) {\n\t\t\t\t\t\tfile.nodeInfos[existingIndex] = value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfile.nodeInfos.push(value);\n\t\t\t\t\t}\n\t\t\t\t\tchangedFiles.push(file);\n\t\t\t\t} else if (file) {\n\t\t\t\t\t// info deleted\n\t\t\t\t\tconst existingIndex = file.nodeInfos.findIndex(\n\t\t\t\t\t\t(info) => info.nodeId === property.nodeId,\n\t\t\t\t\t);\n\t\t\t\t\tif (existingIndex !== -1) {\n\t\t\t\t\t\tfile.nodeInfos.splice(existingIndex, 1);\n\t\t\t\t\t\tif (file.nodeInfos.length === 0) {\n\t\t\t\t\t\t\tdeletedFiles.push(fileId);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tchangedFiles.push(file);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tdefault:\n\t\t\t\tassertNever(property.type);\n\t\t}\n\n\t\tfor (const file of changedFiles) {\n\t\t\tconst { key, data } = file.serialize();\n\t\t\tthis._pendingChanges.set(key, data);\n\t\t}\n\t\tfor (const file of deletedFiles) {\n\t\t\tthis._pendingChanges.set(file, null);\n\t\t}\n\t}\n\n\tprivate async setNodeNVMProperty(\n\t\tproperty: NodeNVMProperty,\n\t\tvalue: any,\n\t): Promise<void> {\n\t\tconst changedFiles: NVMFile[] = [];\n\t\tconst deletedFiles: number[] = [];\n\n\t\tswitch (property.type) {\n\t\t\tcase \"info\": {\n\t\t\t\tif (this._protocolInfo!.format < 1) {\n\t\t\t\t\t// V0, single node info per file\n\t\t\t\t\tconst fileId = nodeIdToNodeInfoFileIDV0(property.nodeId);\n\t\t\t\t\tlet file = await this._getFile<NodeInfoFileV0>(fileId);\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\t// Info added or modified\n\t\t\t\t\t\tfile ??= new NodeInfoFileV0({\n\t\t\t\t\t\t\tnodeInfo: undefined as any,\n\t\t\t\t\t\t\tfileVersion: this.getFileVersion(fileId),\n\t\t\t\t\t\t});\n\t\t\t\t\t\tfile.nodeInfo = value;\n\t\t\t\t\t\tchangedFiles.push(file);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// info deleted\n\t\t\t\t\t\tdeletedFiles.push(fileId);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// V1+, multiple node infos per file\n\t\t\t\t\tconst fileId = nodeIdToNodeInfoFileIDV1(property.nodeId);\n\t\t\t\t\tlet file = await this._getFile<NodeInfoFileV1>(\n\t\t\t\t\t\tfileId,\n\t\t\t\t\t);\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\t// Info added or modified\n\t\t\t\t\t\tfile ??= new NodeInfoFileV1({\n\t\t\t\t\t\t\tnodeInfos: [],\n\t\t\t\t\t\t\tfileVersion: this.getFileVersion(fileId),\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst existingIndex = file.nodeInfos.findIndex(\n\t\t\t\t\t\t\t(info) => info.nodeId === property.nodeId,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (existingIndex !== -1) {\n\t\t\t\t\t\t\tfile.nodeInfos[existingIndex] = value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfile.nodeInfos.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchangedFiles.push(file);\n\t\t\t\t\t} else if (file) {\n\t\t\t\t\t\t// info deleted\n\t\t\t\t\t\tconst existingIndex = file.nodeInfos.findIndex(\n\t\t\t\t\t\t\t(info) => info.nodeId === property.nodeId,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (existingIndex !== -1) {\n\t\t\t\t\t\t\tfile.nodeInfos.splice(existingIndex, 1);\n\t\t\t\t\t\t\tif (file.nodeInfos.length === 0) {\n\t\t\t\t\t\t\t\tdeletedFiles.push(fileId);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchangedFiles.push(file);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"routes\": {\n\t\t\t\tif (this._protocolInfo!.format < 1) {\n\t\t\t\t\t// V0, single route per file\n\t\t\t\t\tconst fileId = nodeIdToRouteCacheFileIDV0(property.nodeId);\n\t\t\t\t\tlet file = await this._getFile<RouteCacheFileV0>(fileId);\n\t\t\t\t\tif (value) {\n\t\t\t\t\t\t// Route added or modified\n\t\t\t\t\t\tfile ??= new RouteCacheFileV0({\n\t\t\t\t\t\t\trouteCache: undefined as any,\n\t\t\t\t\t\t\tfileVersion: this.getFileVersion(fileId),\n\t\t\t\t\t\t});\n\t\t\t\t\t\tfile.routeCache = {\n\t\t\t\t\t\t\tnodeId: property.nodeId,\n\t\t\t\t\t\t\tlwr: value.lwr,\n\t\t\t\t\t\t\tnlwr: value.nlwr,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tchangedFiles.push(file);\n\t\t\t\t\t} else if (file) {\n\t\t\t\t\t\t// Route deleted\n\t\t\t\t\t\tdeletedFiles.push(fileId);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// V1+, multiple routes per file\n\t\t\t\t\tconst fileId = nodeIdToRouteCacheFileIDV1(property.nodeId);\n\t\t\t\t\tconst file = await this._getFile<RouteCacheFileV1>(\n\t\t\t\t\t\tfileId,\n\t\t\t\t\t) ?? new RouteCacheFileV1({\n\t\t\t\t\t\trouteCaches: [],\n\t\t\t\t\t\tfileVersion: this.getFileVersion(fileId),\n\t\t\t\t\t});\n\t\t\t\t\tconst existingIndex = file.routeCaches.findIndex(\n\t\t\t\t\t\t(route) => route.nodeId === property.nodeId,\n\t\t\t\t\t);\n\t\t\t\t\tconst newRoute: RouteCache = {\n\t\t\t\t\t\tnodeId: property.nodeId,\n\t\t\t\t\t\tlwr: value.lwr,\n\t\t\t\t\t\tnlwr: value.nlwr,\n\t\t\t\t\t};\n\t\t\t\t\tif (existingIndex !== -1) {\n\t\t\t\t\t\tfile.routeCaches[existingIndex] = newRoute;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfile.routeCaches.push(newRoute);\n\t\t\t\t\t}\n\t\t\t\t\tchangedFiles.push(file);\n\t\t\t\t}\n\n\t\t\t\t// The existence of routes is stored separately\n\t\t\t\tconst nodeMaskFile = await this._getFile<\n\t\t\t\t\tProtocolRouteCacheExistsNodeMaskFile\n\t\t\t\t>(ProtocolRouteCacheExistsNodeMaskFileID)\n\t\t\t\t\t?? new ProtocolRouteCacheExistsNodeMaskFile({\n\t\t\t\t\t\tnodeIds: [],\n\t\t\t\t\t\tfileVersion: this.getFileVersion(\n\t\t\t\t\t\t\tProtocolRouteCacheExistsNodeMaskFileID,\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\n\t\t\t\tif (!value && nodeMaskFile.nodeIdSet.has(property.nodeId)) {\n\t\t\t\t\tnodeMaskFile.nodeIdSet.delete(property.nodeId);\n\t\t\t\t\tchangedFiles.push(nodeMaskFile);\n\t\t\t\t} else if (\n\t\t\t\t\tvalue && !nodeMaskFile.nodeIdSet.has(property.nodeId)\n\t\t\t\t) {\n\t\t\t\t\tnodeMaskFile.nodeIdSet.add(property.nodeId);\n\t\t\t\t\tchangedFiles.push(nodeMaskFile);\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tdefault:\n\t\t\t\tassertNever(property.type);\n\t\t}\n\n\t\tfor (const file of changedFiles) {\n\t\t\tconst { key, data } = file.serialize();\n\t\t\tthis._pendingChanges.set(key, data);\n\t\t}\n\t\tfor (const file of deletedFiles) {\n\t\t\tthis._pendingChanges.set(file, null);\n\t\t}\n\t}\n\n\tpublic async delete(\n\t\tproperty: NVMProperty,\n\t): Promise<void> {\n\t\tif (property.domain === \"controller\") {\n\t\t\tswitch (property.type) {\n\t\t\t\tcase \"protocolVersion\":\n\t\t\t\tcase \"protocolFileFormat\": {\n\t\t\t\t\tthis._pendingChanges.set(ProtocolVersionFileID, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"applicationVersion\":\n\t\t\t\tcase \"applicationFileFormat\": {\n\t\t\t\t\tif (await this.hasFile(ApplicationVersionFileID)) {\n\t\t\t\t\t\tthis._pendingChanges.set(\n\t\t\t\t\t\t\tApplicationVersionFileID,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (await this.hasFile(ApplicationVersionFile800ID)) {\n\t\t\t\t\t\tthis._pendingChanges.set(\n\t\t\t\t\t\t\tApplicationVersionFile800ID,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"applicationData\": {\n\t\t\t\t\tthis._pendingChanges.set(ApplicationDataFileID, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"applicationName\": {\n\t\t\t\t\tthis._pendingChanges.set(ApplicationNameFileID, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"homeId\":\n\t\t\t\tcase \"nodeId\":\n\t\t\t\tcase \"lastNodeId\":\n\t\t\t\tcase \"staticControllerNodeId\":\n\t\t\t\tcase \"sucLastIndex\":\n\t\t\t\tcase \"controllerConfiguration\":\n\t\t\t\tcase \"sucAwarenessPushNeeded\":\n\t\t\t\tcase \"maxNodeId\":\n\t\t\t\tcase \"reservedId\":\n\t\t\t\tcase \"systemState\":\n\t\t\t\tcase \"lastNodeIdLR\":\n\t\t\t\tcase \"maxNodeIdLR\":\n\t\t\t\tcase \"reservedIdLR\":\n\t\t\t\tcase \"primaryLongRangeChannelId\":\n\t\t\t\tcase \"dcdcConfig\": {\n\t\t\t\t\tthis._pendingChanges.set(ControllerInfoFileID, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"includedInsecurely\":\n\t\t\t\tcase \"includedSecurelyInsecureCCs\":\n\t\t\t\tcase \"includedSecurelySecureCCs\": {\n\t\t\t\t\tthis._pendingChanges.set(ApplicationCCsFileID, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"rfRegion\":\n\t\t\t\tcase \"txPower\":\n\t\t\t\tcase \"measured0dBm\":\n\t\t\t\tcase \"enablePTI\":\n\t\t\t\tcase \"maxTXPower\":\n\t\t\t\tcase \"nodeIdType\": {\n\t\t\t\t\tthis._pendingChanges.set(ApplicationRFConfigFileID, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"isListening\":\n\t\t\t\tcase \"optionalFunctionality\":\n\t\t\t\tcase \"genericDeviceClass\":\n\t\t\t\tcase \"specificDeviceClass\": {\n\t\t\t\t\tthis._pendingChanges.set(ApplicationTypeFileID, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"nodeIds\": {\n\t\t\t\t\tthis._pendingChanges.set(\n\t\t\t\t\t\tProtocolNodeListFileID,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"lrNodeIds\": {\n\t\t\t\t\tthis._pendingChanges.set(\n\t\t\t\t\t\tProtocolLRNodeListFileID,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"virtualNodeIds\": {\n\t\t\t\t\tthis._pendingChanges.set(\n\t\t\t\t\t\tProtocolVirtualNodeMaskFileID,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"preferredRepeaters\": {\n\t\t\t\t\tthis._pendingChanges.set(\n\t\t\t\t\t\tProtocolPreferredRepeatersFileID,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"appRouteLock\": {\n\t\t\t\t\tthis._pendingChanges.set(\n\t\t\t\t\t\tProtocolAppRouteLockNodeMaskFileID,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcase \"routeSlaveSUC\": {\n\t\t\t\t\tthis._pendingChanges.set(\n\t\t\t\t\t\tProtocolRouteSlaveSUCNodeMaskFileID,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcase \"sucPendingUpdate\": {\n\t\t\t\t\tthis._pendingChanges.set(\n\t\t\t\t\t\tProtocolSUCPendingUpdateNodeMaskFileID,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcase \"pendingDiscovery\": {\n\t\t\t\t\tthis._pendingChanges.set(\n\t\t\t\t\t\tProtocolPendingDiscoveryNodeMaskFileID,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"sucUpdateEntries\": {\n\t\t\t\t\tif (this._protocolInfo!.format < 5) {\n\t\t\t\t\t\tthis._pendingChanges.set(\n\t\t\t\t\t\t\tSUCUpdateEntriesFileIDV0,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tlet id = SUCUpdateEntriesFileV5IDBase;\n\t\t\t\t\t\t\tid <= SUCUpdateEntriesFileV5IDMax;\n\t\t\t\t\t\t\tid++\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif (await this.hasFile(id)) {\n\t\t\t\t\t\t\t\tthis._pendingChanges.set(id, null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcase \"learnedHomeId\":\n\t\t\t\tcase \"commandClasses\":\n\t\t\t\tcase \"watchdogStarted\":\n\t\t\t\tcase \"powerLevelNormal\":\n\t\t\t\tcase \"powerLevelLow\":\n\t\t\t\tcase \"powerMode\":\n\t\t\t\tcase \"powerModeExtintEnable\":\n\t\t\t\tcase \"powerModeWutTimeout\":\n\t\t\t\t\t// 500 series only, not supported on 700+\n\t\t\t\t\treturn;\n\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(property);\n\t\t\t}\n\t\t} else if (\n\t\t\tproperty.domain === \"lrnode\"\n\t\t) {\n\t\t\t// Node properties are handled by set(..., undefined) because\n\t\t\t// it requires both modifying and deleting files\n\t\t\treturn this.setLRNodeNVMProperty(property, undefined);\n\t\t} else if (\n\t\t\tproperty.domain === \"node\"\n\t\t) {\n\t\t\t// Node properties are handled by set(..., undefined) because\n\t\t\t// it requires both modifying and deleting files\n\t\t\treturn this.setNodeNVMProperty(property, undefined);\n\t\t}\n\t}\n\n\tpublic hasPendingChanges(): boolean {\n\t\treturn this._pendingChanges.size > 0;\n\t}\n\n\tpublic async commit(): Promise<void> {\n\t\tawait this._nvm.setMany([...this._pendingChanges]);\n\t}\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["import_safe"]
7
7
  }
@@ -3,6 +3,7 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
7
  var __export = (target, all) => {
7
8
  for (var name in all)
8
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -30,6 +31,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
30
31
  if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
31
32
  return f;
32
33
  }
34
+ __name(accept, "accept");
33
35
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
34
36
  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
35
37
  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
@@ -73,6 +75,9 @@ let ApplicationCCsFile = (() => {
73
75
  let _classThis;
74
76
  let _classSuper = import_NVMFile.NVMFile;
75
77
  var ApplicationCCsFile2 = class extends _classSuper {
78
+ static {
79
+ __name(this, "ApplicationCCsFile");
80
+ }
76
81
  static {
77
82
  _classThis = this;
78
83
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/lib/nvm3/files/ApplicationCCsFile.ts"],
4
4
  "sourcesContent": ["import { CommandClasses } from \"@zwave-js/core/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport type { NVM3Object } from \"../object.js\";\nimport {\n\tNVMFile,\n\ttype NVMFileCreationOptions,\n\ttype NVMFileDeserializationOptions,\n\tgotDeserializationOptions,\n\tnvmFileID,\n\tnvmSection,\n} from \"./NVMFile.js\";\n\nexport interface ApplicationCCsFileOptions extends NVMFileCreationOptions {\n\tincludedInsecurely: CommandClasses[];\n\tincludedSecurelyInsecureCCs: CommandClasses[];\n\tincludedSecurelySecureCCs: CommandClasses[];\n}\n\nconst MAX_CCs = 35;\n\nexport const ApplicationCCsFileID = 103;\n\n@nvmFileID(ApplicationCCsFileID)\n@nvmSection(\"application\")\nexport class ApplicationCCsFile extends NVMFile {\n\tpublic constructor(\n\t\toptions: NVMFileDeserializationOptions | ApplicationCCsFileOptions,\n\t) {\n\t\tsuper(options);\n\t\tif (gotDeserializationOptions(options)) {\n\t\t\tlet offset = 0;\n\t\t\tlet numCCs = this.payload[offset];\n\t\t\tthis.includedInsecurely = [\n\t\t\t\t...this.payload.subarray(offset + 1, offset + 1 + numCCs),\n\t\t\t];\n\t\t\toffset += MAX_CCs;\n\n\t\t\tnumCCs = this.payload[offset];\n\t\t\tthis.includedSecurelyInsecureCCs = [\n\t\t\t\t...this.payload.subarray(offset + 1, offset + 1 + numCCs),\n\t\t\t];\n\t\t\toffset += MAX_CCs;\n\t\t\tnumCCs = this.payload[offset];\n\t\t\tthis.includedSecurelySecureCCs = [\n\t\t\t\t...this.payload.subarray(offset + 1, offset + 1 + numCCs),\n\t\t\t];\n\t\t} else {\n\t\t\tthis.includedInsecurely = options.includedInsecurely;\n\t\t\tthis.includedSecurelyInsecureCCs =\n\t\t\t\toptions.includedSecurelyInsecureCCs;\n\t\t\tthis.includedSecurelySecureCCs = options.includedSecurelySecureCCs;\n\t\t}\n\t}\n\n\tpublic includedInsecurely: CommandClasses[];\n\tpublic includedSecurelyInsecureCCs: CommandClasses[];\n\tpublic includedSecurelySecureCCs: CommandClasses[];\n\n\tpublic serialize(): NVM3Object & { data: Bytes } {\n\t\tthis.payload = new Bytes((1 + MAX_CCs) * 3);\n\t\tlet offset = 0;\n\t\tfor (\n\t\t\tconst array of [\n\t\t\t\tthis.includedInsecurely,\n\t\t\t\tthis.includedSecurelyInsecureCCs,\n\t\t\t\tthis.includedSecurelySecureCCs,\n\t\t\t]\n\t\t) {\n\t\t\tthis.payload[offset] = array.length;\n\t\t\tthis.payload.set(array, offset + 1);\n\t\t\toffset += 1 + MAX_CCs;\n\t\t}\n\t\treturn super.serialize();\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic toJSON() {\n\t\treturn {\n\t\t\t...super.toJSON(),\n\t\t\t\"included insecurely\": this.includedInsecurely\n\t\t\t\t.map((cc) => CommandClasses[cc])\n\t\t\t\t.join(\", \"),\n\t\t\t\"included securely (insecure)\": this.includedSecurelyInsecureCCs\n\t\t\t\t.map((cc) => CommandClasses[cc])\n\t\t\t\t.join(\", \"),\n\t\t\t\"included securely (secure)\": this.includedSecurelySecureCCs\n\t\t\t\t.map((cc) => CommandClasses[cc])\n\t\t\t\t.join(\", \"),\n\t\t};\n\t}\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA,kBAA+B;AAC/B,IAAAA,eAAsB;AAEtB,qBAOO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQP,MAAM,UAAU;AAET,MAAM,uBAAuB;IAIvB,sBAAkB,MAAA;8BAF9B,0BAAU,oBAAoB,OAC9B,2BAAW,aAAa,CAAC;;;;oBACc;0CAAA,YAAO;;;;;;AAA/C,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAkE;AAElE,YAAM,OAAO;AACb,cAAI,0CAA0B,OAAO,GAAG;AACvC,YAAI,SAAS;AACb,YAAI,SAAS,KAAK,QAAQ,MAAM;AAChC,aAAK,qBAAqB;UACzB,GAAG,KAAK,QAAQ,SAAS,SAAS,GAAG,SAAS,IAAI,MAAM;;AAEzD,kBAAU;AAEV,iBAAS,KAAK,QAAQ,MAAM;AAC5B,aAAK,8BAA8B;UAClC,GAAG,KAAK,QAAQ,SAAS,SAAS,GAAG,SAAS,IAAI,MAAM;;AAEzD,kBAAU;AACV,iBAAS,KAAK,QAAQ,MAAM;AAC5B,aAAK,4BAA4B;UAChC,GAAG,KAAK,QAAQ,SAAS,SAAS,GAAG,SAAS,IAAI,MAAM;;MAE1D,OAAO;AACN,aAAK,qBAAqB,QAAQ;AAClC,aAAK,8BACJ,QAAQ;AACT,aAAK,4BAA4B,QAAQ;MAC1C;IACD;IAEO;IACA;IACA;IAEA,YAAS;AACf,WAAK,UAAU,IAAI,oBAAO,IAAI,WAAW,CAAC;AAC1C,UAAI,SAAS;AACb,iBACO,SAAS;QACd,KAAK;QACL,KAAK;QACL,KAAK;SAEL;AACD,aAAK,QAAQ,MAAM,IAAI,MAAM;AAC7B,aAAK,QAAQ,IAAI,OAAO,SAAS,CAAC;AAClC,kBAAU,IAAI;MACf;AACA,aAAO,MAAM,UAAS;IACvB;;IAGO,SAAM;AACZ,aAAO;QACN,GAAG,MAAM,OAAM;QACf,uBAAuB,KAAK,mBAC1B,IAAI,CAAC,OAAO,2BAAe,EAAE,CAAC,EAC9B,KAAK,IAAI;QACX,gCAAgC,KAAK,4BACnC,IAAI,CAAC,OAAO,2BAAe,EAAE,CAAC,EAC9B,KAAK,IAAI;QACX,8BAA8B,KAAK,0BACjC,IAAI,CAAC,OAAO,2BAAe,EAAE,CAAC,EAC9B,KAAK,IAAI;;IAEb;;;;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kBAA+B;AAC/B,IAAAA,eAAsB;AAEtB,qBAOO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQP,MAAM,UAAU;AAET,MAAM,uBAAuB;IAIvB,sBAAkB,MAAA;8BAF9B,0BAAU,oBAAoB,OAC9B,2BAAW,aAAa,CAAC;;;;oBACc;0CAAA,YAAO;WAAA;;;;;;;;AAA/C,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAkE;AAElE,YAAM,OAAO;AACb,cAAI,0CAA0B,OAAO,GAAG;AACvC,YAAI,SAAS;AACb,YAAI,SAAS,KAAK,QAAQ,MAAM;AAChC,aAAK,qBAAqB;UACzB,GAAG,KAAK,QAAQ,SAAS,SAAS,GAAG,SAAS,IAAI,MAAM;;AAEzD,kBAAU;AAEV,iBAAS,KAAK,QAAQ,MAAM;AAC5B,aAAK,8BAA8B;UAClC,GAAG,KAAK,QAAQ,SAAS,SAAS,GAAG,SAAS,IAAI,MAAM;;AAEzD,kBAAU;AACV,iBAAS,KAAK,QAAQ,MAAM;AAC5B,aAAK,4BAA4B;UAChC,GAAG,KAAK,QAAQ,SAAS,SAAS,GAAG,SAAS,IAAI,MAAM;;MAE1D,OAAO;AACN,aAAK,qBAAqB,QAAQ;AAClC,aAAK,8BACJ,QAAQ;AACT,aAAK,4BAA4B,QAAQ;MAC1C;IACD;IAEO;IACA;IACA;IAEA,YAAS;AACf,WAAK,UAAU,IAAI,oBAAO,IAAI,WAAW,CAAC;AAC1C,UAAI,SAAS;AACb,iBACO,SAAS;QACd,KAAK;QACL,KAAK;QACL,KAAK;SAEL;AACD,aAAK,QAAQ,MAAM,IAAI,MAAM;AAC7B,aAAK,QAAQ,IAAI,OAAO,SAAS,CAAC;AAClC,kBAAU,IAAI;MACf;AACA,aAAO,MAAM,UAAS;IACvB;;IAGO,SAAM;AACZ,aAAO;QACN,GAAG,MAAM,OAAM;QACf,uBAAuB,KAAK,mBAC1B,IAAI,CAAC,OAAO,2BAAe,EAAE,CAAC,EAC9B,KAAK,IAAI;QACX,gCAAgC,KAAK,4BACnC,IAAI,CAAC,OAAO,2BAAe,EAAE,CAAC,EAC9B,KAAK,IAAI;QACX,8BAA8B,KAAK,0BACjC,IAAI,CAAC,OAAO,2BAAe,EAAE,CAAC,EAC9B,KAAK,IAAI;;IAEb;;;;",
6
6
  "names": ["import_safe"]
7
7
  }
@@ -3,6 +3,7 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
7
  var __export = (target, all) => {
7
8
  for (var name in all)
8
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -28,6 +29,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
28
29
  if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
29
30
  return f;
30
31
  }
32
+ __name(accept, "accept");
31
33
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
32
34
  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
33
35
  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
@@ -70,6 +72,9 @@ let ApplicationDataFile = (() => {
70
72
  let _classThis;
71
73
  let _classSuper = import_NVMFile.NVMFile;
72
74
  var ApplicationDataFile2 = class extends _classSuper {
75
+ static {
76
+ __name(this, "ApplicationDataFile");
77
+ }
73
78
  static {
74
79
  _classThis = this;
75
80
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/lib/nvm3/files/ApplicationDataFile.ts"],
4
4
  "sourcesContent": ["import { type Bytes } from \"@zwave-js/shared/safe\";\nimport {\n\tNVMFile,\n\ttype NVMFileCreationOptions,\n\ttype NVMFileDeserializationOptions,\n\tgotDeserializationOptions,\n\tnvmFileID,\n\tnvmSection,\n} from \"./NVMFile.js\";\n\nexport interface ApplicationDataFileOptions extends NVMFileCreationOptions {\n\tapplicationData: Bytes;\n}\n\nexport const ApplicationDataFileID = 200;\n\n@nvmFileID(ApplicationDataFileID)\n@nvmSection(\"application\")\nexport class ApplicationDataFile extends NVMFile {\n\tpublic constructor(\n\t\toptions: NVMFileDeserializationOptions | ApplicationDataFileOptions,\n\t) {\n\t\tsuper(options);\n\t\tif (!gotDeserializationOptions(options)) {\n\t\t\tthis.payload = options.applicationData;\n\t\t}\n\t}\n\n\t// Just binary data\n\tpublic get applicationData(): Bytes {\n\t\treturn this.payload;\n\t}\n\tpublic set applicationData(value: Bytes) {\n\t\tthis.payload = value;\n\t}\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AACA,qBAOO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,wBAAwB;IAIxB,uBAAmB,MAAA;8BAF/B,0BAAU,qBAAqB,OAC/B,2BAAW,aAAa,CAAC;;;;oBACe;2CAAA,YAAO;;;;;;AAAhD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAmE;AAEnE,YAAM,OAAO;AACb,UAAI,KAAC,0CAA0B,OAAO,GAAG;AACxC,aAAK,UAAU,QAAQ;MACxB;IACD;;IAGA,IAAW,kBAAe;AACzB,aAAO,KAAK;IACb;IACA,IAAW,gBAAgB,OAAY;AACtC,WAAK,UAAU;IAChB;;;;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AACA,qBAOO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,wBAAwB;IAIxB,uBAAmB,MAAA;8BAF/B,0BAAU,qBAAqB,OAC/B,2BAAW,aAAa,CAAC;;;;oBACe;2CAAA,YAAO;WAAA;;;;;;;;AAAhD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAmE;AAEnE,YAAM,OAAO;AACb,UAAI,KAAC,0CAA0B,OAAO,GAAG;AACxC,aAAK,UAAU,QAAQ;MACxB;IACD;;IAGA,IAAW,kBAAe;AACzB,aAAO,KAAK;IACb;IACA,IAAW,gBAAgB,OAAY;AACtC,WAAK,UAAU;IAChB;;;;",
6
6
  "names": []
7
7
  }
@@ -3,6 +3,7 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
7
  var __export = (target, all) => {
7
8
  for (var name in all)
8
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -29,6 +30,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
29
30
  if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
30
31
  return f;
31
32
  }
33
+ __name(accept, "accept");
32
34
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
33
35
  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
34
36
  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
@@ -71,6 +73,9 @@ let ApplicationNameFile = (() => {
71
73
  let _classThis;
72
74
  let _classSuper = import_NVMFile.NVMFile;
73
75
  var ApplicationNameFile2 = class extends _classSuper {
76
+ static {
77
+ __name(this, "ApplicationNameFile");
78
+ }
74
79
  static {
75
80
  _classThis = this;
76
81
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/lib/nvm3/files/ApplicationNameFile.ts"],
4
4
  "sourcesContent": ["import { Bytes, cpp2js } from \"@zwave-js/shared\";\nimport { type NVM3Object } from \"../object.js\";\nimport {\n\tNVMFile,\n\ttype NVMFileCreationOptions,\n\ttype NVMFileDeserializationOptions,\n\tgotDeserializationOptions,\n\tnvmFileID,\n\tnvmSection,\n} from \"./NVMFile.js\";\n\nexport interface ApplicationNameFileOptions extends NVMFileCreationOptions {\n\tname: string;\n}\n\nexport const ApplicationNameFileID = 0x4100c;\n\n@nvmFileID(ApplicationNameFileID)\n@nvmSection(\"application\")\nexport class ApplicationNameFile extends NVMFile {\n\tpublic constructor(\n\t\toptions: NVMFileDeserializationOptions | ApplicationNameFileOptions,\n\t) {\n\t\tsuper(options);\n\t\tif (gotDeserializationOptions(options)) {\n\t\t\tthis.name = cpp2js(this.payload.toString(\"utf8\"));\n\t\t} else {\n\t\t\tthis.name = options.name;\n\t\t}\n\t}\n\n\tpublic name: string;\n\n\tpublic serialize(): NVM3Object & { data: Bytes } {\n\t\t// Return a zero-terminated string with a fixed length of 30 bytes\n\t\tconst nameAsString = Bytes.from(this.name, \"utf8\");\n\t\tthis.payload = new Bytes(30).fill(0);\n\t\tthis.payload.set(nameAsString.subarray(0, this.payload.length), 0);\n\t\treturn super.serialize();\n\t}\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAA8B;AAE9B,qBAOO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,wBAAwB;IAIxB,uBAAmB,MAAA;8BAF/B,0BAAU,qBAAqB,OAC/B,2BAAW,aAAa,CAAC;;;;oBACe;2CAAA,YAAO;;;;;;AAAhD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAmE;AAEnE,YAAM,OAAO;AACb,cAAI,0CAA0B,OAAO,GAAG;AACvC,aAAK,WAAO,sBAAO,KAAK,QAAQ,SAAS,MAAM,CAAC;MACjD,OAAO;AACN,aAAK,OAAO,QAAQ;MACrB;IACD;IAEO;IAEA,YAAS;AAEf,YAAM,eAAe,oBAAM,KAAK,KAAK,MAAM,MAAM;AACjD,WAAK,UAAU,IAAI,oBAAM,EAAE,EAAE,KAAK,CAAC;AACnC,WAAK,QAAQ,IAAI,aAAa,SAAS,GAAG,KAAK,QAAQ,MAAM,GAAG,CAAC;AACjE,aAAO,MAAM,UAAS;IACvB;;;;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAA8B;AAE9B,qBAOO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,wBAAwB;IAIxB,uBAAmB,MAAA;8BAF/B,0BAAU,qBAAqB,OAC/B,2BAAW,aAAa,CAAC;;;;oBACe;2CAAA,YAAO;WAAA;;;;;;;;AAAhD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAmE;AAEnE,YAAM,OAAO;AACb,cAAI,0CAA0B,OAAO,GAAG;AACvC,aAAK,WAAO,sBAAO,KAAK,QAAQ,SAAS,MAAM,CAAC;MACjD,OAAO;AACN,aAAK,OAAO,QAAQ;MACrB;IACD;IAEO;IAEA,YAAS;AAEf,YAAM,eAAe,oBAAM,KAAK,KAAK,MAAM,MAAM;AACjD,WAAK,UAAU,IAAI,oBAAM,EAAE,EAAE,KAAK,CAAC;AACnC,WAAK,QAAQ,IAAI,aAAa,SAAS,GAAG,KAAK,QAAQ,MAAM,GAAG,CAAC;AACjE,aAAO,MAAM,UAAS;IACvB;;;;",
6
6
  "names": []
7
7
  }
@@ -5,6 +5,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
9
  var __export = (target, all) => {
9
10
  for (var name in all)
10
11
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -42,6 +43,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
42
43
  if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
43
44
  return f;
44
45
  }
46
+ __name(accept, "accept");
45
47
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
46
48
  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
47
49
  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
@@ -84,6 +86,9 @@ let ApplicationRFConfigFile = (() => {
84
86
  let _classThis;
85
87
  let _classSuper = import_NVMFile.NVMFile;
86
88
  var ApplicationRFConfigFile2 = class extends _classSuper {
89
+ static {
90
+ __name(this, "ApplicationRFConfigFile");
91
+ }
87
92
  static {
88
93
  _classThis = this;
89
94
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/lib/nvm3/files/ApplicationRFConfigFile.ts"],
4
4
  "sourcesContent": ["import {\n\tNodeIDType,\n\tRFRegion,\n\tZWaveError,\n\tZWaveErrorCodes,\n} from \"@zwave-js/core/safe\";\nimport {\n\ttype AllOrNone,\n\tBytes,\n\tgetEnumMemberName,\n} from \"@zwave-js/shared/safe\";\nimport semverGte from \"semver/functions/gte.js\";\nimport semverLt from \"semver/functions/lt.js\";\nimport type { NVM3Object } from \"../object.js\";\nimport {\n\tNVMFile,\n\ttype NVMFileCreationOptions,\n\ttype NVMFileDeserializationOptions,\n\tgotDeserializationOptions,\n\tnvmFileID,\n\tnvmSection,\n} from \"./NVMFile.js\";\n\nexport type ApplicationRFConfigFileOptions =\n\t& NVMFileCreationOptions\n\t& {\n\t\trfRegion: RFRegion;\n\t\ttxPower: number;\n\t\tmeasured0dBm: number;\n\t}\n\t& AllOrNone<{\n\t\tenablePTI?: number;\n\t\tmaxTXPower?: number;\n\t}>\n\t& {\n\t\tnodeIdType?: number;\n\t};\n\nexport const ApplicationRFConfigFileID = 104;\n\n@nvmFileID(ApplicationRFConfigFileID)\n@nvmSection(\"application\")\nexport class ApplicationRFConfigFile extends NVMFile {\n\tpublic constructor(\n\t\toptions: NVMFileDeserializationOptions | ApplicationRFConfigFileOptions,\n\t) {\n\t\tsuper(options);\n\t\tif (gotDeserializationOptions(options)) {\n\t\t\tif (this.payload.length === 3 || this.payload.length === 6) {\n\t\t\t\tthis.rfRegion = this.payload[0];\n\t\t\t\tthis.txPower = this.payload.readInt8(1) / 10;\n\t\t\t\tthis.measured0dBm = this.payload.readInt8(2) / 10;\n\t\t\t\tif (this.payload.length === 6) {\n\t\t\t\t\tthis.enablePTI = this.payload[3];\n\t\t\t\t\tthis.maxTXPower = this.payload.readInt16LE(4) / 10;\n\t\t\t\t}\n\t\t\t} else if (this.payload.length === 8) {\n\t\t\t\tthis.rfRegion = this.payload[0];\n\t\t\t\tthis.txPower = this.payload.readInt16LE(1) / 10;\n\t\t\t\tthis.measured0dBm = this.payload.readInt16LE(3) / 10;\n\t\t\t\tthis.enablePTI = this.payload[5];\n\t\t\t\tthis.maxTXPower = this.payload.readInt16LE(6) / 10;\n\t\t\t} else if (this.payload.length === 9) {\n\t\t\t\tthis.rfRegion = this.payload[0];\n\t\t\t\tthis.txPower = this.payload.readInt16LE(1) / 10;\n\t\t\t\tthis.measured0dBm = this.payload.readInt16LE(3) / 10;\n\t\t\t\tthis.enablePTI = this.payload[5];\n\t\t\t\tthis.maxTXPower = this.payload.readInt16LE(6) / 10;\n\t\t\t\tthis.nodeIdType = this.payload[8];\n\t\t\t} else {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`ApplicationRFConfigFile has unsupported length ${this.payload.length}`,\n\t\t\t\t\tZWaveErrorCodes.NVM_NotSupported,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.rfRegion = options.rfRegion;\n\t\t\tthis.txPower = options.txPower;\n\t\t\tthis.measured0dBm = options.measured0dBm;\n\t\t\tthis.enablePTI = options.enablePTI;\n\t\t\tthis.maxTXPower = options.maxTXPower;\n\t\t\tthis.nodeIdType = options.nodeIdType;\n\t\t}\n\t}\n\n\tpublic rfRegion: RFRegion;\n\tpublic txPower: number;\n\tpublic measured0dBm: number;\n\tpublic enablePTI?: number;\n\tpublic maxTXPower?: number;\n\tpublic nodeIdType?: NodeIDType;\n\n\tpublic serialize(): NVM3Object & { data: Bytes } {\n\t\tif (semverLt(this.fileVersion, \"7.18.1\")) {\n\t\t\tthis.payload = new Bytes(\n\t\t\t\tsemverGte(this.fileVersion, \"7.15.3\") ? 6 : 3,\n\t\t\t).fill(0);\n\t\t\tthis.payload[0] = this.rfRegion;\n\t\t\tthis.payload.writeIntLE(this.txPower * 10, 1, 1);\n\t\t\tthis.payload.writeIntLE(this.measured0dBm * 10, 2, 1);\n\t\t\tif (semverGte(this.fileVersion, \"7.15.3\")) {\n\t\t\t\tthis.payload[3] = this.enablePTI ?? 0;\n\t\t\t\tthis.payload.writeInt16LE((this.maxTXPower ?? 0) * 10, 4);\n\t\t\t}\n\t\t} else if (semverLt(this.fileVersion, \"7.21.0\")) {\n\t\t\tthis.payload = new Bytes(8).fill(0);\n\t\t\tthis.payload[0] = this.rfRegion;\n\t\t\tthis.payload.writeInt16LE(this.txPower * 10, 1);\n\t\t\tthis.payload.writeInt16LE(this.measured0dBm * 10, 3);\n\t\t\tthis.payload[5] = this.enablePTI ?? 0;\n\t\t\tthis.payload.writeInt16LE((this.maxTXPower ?? 0) * 10, 6);\n\t\t} else {\n\t\t\tthis.payload = new Bytes(9).fill(0);\n\t\t\tthis.payload[0] = this.rfRegion;\n\t\t\tthis.payload.writeInt16LE(this.txPower * 10, 1);\n\t\t\tthis.payload.writeInt16LE(this.measured0dBm * 10, 3);\n\t\t\tthis.payload[5] = this.enablePTI ?? 0;\n\t\t\tthis.payload.writeInt16LE((this.maxTXPower ?? 0) * 10, 6);\n\t\t\tthis.payload[8] = this.nodeIdType ?? NodeIDType.Short;\n\t\t}\n\t\treturn super.serialize();\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic toJSON() {\n\t\tconst ret: Record<string, any> = {\n\t\t\t...super.toJSON(),\n\t\t\t\"RF Region\": getEnumMemberName(RFRegion, this.rfRegion),\n\t\t\t\"TX Power\": `${this.txPower.toFixed(1)} dBm`,\n\t\t\t\"Power @ 0dBm\": `${this.measured0dBm.toFixed(1)} dBm`,\n\t\t};\n\t\tif (this.enablePTI != undefined) {\n\t\t\tret[\"enable PTI\"] = this.enablePTI;\n\t\t}\n\t\tif (this.maxTXPower != undefined) {\n\t\t\tret[\"max TX power\"] = `${this.maxTXPower.toFixed(1)} dBm`;\n\t\t}\n\t\tif (this.nodeIdType != undefined) {\n\t\t\tret[\"node ID type\"] = getEnumMemberName(\n\t\t\t\tNodeIDType,\n\t\t\t\tthis.nodeIdType,\n\t\t\t);\n\t\t}\n\t\treturn ret;\n\t}\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["import_safe", "semverLt", "semverGte"]
7
7
  }
@@ -3,6 +3,7 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
7
  var __export = (target, all) => {
7
8
  for (var name in all)
8
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -29,6 +30,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
29
30
  if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
30
31
  return f;
31
32
  }
33
+ __name(accept, "accept");
32
34
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
33
35
  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
34
36
  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
@@ -71,6 +73,9 @@ let ApplicationTypeFile = (() => {
71
73
  let _classThis;
72
74
  let _classSuper = import_NVMFile.NVMFile;
73
75
  var ApplicationTypeFile2 = class extends _classSuper {
76
+ static {
77
+ __name(this, "ApplicationTypeFile");
78
+ }
74
79
  static {
75
80
  _classThis = this;
76
81
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/lib/nvm3/files/ApplicationTypeFile.ts"],
4
4
  "sourcesContent": ["import { Bytes } from \"@zwave-js/shared/safe\";\nimport type { NVM3Object } from \"../object.js\";\nimport {\n\tNVMFile,\n\ttype NVMFileCreationOptions,\n\ttype NVMFileDeserializationOptions,\n\tgotDeserializationOptions,\n\tnvmFileID,\n\tnvmSection,\n} from \"./NVMFile.js\";\n\nexport interface ApplicationTypeFileOptions extends NVMFileCreationOptions {\n\tisListening: boolean;\n\toptionalFunctionality: boolean;\n\tgenericDeviceClass: number;\n\tspecificDeviceClass: number;\n}\n\nexport const ApplicationTypeFileID = 102;\n\n@nvmFileID(ApplicationTypeFileID)\n@nvmSection(\"application\")\nexport class ApplicationTypeFile extends NVMFile {\n\tpublic constructor(\n\t\toptions: NVMFileDeserializationOptions | ApplicationTypeFileOptions,\n\t) {\n\t\tsuper(options);\n\t\tif (gotDeserializationOptions(options)) {\n\t\t\tthis.isListening = !!(this.payload[0] & 0b1);\n\t\t\tthis.optionalFunctionality = !!(this.payload[0] & 0b10);\n\t\t\tthis.genericDeviceClass = this.payload[1];\n\t\t\tthis.specificDeviceClass = this.payload[2];\n\t\t} else {\n\t\t\tthis.isListening = options.isListening;\n\t\t\tthis.optionalFunctionality = options.optionalFunctionality;\n\t\t\tthis.genericDeviceClass = options.genericDeviceClass;\n\t\t\tthis.specificDeviceClass = options.specificDeviceClass;\n\t\t}\n\t}\n\n\tpublic isListening: boolean;\n\tpublic optionalFunctionality: boolean;\n\tpublic genericDeviceClass: number;\n\tpublic specificDeviceClass: number;\n\n\tpublic serialize(): NVM3Object & { data: Bytes } {\n\t\tthis.payload = Bytes.from([\n\t\t\t(this.isListening ? 0b1 : 0)\n\t\t\t| (this.optionalFunctionality ? 0b10 : 0),\n\t\t\tthis.genericDeviceClass,\n\t\t\tthis.specificDeviceClass,\n\t\t]);\n\t\treturn super.serialize();\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic toJSON() {\n\t\treturn {\n\t\t\t...super.toJSON(),\n\t\t\tlistening: this.isListening,\n\t\t\t\"opt. functionality\": this.optionalFunctionality,\n\t\t\tgenericDeviceClass: this.genericDeviceClass,\n\t\t\tspecificDeviceClass: this.specificDeviceClass,\n\t\t};\n\t}\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA,kBAAsB;AAEtB,qBAOO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,wBAAwB;IAIxB,uBAAmB,MAAA;8BAF/B,0BAAU,qBAAqB,OAC/B,2BAAW,aAAa,CAAC;;;;oBACe;2CAAA,YAAO;;;;;;AAAhD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAmE;AAEnE,YAAM,OAAO;AACb,cAAI,0CAA0B,OAAO,GAAG;AACvC,aAAK,cAAc,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI;AACxC,aAAK,wBAAwB,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI;AAClD,aAAK,qBAAqB,KAAK,QAAQ,CAAC;AACxC,aAAK,sBAAsB,KAAK,QAAQ,CAAC;MAC1C,OAAO;AACN,aAAK,cAAc,QAAQ;AAC3B,aAAK,wBAAwB,QAAQ;AACrC,aAAK,qBAAqB,QAAQ;AAClC,aAAK,sBAAsB,QAAQ;MACpC;IACD;IAEO;IACA;IACA;IACA;IAEA,YAAS;AACf,WAAK,UAAU,kBAAM,KAAK;SACxB,KAAK,cAAc,IAAM,MACvB,KAAK,wBAAwB,IAAO;QACvC,KAAK;QACL,KAAK;OACL;AACD,aAAO,MAAM,UAAS;IACvB;;IAGO,SAAM;AACZ,aAAO;QACN,GAAG,MAAM,OAAM;QACf,WAAW,KAAK;QAChB,sBAAsB,KAAK;QAC3B,oBAAoB,KAAK;QACzB,qBAAqB,KAAK;;IAE5B;;;;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kBAAsB;AAEtB,qBAOO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,wBAAwB;IAIxB,uBAAmB,MAAA;8BAF/B,0BAAU,qBAAqB,OAC/B,2BAAW,aAAa,CAAC;;;;oBACe;2CAAA,YAAO;WAAA;;;;;;;;AAAhD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAmE;AAEnE,YAAM,OAAO;AACb,cAAI,0CAA0B,OAAO,GAAG;AACvC,aAAK,cAAc,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI;AACxC,aAAK,wBAAwB,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI;AAClD,aAAK,qBAAqB,KAAK,QAAQ,CAAC;AACxC,aAAK,sBAAsB,KAAK,QAAQ,CAAC;MAC1C,OAAO;AACN,aAAK,cAAc,QAAQ;AAC3B,aAAK,wBAAwB,QAAQ;AACrC,aAAK,qBAAqB,QAAQ;AAClC,aAAK,sBAAsB,QAAQ;MACpC;IACD;IAEO;IACA;IACA;IACA;IAEA,YAAS;AACf,WAAK,UAAU,kBAAM,KAAK;SACxB,KAAK,cAAc,IAAM,MACvB,KAAK,wBAAwB,IAAO;QACvC,KAAK;QACL,KAAK;OACL;AACD,aAAO,MAAM,UAAS;IACvB;;IAGO,SAAM;AACZ,aAAO;QACN,GAAG,MAAM,OAAM;QACf,WAAW,KAAK;QAChB,sBAAsB,KAAK;QAC3B,oBAAoB,KAAK;QACzB,qBAAqB,KAAK;;IAE5B;;;;",
6
6
  "names": []
7
7
  }
@@ -3,6 +3,7 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
7
  var __export = (target, all) => {
7
8
  for (var name in all)
8
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -30,6 +31,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
30
31
  if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
31
32
  return f;
32
33
  }
34
+ __name(accept, "accept");
33
35
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
34
36
  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
35
37
  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
@@ -72,6 +74,9 @@ let ControllerInfoFile = (() => {
72
74
  let _classThis;
73
75
  let _classSuper = import_NVMFile.NVMFile;
74
76
  var ControllerInfoFile2 = class extends _classSuper {
77
+ static {
78
+ __name(this, "ControllerInfoFile");
79
+ }
75
80
  static {
76
81
  _classThis = this;
77
82
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/lib/nvm3/files/ControllerInfoFile.ts"],
4
4
  "sourcesContent": ["import {\n\tZWaveError,\n\tZWaveErrorCodes,\n\tstripUndefined,\n} from \"@zwave-js/core/safe\";\nimport { Bytes, buffer2hex } from \"@zwave-js/shared\";\nimport type { NVM3Object } from \"../object.js\";\nimport {\n\tNVMFile,\n\ttype NVMFileCreationOptions,\n\ttype NVMFileDeserializationOptions,\n\tgotDeserializationOptions,\n\tnvmFileID,\n\tnvmSection,\n} from \"./NVMFile.js\";\n\nexport type ControllerInfoFileOptions =\n\t& NVMFileCreationOptions\n\t& {\n\t\thomeId: Uint8Array;\n\t\tnodeId: number;\n\t\tlastNodeId: number;\n\t\tstaticControllerNodeId: number;\n\t\tsucLastIndex: number;\n\t\tcontrollerConfiguration: number;\n\t\tmaxNodeId: number;\n\t\treservedId: number;\n\t\tsystemState: number;\n\t}\n\t& (\n\t\t| {\n\t\t\tsucAwarenessPushNeeded: number;\n\t\t}\n\t\t| {\n\t\t\tlastNodeIdLR: number;\n\t\t\tmaxNodeIdLR: number;\n\t\t\treservedIdLR: number;\n\t\t\tprimaryLongRangeChannelId: number;\n\t\t\tdcdcConfig: number;\n\t\t}\n\t);\n\nexport const ControllerInfoFileID = 0x50004;\n\n@nvmFileID(ControllerInfoFileID)\n@nvmSection(\"protocol\")\nexport class ControllerInfoFile extends NVMFile {\n\tpublic constructor(\n\t\toptions: NVMFileDeserializationOptions | ControllerInfoFileOptions,\n\t) {\n\t\tsuper(options);\n\t\tif (gotDeserializationOptions(options)) {\n\t\t\tthis.homeId = this.payload.subarray(0, 4);\n\t\t\tif (this.payload.length === 13) {\n\t\t\t\tthis.nodeId = this.payload[4];\n\t\t\t\tthis.lastNodeId = this.payload[5];\n\t\t\t\tthis.staticControllerNodeId = this.payload[6];\n\t\t\t\tthis.sucLastIndex = this.payload[7];\n\t\t\t\tthis.controllerConfiguration = this.payload[8];\n\t\t\t\tthis.sucAwarenessPushNeeded = this.payload[9];\n\t\t\t\tthis.maxNodeId = this.payload[10];\n\t\t\t\tthis.reservedId = this.payload[11];\n\t\t\t\tthis.systemState = this.payload[12];\n\t\t\t} else if (this.payload.length === 22) {\n\t\t\t\tthis.nodeId = this.payload.readUInt16LE(4);\n\t\t\t\tthis.staticControllerNodeId = this.payload.readUInt16LE(6);\n\t\t\t\tthis.lastNodeIdLR = this.payload.readUInt16LE(8);\n\t\t\t\tthis.lastNodeId = this.payload[10];\n\t\t\t\tthis.sucLastIndex = this.payload[11];\n\t\t\t\tthis.maxNodeIdLR = this.payload.readUInt16LE(12);\n\t\t\t\tthis.maxNodeId = this.payload[14];\n\t\t\t\tthis.controllerConfiguration = this.payload[15];\n\t\t\t\tthis.reservedIdLR = this.payload.readUInt16LE(16);\n\t\t\t\tthis.reservedId = this.payload[18];\n\t\t\t\tthis.systemState = this.payload[19];\n\t\t\t\tthis.primaryLongRangeChannelId = this.payload[20];\n\t\t\t\tthis.dcdcConfig = this.payload[21];\n\t\t\t} else {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`Unsupported payload length`,\n\t\t\t\t\tZWaveErrorCodes.NVM_InvalidFormat,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.homeId = Bytes.view(options.homeId);\n\t\t\tthis.nodeId = options.nodeId;\n\t\t\tthis.lastNodeId = options.lastNodeId;\n\t\t\tthis.staticControllerNodeId = options.staticControllerNodeId;\n\t\t\tthis.sucLastIndex = options.sucLastIndex;\n\t\t\tthis.controllerConfiguration = options.controllerConfiguration;\n\t\t\tthis.maxNodeId = options.maxNodeId;\n\t\t\tthis.reservedId = options.reservedId;\n\t\t\tthis.systemState = options.systemState;\n\t\t\tif (\"lastNodeIdLR\" in options) {\n\t\t\t\tthis.lastNodeIdLR = options.lastNodeIdLR;\n\t\t\t\tthis.maxNodeIdLR = options.maxNodeIdLR;\n\t\t\t\tthis.reservedIdLR = options.reservedIdLR;\n\t\t\t\tthis.primaryLongRangeChannelId =\n\t\t\t\t\toptions.primaryLongRangeChannelId;\n\t\t\t\tthis.dcdcConfig = options.dcdcConfig;\n\t\t\t} else {\n\t\t\t\tthis.sucAwarenessPushNeeded = options.sucAwarenessPushNeeded;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic homeId: Uint8Array;\n\tpublic nodeId: number;\n\tpublic lastNodeId: number;\n\tpublic staticControllerNodeId: number;\n\tpublic sucLastIndex: number;\n\tpublic controllerConfiguration: number; // TODO: Figure out what this is\n\tpublic sucAwarenessPushNeeded?: number;\n\tpublic maxNodeId: number;\n\tpublic reservedId: number;\n\tpublic systemState: number;\n\tpublic lastNodeIdLR?: number;\n\tpublic maxNodeIdLR?: number;\n\tpublic reservedIdLR?: number;\n\tpublic primaryLongRangeChannelId?: number;\n\tpublic dcdcConfig?: number;\n\n\tpublic serialize(): NVM3Object & { data: Bytes } {\n\t\tif (this.lastNodeIdLR != undefined) {\n\t\t\tthis.payload = new Bytes(22);\n\t\t\tthis.payload.set(this.homeId, 0);\n\t\t\tthis.payload.writeUInt16LE(this.nodeId, 4);\n\t\t\tthis.payload.writeUInt16LE(this.staticControllerNodeId, 6);\n\t\t\tthis.payload.writeUInt16LE(this.lastNodeIdLR, 8);\n\t\t\tthis.payload[10] = this.lastNodeId;\n\t\t\tthis.payload[11] = this.sucLastIndex;\n\t\t\tthis.payload.writeUInt16LE(this.maxNodeIdLR!, 12);\n\t\t\tthis.payload[14] = this.maxNodeId;\n\t\t\tthis.payload[15] = this.controllerConfiguration;\n\t\t\tthis.payload.writeUInt16LE(this.reservedIdLR!, 16);\n\t\t\tthis.payload[18] = this.reservedId;\n\t\t\tthis.payload[19] = this.systemState;\n\t\t\tthis.payload[20] = this.primaryLongRangeChannelId!;\n\t\t\tthis.payload[21] = this.dcdcConfig!;\n\t\t} else {\n\t\t\t// V0\n\t\t\tthis.payload = Bytes.concat([\n\t\t\t\tthis.homeId,\n\t\t\t\tBytes.from([\n\t\t\t\t\tthis.nodeId,\n\t\t\t\t\tthis.lastNodeId,\n\t\t\t\t\tthis.staticControllerNodeId,\n\t\t\t\t\tthis.sucLastIndex,\n\t\t\t\t\tthis.controllerConfiguration,\n\t\t\t\t\tthis.sucAwarenessPushNeeded ?? 0,\n\t\t\t\t\tthis.maxNodeId,\n\t\t\t\t\tthis.reservedId,\n\t\t\t\t\tthis.systemState,\n\t\t\t\t]),\n\t\t\t]);\n\t\t}\n\t\treturn super.serialize();\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic toJSON() {\n\t\treturn stripUndefined({\n\t\t\t...super.toJSON(),\n\t\t\thomeId: buffer2hex(this.homeId),\n\t\t\tnodeId: this.nodeId,\n\t\t\tlastNodeId: this.lastNodeId,\n\t\t\tstaticControllerNodeId: this.staticControllerNodeId,\n\t\t\tsucLastIndex: this.sucLastIndex,\n\t\t\tcontrollerConfiguration: this.controllerConfiguration,\n\t\t\tsucAwarenessPushNeeded: this.sucAwarenessPushNeeded,\n\t\t\tmaxNodeId: this.maxNodeId,\n\t\t\treservedId: this.reservedId,\n\t\t\tsystemState: this.systemState,\n\t\t\tlastNodeIdLR: this.lastNodeIdLR,\n\t\t\tmaxNodeIdLR: this.maxNodeIdLR,\n\t\t\treservedIdLR: this.reservedIdLR,\n\t\t\tprimaryLongRangeChannelId: this.primaryLongRangeChannelId,\n\t\t\tdcdcConfig: this.dcdcConfig,\n\t\t});\n\t}\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -3,6 +3,7 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
7
  var __export = (target, all) => {
7
8
  for (var name in all)
8
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -37,7 +38,11 @@ var import_consts = require("../consts.js");
37
38
  function gotDeserializationOptions(options) {
38
39
  return "data" in options && (0, import_shared.isUint8Array)(options.data);
39
40
  }
41
+ __name(gotDeserializationOptions, "gotDeserializationOptions");
40
42
  class NVMFile {
43
+ static {
44
+ __name(this, "NVMFile");
45
+ }
41
46
  constructor(options) {
42
47
  this.fileVersion = options.fileVersion;
43
48
  if (gotDeserializationOptions(options)) {
@@ -97,6 +102,7 @@ function nvmFileID(id) {
97
102
  Reflect.defineMetadata(METADATA_nvmFileIDMap, map, NVMFile);
98
103
  };
99
104
  }
105
+ __name(nvmFileID, "nvmFileID");
100
106
  function getNVMFileID(id) {
101
107
  const constr = id.constructor;
102
108
  const ret = id instanceof NVMFile ? Reflect.getMetadata(METADATA_nvmFileID, constr) : void 0;
@@ -105,6 +111,7 @@ function getNVMFileID(id) {
105
111
  }
106
112
  return ret;
107
113
  }
114
+ __name(getNVMFileID, "getNVMFileID");
108
115
  function getNVMFileConstructor(id) {
109
116
  const map = Reflect.getMetadata(METADATA_nvmFileIDMap, NVMFile);
110
117
  if (map != void 0) {
@@ -116,6 +123,7 @@ function getNVMFileConstructor(id) {
116
123
  }
117
124
  }
118
125
  }
126
+ __name(getNVMFileConstructor, "getNVMFileConstructor");
119
127
  function getNVMFileIDStatic(classConstructor) {
120
128
  const ret = Reflect.getMetadata(METADATA_nvmFileID, classConstructor);
121
129
  if (ret == void 0) {
@@ -123,6 +131,7 @@ function getNVMFileIDStatic(classConstructor) {
123
131
  }
124
132
  return ret;
125
133
  }
134
+ __name(getNVMFileIDStatic, "getNVMFileIDStatic");
126
135
  const nvmSectionDecorator = (0, import_reflection.createSimpleReflectionDecorator)({
127
136
  name: "nvmSection"
128
137
  });
@@ -139,6 +148,7 @@ function getNVMSectionByFileID(fileId) {
139
148
  return ret;
140
149
  throw new import_safe.ZWaveError(`NVM section for file with ID ${(0, import_shared.num2hex)(fileId)} could not be determined`, import_safe.ZWaveErrorCodes.Argument_Invalid);
141
150
  }
151
+ __name(getNVMSectionByFileID, "getNVMSectionByFileID");
142
152
  // Annotate the CommonJS export names for ESM import in node:
143
153
  0 && (module.exports = {
144
154
  NVMFile,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/lib/nvm3/files/NVMFile.ts"],
4
4
  "sourcesContent": ["import { createSimpleReflectionDecorator } from \"@zwave-js/core/reflection\";\nimport { ZWaveError, ZWaveErrorCodes } from \"@zwave-js/core/safe\";\nimport {\n\tBytes,\n\ttype TypedClassDecorator,\n\tisUint8Array,\n\tnum2hex,\n} from \"@zwave-js/shared\";\nimport {\n\tFragmentType,\n\tNVM3_MAX_OBJ_SIZE_SMALL,\n\tObjectType,\n} from \"../consts.js\";\nimport type { NVM3Object } from \"../object.js\";\n\nexport interface NVMFileBaseOptions {\n\tfileId?: number;\n\tfileVersion: string;\n}\nexport interface NVMFileDeserializationOptions extends NVMFileBaseOptions {\n\tfileId: number;\n\tdata: Bytes;\n}\n\nexport function gotDeserializationOptions(\n\toptions: NVMFileOptions,\n): options is NVMFileDeserializationOptions {\n\treturn \"data\" in options && isUint8Array(options.data);\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface NVMFileCreationOptions extends NVMFileBaseOptions {}\n\nexport type NVMFileOptions =\n\t| NVMFileCreationOptions\n\t| NVMFileDeserializationOptions;\n\nexport class NVMFile {\n\tpublic constructor(options: NVMFileOptions) {\n\t\tthis.fileVersion = options.fileVersion;\n\n\t\tif (gotDeserializationOptions(options)) {\n\t\t\tthis.fileId = options.fileId;\n\t\t\tthis.payload = options.data;\n\t\t} else {\n\t\t\tconst fileId = options.fileId ?? getNVMFileID(this);\n\t\t\tif (typeof fileId === \"number\") {\n\t\t\t\tthis.fileId = fileId;\n\t\t\t}\n\t\t\tthis.payload = new Bytes();\n\t\t}\n\t}\n\n\tprotected payload: Bytes;\n\tpublic fileId: number = 0;\n\tpublic fileVersion: string;\n\n\t/**\n\t * Creates an instance of the NVM file that is contained in the given NVM object\n\t */\n\tpublic static from(\n\t\tfileId: number,\n\t\tdata: Uint8Array,\n\t\tfileVersion: string,\n\t): NVMFile {\n\t\tconst Constructor = getNVMFileConstructor(fileId)!;\n\t\treturn new Constructor({\n\t\t\tfileId,\n\t\t\tfileVersion,\n\t\t\tdata,\n\t\t});\n\t}\n\n\t/**\n\t * Serializes this NVMFile into an NVM Object\n\t */\n\tpublic serialize(): NVM3Object & { data: Bytes } {\n\t\tif (!this.fileId) {\n\t\t\tthrow new Error(\"The NVM file ID must be set before serializing\");\n\t\t}\n\t\treturn {\n\t\t\tkey: this.fileId,\n\t\t\tdata: this.payload,\n\t\t\t// We only support large and small data objects for now\n\t\t\ttype: this.payload.length <= NVM3_MAX_OBJ_SIZE_SMALL\n\t\t\t\t? ObjectType.DataSmall\n\t\t\t\t: ObjectType.DataLarge,\n\t\t\t// By default output unfragmented objects, they will be split later\n\t\t\tfragmentType: FragmentType.None,\n\t\t};\n\t}\n\n\tpublic toJSON(): Record<string, any> {\n\t\treturn {\n\t\t\t\"file ID\": `0x${\n\t\t\t\tthis.fileId.toString(16)\n\t\t\t} (${this.constructor.name})`,\n\t\t};\n\t}\n}\n\nconst METADATA_nvmFileID = Symbol(\"nvmFileID\");\nconst METADATA_nvmFileIDMap = Symbol(\"nvmFileIDMap\");\n\ntype NVMFileIDMap = Map<\n\tnumber | ((id: number) => boolean),\n\tNVMFileConstructor<NVMFile>\n>;\n\nexport type NVMFileConstructor<T extends NVMFile> = typeof NVMFile & {\n\tnew (options: any): T;\n};\n\n/**\n * Defines the ID associated with a NVM file class\n */\nexport function nvmFileID<Class extends typeof NVMFile>(\n\tid: number | ((id: number) => boolean),\n): TypedClassDecorator<Class> {\n\treturn (messageClass) => {\n\t\tReflect.defineMetadata(METADATA_nvmFileID, id, messageClass);\n\n\t\t// also store a map in the NVMFile metadata for lookup.\n\t\tconst map: NVMFileIDMap =\n\t\t\tReflect.getMetadata(METADATA_nvmFileIDMap, NVMFile) || new Map();\n\t\tmap.set(id, messageClass as unknown as NVMFileConstructor<NVMFile>);\n\t\tReflect.defineMetadata(METADATA_nvmFileIDMap, map, NVMFile);\n\t};\n}\n\n/**\n * Retrieves the file ID defined for a NVM file class\n */\nexport function getNVMFileID<T extends NVMFile>(\n\tid: T,\n): number | ((id: number) => boolean) {\n\t// get the class constructor\n\tconst constr = id.constructor;\n\t// retrieve the current metadata\n\tconst ret: number | undefined = id instanceof NVMFile\n\t\t? Reflect.getMetadata(METADATA_nvmFileID, constr)\n\t\t: undefined;\n\tif (ret == undefined) {\n\t\tthrow new ZWaveError(\n\t\t\t`No NVM file ID defined for ${constr.name}!`,\n\t\t\tZWaveErrorCodes.CC_Invalid,\n\t\t);\n\t}\n\treturn ret;\n}\n\n/**\n * Looks up the NVM file constructor for a given file ID\n */\nexport function getNVMFileConstructor(\n\tid: number,\n): NVMFileConstructor<NVMFile> | undefined {\n\t// Retrieve the constructor map from the NVMFile class\n\tconst map = Reflect.getMetadata(METADATA_nvmFileIDMap, NVMFile) as\n\t\t| NVMFileIDMap\n\t\t| undefined;\n\tif (map != undefined) {\n\t\tif (map.has(id)) return map.get(id);\n\t\t// Otherwise loop through predicates\n\t\tfor (const [key, value] of map.entries()) {\n\t\t\tif (typeof key === \"function\" && key(id)) return value;\n\t\t}\n\t}\n}\n\n/**\n * Retrieves the file ID defined for a NVM file class\n */\nexport function getNVMFileIDStatic<T extends NVMFileConstructor<NVMFile>>(\n\tclassConstructor: T,\n): number | ((id: number) => boolean) {\n\t// retrieve the current metadata\n\tconst ret = Reflect.getMetadata(METADATA_nvmFileID, classConstructor);\n\tif (ret == undefined) {\n\t\tthrow new ZWaveError(\n\t\t\t`No NVM file ID defined for ${classConstructor.name}!`,\n\t\t\tZWaveErrorCodes.CC_Invalid,\n\t\t);\n\t}\n\treturn ret;\n}\n\nexport type NVMSection = \"application\" | \"protocol\";\n\nconst nvmSectionDecorator = createSimpleReflectionDecorator<\n\ttypeof NVMFile,\n\t[section: NVMSection]\n>({\n\tname: \"nvmSection\",\n});\n\n/** Defines in which section an NVM file is stored */\nexport const nvmSection = nvmSectionDecorator.decorator;\n\n/** Returns in which section an NVM file is stored (using an instance of the file) */\nexport const getNVMSection = nvmSectionDecorator.lookupValue;\n\n/** Returns in which section an NVM file is stored (using the constructor of the file) */\nexport const getNVMSectionStatic = nvmSectionDecorator.lookupValueStatic;\n\n/** Returns in which NVM section the file with the given ID resides in */\nexport function getNVMSectionByFileID(fileId: number): NVMSection {\n\tconst File = getNVMFileConstructor(fileId);\n\tlet ret: NVMSection | undefined;\n\tif (File) {\n\t\tret = getNVMSectionStatic(File);\n\t}\n\tif (ret) return ret;\n\n\tthrow new ZWaveError(\n\t\t`NVM section for file with ID ${\n\t\t\tnum2hex(fileId)\n\t\t} could not be determined`,\n\t\tZWaveErrorCodes.Argument_Invalid,\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;AAAA,wBAAgD;AAChD,kBAA4C;AAC5C,oBAKO;AACP,oBAIO;AAYD,SAAU,0BACf,SAAuB;AAEvB,SAAO,UAAU,eAAW,4BAAa,QAAQ,IAAI;AACtD;AASM,MAAO,QAAO;EACnB,YAAmB,SAAuB;AACzC,SAAK,cAAc,QAAQ;AAE3B,QAAI,0BAA0B,OAAO,GAAG;AACvC,WAAK,SAAS,QAAQ;AACtB,WAAK,UAAU,QAAQ;IACxB,OAAO;AACN,YAAM,SAAS,QAAQ,UAAU,aAAa,IAAI;AAClD,UAAI,OAAO,WAAW,UAAU;AAC/B,aAAK,SAAS;MACf;AACA,WAAK,UAAU,IAAI,oBAAK;IACzB;EACD;EAEU;EACH,SAAiB;EACjB;;;;EAKA,OAAO,KACb,QACA,MACA,aAAmB;AAEnB,UAAM,cAAc,sBAAsB,MAAM;AAChD,WAAO,IAAI,YAAY;MACtB;MACA;MACA;KACA;EACF;;;;EAKO,YAAS;AACf,QAAI,CAAC,KAAK,QAAQ;AACjB,YAAM,IAAI,MAAM,gDAAgD;IACjE;AACA,WAAO;MACN,KAAK,KAAK;MACV,MAAM,KAAK;;MAEX,MAAM,KAAK,QAAQ,UAAU,wCAC1B,yBAAW,YACX,yBAAW;;MAEd,cAAc,2BAAa;;EAE7B;EAEO,SAAM;AACZ,WAAO;MACN,WAAW,KACV,KAAK,OAAO,SAAS,EAAE,CACxB,KAAK,KAAK,YAAY,IAAI;;EAE5B;;AAGD,MAAM,qBAAqB,OAAO,WAAW;AAC7C,MAAM,wBAAwB,OAAO,cAAc;AAc7C,SAAU,UACf,IAAsC;AAEtC,SAAO,CAAC,iBAAgB;AACvB,YAAQ,eAAe,oBAAoB,IAAI,YAAY;AAG3D,UAAM,MACL,QAAQ,YAAY,uBAAuB,OAAO,KAAK,oBAAI,IAAG;AAC/D,QAAI,IAAI,IAAI,YAAsD;AAClE,YAAQ,eAAe,uBAAuB,KAAK,OAAO;EAC3D;AACD;AAKM,SAAU,aACf,IAAK;AAGL,QAAM,SAAS,GAAG;AAElB,QAAM,MAA0B,cAAc,UAC3C,QAAQ,YAAY,oBAAoB,MAAM,IAC9C;AACH,MAAI,OAAO,QAAW;AACrB,UAAM,IAAI,uBACT,8BAA8B,OAAO,IAAI,KACzC,4BAAgB,UAAU;EAE5B;AACA,SAAO;AACR;AAKM,SAAU,sBACf,IAAU;AAGV,QAAM,MAAM,QAAQ,YAAY,uBAAuB,OAAO;AAG9D,MAAI,OAAO,QAAW;AACrB,QAAI,IAAI,IAAI,EAAE;AAAG,aAAO,IAAI,IAAI,EAAE;AAElC,eAAW,CAAC,KAAK,KAAK,KAAK,IAAI,QAAO,GAAI;AACzC,UAAI,OAAO,QAAQ,cAAc,IAAI,EAAE;AAAG,eAAO;IAClD;EACD;AACD;AAKM,SAAU,mBACf,kBAAmB;AAGnB,QAAM,MAAM,QAAQ,YAAY,oBAAoB,gBAAgB;AACpE,MAAI,OAAO,QAAW;AACrB,UAAM,IAAI,uBACT,8BAA8B,iBAAiB,IAAI,KACnD,4BAAgB,UAAU;EAE5B;AACA,SAAO;AACR;AAIA,MAAM,0BAAsB,mDAG1B;EACD,MAAM;CACN;AAGM,MAAM,aAAa,oBAAoB;AAGvC,MAAM,gBAAgB,oBAAoB;AAG1C,MAAM,sBAAsB,oBAAoB;AAGjD,SAAU,sBAAsB,QAAc;AACnD,QAAM,OAAO,sBAAsB,MAAM;AACzC,MAAI;AACJ,MAAI,MAAM;AACT,UAAM,oBAAoB,IAAI;EAC/B;AACA,MAAI;AAAK,WAAO;AAEhB,QAAM,IAAI,uBACT,oCACC,uBAAQ,MAAM,CACf,4BACA,4BAAgB,gBAAgB;AAElC;",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }