@utiliread/primitives 1.0.0-120 → 1.0.0-121
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/index.d.ts +277 -277
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/dist/types/index.d.ts +294 -294
- package/package.json +1 -1
- package/src/index.ts +18 -37
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/index.ts","src/repository.ts","src/registers/index.ts","src/registers/acoustic-noise.ts","src/measures/noise.ts","src/registers/ambient-temperature.ts","src/measures/temperature.ts","src/registers/consumer.ts","src/registers/cooling-energy-inlet.ts","src/measures/energy.ts","src/registers/cooling-energy-outlet.ts","src/registers/cooling-energy.ts","src/registers/cooling.ts","src/registers/device-addresses-kamdraft.ts","src/registers/device-addresses-msisdn.ts","src/registers/device-addresses-tchlr.ts","src/registers/device-addresses-wmbus.ts","src/registers/device-date-time.ts","src/measures/time.ts","src/registers/device-date.ts","src/registers/device-nominal-diameter.ts","src/registers/device-permanent-volume-flow.ts","src/registers/device-registers.ts","src/registers/device-software-version.ts","src/registers/device-time.ts","src/registers/device.ts","src/registers/diehl-infocode.ts","src/measures/infocode.ts","src/registers/electrical-energy.ts","src/registers/energy-inlet.ts","src/registers/energy-outlet.ts","src/registers/error-operating-time.ts","src/measures/duration.ts","src/registers/flow-temperature-aux.ts","src/registers/flow-temperature-inlet.ts","src/registers/flow-temperature-outlet.ts","src/registers/flow-temperature.ts","src/registers/heat-energy-inlet.ts","src/registers/heat-energy-outlet.ts","src/registers/heat-energy.ts","src/registers/infocode.ts","src/registers/kamstrup-module-type.ts","src/registers/kamstrup-multical-infocode.ts","src/registers/landis-gyr-infocode.ts","src/registers/landis-gyr-mbus-status.ts","src/registers/device-samples.ts","src/registers/mass-flow-inlet.ts","src/measures/mass-flow.ts","src/registers/mass-flow-outlet.ts","src/registers/mass-flow.ts","src/registers/mass-inlet.ts","src/measures/mass.ts","src/registers/mass-outlet.ts","src/registers/mass.ts","src/registers/mbus-format-string-signature.ts","src/registers/none.ts","src/registers/operating-time.ts","src/registers/place.ts","src/registers/power-inlet.ts","src/measures/power.ts","src/registers/power-outlet.ts","src/registers/power.ts","src/registers/pressure-inlet.ts","src/measures/pressure.ts","src/registers/pressure-outlet.ts","src/registers/pressure.ts","src/registers/radiator-temperature.ts","src/registers/reactive-energy.ts","src/measures/reactive-energy.ts","src/registers/relative-humidity.ts","src/registers/remaining-battery-time.ts","src/registers/time-last-exact-overhearing-arrived.ts","src/registers/time-last-installation-mounted.ts","src/registers/time-last-possible-candidate-overhearing-arrived.ts","src/registers/time-last-sampled.ts","src/registers/time.ts","src/registers/volume-flow-inlet.ts","src/measures/volume-flow.ts","src/registers/volume-flow-outlet.ts","src/registers/volume-flow.ts","src/registers/volume-inlet.ts","src/measures/volume.ts","src/registers/volume-outlet.ts","src/registers/volume-pulse-input-a.ts","src/registers/volume-pulse-input-b.ts","src/registers/volume.ts","src/step.ts","src/luxon-local.ts","src/number-formatter.ts","src/breakdown-rule.ts","src/time-or-rule.ts","src/precision-number.ts","src/register-convention.ts","src/register-utils.ts","src/register-library.ts"],"sourcesContent":["import \"./repository\"; // We need this to get the Repository namespace exported\n\nimport * as registers2 from \"./registers\";\n\nimport { DayOfWeek, Step } from \"./step\";\nimport {\n NumberFormatter,\n invariantDecimalSeparator,\n localeDecimalSeparator,\n} from \"./number-formatter\";\n\nimport type { AggregateId } from \"./aggregate-id\";\nimport type { BreakdownPeriod } from \"./breakdown-rule\";\nimport { BreakdownRule } from \"./breakdown-rule\";\nimport { Duration } from \"./luxon-local\";\nimport type { MeasureId } from \"./measure-id\";\nimport type { Medium } from \"./medium\";\nimport type { Optional } from \"./optional\";\nimport { PrecisionNumber } from \"./precision-number\";\nimport { RegisterConvention } from \"./register-convention\";\nimport type { RegisterDefinition } from \"./register-definition\";\nimport type { RegisterId } from \"./register-id\";\nimport { RegisterLibrary } from \"./register-library\";\nimport { Repository } from \"./repository\";\nimport { TimeOrRule } from \"./time-or-rule\";\nimport type { UnitId } from \"./unit-id\";\n\nexport {\n AggregateId,\n BreakdownPeriod,\n BreakdownRule,\n DayOfWeek,\n invariantDecimalSeparator,\n localeDecimalSeparator,\n MeasureId,\n Medium,\n NumberFormatter,\n Optional,\n PrecisionNumber,\n RegisterConvention,\n RegisterDefinition,\n RegisterId,\n RegisterLibrary,\n Repository,\n Step,\n TimeOrRule,\n UnitId,\n\n // Hack to force parcel to include Duration in typings file\n // Otherwise it seems to only include DateTime in the dist/index.d.ts which causes the file to be invalid\n // The reason for the ./parcel-workaround file is that it seems to generate the expected typings.\n // If we did `import { Duration } from \"luxon\"` instead and re-exported it as `__Duration` then it seems invalid.\n Duration as __Duration,\n};\n\nexport const registers = { ...registers2 };\n","// This is clearly not correct but it provides some amazing type safety\nexport type Repository = \"some/repo\";\n\nexport function Repository(repo: string): Repository;\nexport function Repository(team: string, name: string): Repository;\nexport function Repository(repoOrTeam: string, name?: string): Repository {\n if (name) {\n return <Repository>`${repoOrTeam}/${name}`;\n } else if (repoOrTeam.indexOf(\"/\") > 0) {\n return <Repository>repoOrTeam;\n } else {\n throw new TypeError(\"Invalid repository format\");\n }\n}\n\nexport namespace Repository {\n export function split(repo: Repository) {\n const parts = repo.split(\"/\");\n return {\n team: parts[0],\n name: parts[1],\n };\n }\n}\n","export * from \"./acoustic-noise\";\nexport * from \"./ambient-temperature\";\nexport * from \"./consumer\";\nexport * from \"./cooling-energy-inlet\";\nexport * from \"./cooling-energy-outlet\";\nexport * from \"./cooling-energy\";\nexport * from \"./cooling\";\nexport * from \"./device-addresses-kamdraft\";\nexport * from \"./device-addresses-msisdn\";\nexport * from \"./device-addresses-tchlr\";\nexport * from \"./device-addresses-wmbus\";\nexport * from \"./device-date-time\";\nexport * from \"./device-date\";\nexport * from \"./device-nominal-diameter\";\nexport * from \"./device-permanent-volume-flow\";\nexport * from \"./device-registers\";\nexport * from \"./device-software-version\";\nexport * from \"./device-time\";\nexport * from \"./device\";\nexport * from \"./diehl-infocode\";\nexport * from \"./electrical-energy\";\nexport * from \"./energy-inlet\";\nexport * from \"./energy-outlet\";\nexport * from \"./error-operating-time\";\nexport * from \"./flow-temperature-aux\";\nexport * from \"./flow-temperature-inlet\";\nexport * from \"./flow-temperature-outlet\";\nexport * from \"./flow-temperature\";\nexport * from \"./heat-energy-inlet\";\nexport * from \"./heat-energy-outlet\";\nexport * from \"./heat-energy\";\nexport * from \"./infocode\";\nexport * from \"./kamstrup-module-type\";\nexport * from \"./kamstrup-multical-infocode\";\nexport * from \"./landis-gyr-infocode\";\nexport * from \"./landis-gyr-mbus-status\";\nexport * from \"./device-samples\";\nexport * from \"./mass-flow-inlet\";\nexport * from \"./mass-flow-outlet\";\nexport * from \"./mass-flow\";\nexport * from \"./mass-inlet\";\nexport * from \"./mass-outlet\";\nexport * from \"./mass\";\nexport * from \"./mbus-format-string-signature\";\nexport * from \"./none\";\nexport * from \"./operating-time\";\nexport * from \"./place\";\nexport * from \"./power-inlet\";\nexport * from \"./power-outlet\";\nexport * from \"./power\";\nexport * from \"./pressure-inlet\";\nexport * from \"./pressure-outlet\";\nexport * from \"./pressure\";\nexport * from \"./radiator-temperature\";\nexport * from \"./reactive-energy\";\nexport * from \"./relative-humidity\";\nexport * from \"./remaining-battery-time\";\nexport * from \"./time-last-exact-overhearing-arrived\";\nexport * from \"./time-last-installation-mounted\";\nexport * from \"./time-last-possible-candidate-overhearing-arrived\";\nexport * from \"./time-last-sampled\";\nexport * from \"./time\";\nexport * from \"./volume-flow-inlet\";\nexport * from \"./volume-flow-outlet\";\nexport * from \"./volume-flow\";\nexport * from \"./volume-inlet\";\nexport * from \"./volume-outlet\";\nexport * from \"./volume-pulse-input-a\";\nexport * from \"./volume-pulse-input-b\";\nexport * from \"./volume\";\n","import { sqUnits, units } from \"../measures/noise\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const acousticNoise: RegisterDefinition = {\n id: \"acousticNoise\",\n measure: \"noise\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minAcousticNoise: RegisterDefinition = {\n id: \"minAcousticNoise\",\n measure: \"noise\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxAcousticNoise: RegisterDefinition = {\n id: \"maxAcousticNoise\",\n measure: \"noise\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgAcousticNoise: RegisterDefinition = {\n id: \"avgAcousticNoise\",\n measure: \"noise\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumAcousticNoise: RegisterDefinition = {\n id: \"sumAcousticNoise\",\n measure: \"noise\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntAcousticNoise: RegisterDefinition = {\n id: \"cntAcousticNoise\",\n measure: \"noise\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqAcousticNoise: RegisterDefinition = {\n id: \"ssqAcousticNoise\",\n measure: \"noise\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\"decibel\"];\n\nexport const sqUnits: ReadonlyArray<UnitId> = [\"decibel2\"];\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const ambientTemperature: RegisterDefinition = {\n id: \"ambientTemperature\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minAmbientTemperature: RegisterDefinition = {\n id: \"minAmbientTemperature\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxAmbientTemperature: RegisterDefinition = {\n id: \"maxAmbientTemperature\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgAmbientTemperature: RegisterDefinition = {\n id: \"avgAmbientTemperature\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumAmbientTemperature: RegisterDefinition = {\n id: \"sumAmbientTemperature\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntAmbientTemperature: RegisterDefinition = {\n id: \"cntAmbientTemperature\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqAmbientTemperature: RegisterDefinition = {\n id: \"ssqAmbientTemperature\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\"celcius\", \"kelvin\", \"fahrenheit\"];\n\nexport const sqUnits: ReadonlyArray<UnitId> = [\n \"celcius2\",\n \"kelvin2\",\n \"fahrenheit2\",\n];\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const consumer: RegisterDefinition = {\n id: \"consumer\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"unitless\"],\n immediate: true,\n};\n\nexport interface Consumer {\n id: number;\n name: string;\n consumerNumber: string;\n emailAddress: string;\n phoneNumber: string;\n}\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const coolingEnergyVolumeInInlet: RegisterDefinition = {\n id: \"coolingEnergyVolumeInInlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffCoolingEnergyVolumeInInlet: RegisterDefinition = {\n id: \"diffCoolingEnergyVolumeInInlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntCoolingEnergyVolumeInInlet: RegisterDefinition = {\n id: \"cntCoolingEnergyVolumeInInlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"milliWattHour\",\n \"wattHour\",\n \"kiloWattHour\",\n \"megaWattHour\",\n \"gigaWattHour\",\n \"calorie\",\n \"kiloCalorie\",\n \"megaCalorie\",\n \"gigaCalorie\",\n];\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const coolingEnergyVolumeInOutlet: RegisterDefinition = {\n id: \"coolingEnergyVolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffCoolingEnergyVolumeInOutlet: RegisterDefinition = {\n id: \"diffCoolingEnergyVolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntCoolingEnergyVolumeInOutlet: RegisterDefinition = {\n id: \"cntCoolingEnergyVolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const coolingEnergy: RegisterDefinition = {\n id: \"coolingEnergy\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffCoolingEnergy: RegisterDefinition = {\n id: \"diffCoolingEnergy\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntCoolingEnergy: RegisterDefinition = {\n id: \"cntCoolingEnergy\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const inletMinusOutletFlowTemperatureDifference: RegisterDefinition = {\n id: \"inletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minInletMinusOutletFlowTemperatureDifference: RegisterDefinition =\n {\n id: \"minInletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n };\n\nexport const maxInletMinusOutletFlowTemperatureDifference: RegisterDefinition =\n {\n id: \"maxInletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n };\n\nexport const avgInletMinusOutletFlowTemperatureDifference: RegisterDefinition =\n {\n id: \"avgInletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n };\n\nexport const sumInletMinusOutletFlowTemperatureDifference: RegisterDefinition =\n {\n id: \"sumInletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n };\n\nexport const cntInletMinusOutletFlowTemperatureDifference: RegisterDefinition =\n {\n id: \"cntInletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n };\n\nexport const ssqInletMinusOutletFlowTemperatureDifference: RegisterDefinition =\n {\n id: \"ssqInletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n };\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const kamdraftDeviceAddresses: RegisterDefinition = {\n id: \"kamdraftDeviceAddresses\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport interface KamdraftDeviceAddress {\n _t: \"kamdraft\";\n serialNumber: number;\n}\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const msisdnDeviceAddresses: RegisterDefinition = {\n id: \"msisdnDeviceAddresses\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport interface MsisdnDeviceAddress {\n _t: \"msisdn\";\n msisdn: number;\n}\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const tchlrDeviceAddresses: RegisterDefinition = {\n id: \"tchlrDeviceAddresses\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport interface TchlrDeviceAddress {\n _t: \"tchlr\";\n serialNumber: number;\n}\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const wMBusDeviceAddresses: RegisterDefinition = {\n id: \"wMBusDeviceAddresses\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport interface WMBusDeviceAddress {\n _t: \"wmbus\";\n manufacturerCode: number;\n serialNumber: number;\n version: number;\n type: number;\n}\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/time\";\n\nexport const deviceDateTime: RegisterDefinition = {\n id: \"deviceDateTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [];\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/time\";\n\nexport const deviceDate: RegisterDefinition = {\n id: \"deviceDate\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const deviceNominalDiameter: RegisterDefinition = {\n id: \"deviceNominalDiameter\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"unitless\"],\n immediate: true,\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const devicePermanentVolumeFlow: RegisterDefinition = {\n id: \"devicePermanentVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"instant\",\n units: [\"cubicMetersPerHour\"],\n immediate: true,\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const deviceRegisters: RegisterDefinition = {\n id: \"deviceRegisters\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const deviceSoftwareVersion: RegisterDefinition = {\n id: \"deviceSoftwareVersion\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/time\";\n\nexport const deviceTime: RegisterDefinition = {\n id: \"deviceTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const device: RegisterDefinition = {\n id: \"device\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport interface Device {\n id: number;\n deviceNumber: string;\n manufacturerName: string;\n modelName: string;\n}\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/infocode\";\n\nexport const diehlInfocode: RegisterDefinition = {\n id: \"diehlInfocode\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diehlInfocodeType1: RegisterDefinition = {\n id: \"diehlInfocodeType1\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diehlInfocodeType2: RegisterDefinition = {\n id: \"diehlInfocodeType2\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diehlInfocodeType3: RegisterDefinition = {\n id: \"diehlInfocodeType3\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diehlInfocodeType4: RegisterDefinition = {\n id: \"diehlInfocodeType4\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\"unitless\", \"json\"];\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const electricalEnergy: RegisterDefinition = {\n id: \"electricalEnergy\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffElectricalEnergy: RegisterDefinition = {\n id: \"diffElectricalEnergy\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntElectricalEnergy: RegisterDefinition = {\n id: \"cntElectricalEnergy\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const kamstrupE8Inlet: RegisterDefinition = {\n id: \"kamstrupE8Inlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units: [\"cubicMeterCelcius\", ...units],\n};\n\nexport const diffKamstrupE8Inlet: RegisterDefinition = {\n id: \"diffKamstrupE8Inlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units: [\"cubicMeterCelcius\", ...units],\n};\n\nexport const cntKamstrupE8Inlet: RegisterDefinition = {\n id: \"cntKamstrupE8Inlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const kamstrupE9Outlet: RegisterDefinition = {\n id: \"kamstrupE9Outlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units: [\"cubicMeterCelcius\", ...units],\n};\n\nexport const diffKamstrupE9Outlet: RegisterDefinition = {\n id: \"diffKamstrupE9Outlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units: [\"cubicMeterCelcius\", ...units],\n};\n\nexport const cntKamstrupE9Outlet: RegisterDefinition = {\n id: \"cntKamstrupE9Outlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/duration\";\n\nexport const errorOperatingTime: RegisterDefinition = {\n id: \"errorOperatingTime\",\n measure: \"duration\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffErrorOperatingTime: RegisterDefinition = {\n id: \"diffErrorOperatingTime\",\n measure: \"duration\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntErrorOperatingTime: RegisterDefinition = {\n id: \"cntErrorOperatingTime\",\n measure: \"duration\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"second\",\n \"minute\",\n \"hour\",\n \"day\",\n \"week\",\n \"month\",\n \"year\",\n];\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const auxFlowTemperature: RegisterDefinition = {\n id: \"auxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minAuxFlowTemperature: RegisterDefinition = {\n id: \"minAuxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxAuxFlowTemperature: RegisterDefinition = {\n id: \"maxAuxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgAuxFlowTemperature: RegisterDefinition = {\n id: \"avgAuxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumAuxFlowTemperature: RegisterDefinition = {\n id: \"sumAuxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntAuxFlowTemperature: RegisterDefinition = {\n id: \"cntAuxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqAuxFlowTemperature: RegisterDefinition = {\n id: \"ssqAuxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const inletFlowTemperature: RegisterDefinition = {\n id: \"inletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minInletFlowTemperature: RegisterDefinition = {\n id: \"minInletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxInletFlowTemperature: RegisterDefinition = {\n id: \"maxInletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgInletFlowTemperature: RegisterDefinition = {\n id: \"avgInletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumInletFlowTemperature: RegisterDefinition = {\n id: \"sumInletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntInletFlowTemperature: RegisterDefinition = {\n id: \"cntInletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqInletFlowTemperature: RegisterDefinition = {\n id: \"ssqInletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const outletFlowTemperature: RegisterDefinition = {\n id: \"outletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minOutletFlowTemperature: RegisterDefinition = {\n id: \"minOutletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxOutletFlowTemperature: RegisterDefinition = {\n id: \"maxOutletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgOutletFlowTemperature: RegisterDefinition = {\n id: \"avgOutletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumOutletFlowTemperature: RegisterDefinition = {\n id: \"sumOutletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntOutletFlowTemperature: RegisterDefinition = {\n id: \"cntOutletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqOutletFlowTemperature: RegisterDefinition = {\n id: \"ssqOutletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const flowTemperature: RegisterDefinition = {\n id: \"flowTemperature\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minFlowTemperature: RegisterDefinition = {\n id: \"minFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxFlowTemperature: RegisterDefinition = {\n id: \"maxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgFlowTemperature: RegisterDefinition = {\n id: \"avgFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumFlowTemperature: RegisterDefinition = {\n id: \"sumFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntFlowTemperature: RegisterDefinition = {\n id: \"cntFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqFlowTemperature: RegisterDefinition = {\n id: \"ssqFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const heatEnergyVolumeInInlet: RegisterDefinition = {\n id: \"heatEnergyVolumeInInlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyVolumeInInlet: RegisterDefinition = {\n id: \"diffHeatEnergyVolumeInInlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyVolumeInInlet: RegisterDefinition = {\n id: \"cntHeatEnergyVolumeInInlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const heatEnergyTariff1VolumeInInlet: RegisterDefinition = {\n id: \"heatEnergyTariff1VolumeInInlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyTariff1VolumeInInlet: RegisterDefinition = {\n id: \"diffHeatEnergyTariff1VolumeInInlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyTariff1VolumeInInlet: RegisterDefinition = {\n id: \"cntHeatEnergyTariff1VolumeInInlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const heatEnergyTariff2VolumeInInlet: RegisterDefinition = {\n id: \"heatEnergyTariff2VolumeInInlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyTariff2VolumeInInlet: RegisterDefinition = {\n id: \"diffHeatEnergyTariff2VolumeInInlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyTariff2VolumeInInlet: RegisterDefinition = {\n id: \"cntHeatEnergyTariff2VolumeInInlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const heatEnergyVolumeInOutlet: RegisterDefinition = {\n id: \"heatEnergyVolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyVolumeInOutlet: RegisterDefinition = {\n id: \"diffHeatEnergyVolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyVolumeInOutlet: RegisterDefinition = {\n id: \"cntHeatEnergyVolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const heatEnergyTariff1VolumeInOutlet: RegisterDefinition = {\n id: \"heatEnergyTariff1VolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyTariff1VolumeInOutlet: RegisterDefinition = {\n id: \"diffHeatEnergyTariff1VolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyTariff1VolumeInOutlet: RegisterDefinition = {\n id: \"cntHeatEnergyTariff1VolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const heatEnergyTariff2VolumeInOutlet: RegisterDefinition = {\n id: \"heatEnergyTariff2VolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyTariff2VolumeInOutlet: RegisterDefinition = {\n id: \"diffHeatEnergyTariff2VolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyTariff2VolumeInOutlet: RegisterDefinition = {\n id: \"cntHeatEnergyTariff2VolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const heatEnergy: RegisterDefinition = {\n id: \"heatEnergy\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergy: RegisterDefinition = {\n id: \"diffHeatEnergy\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergy: RegisterDefinition = {\n id: \"cntHeatEnergy\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const heatEnergyTariff1: RegisterDefinition = {\n id: \"heatEnergyTariff1\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyTariff1: RegisterDefinition = {\n id: \"diffHeatEnergyTariff1\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyTariff1: RegisterDefinition = {\n id: \"cntHeatEnergyTariff1\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const heatEnergyTariff2: RegisterDefinition = {\n id: \"heatEnergyTariff2\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyTariff2: RegisterDefinition = {\n id: \"diffHeatEnergyTariff2\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyTariff2: RegisterDefinition = {\n id: \"cntHeatEnergyTariff2\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/infocode\";\n\nexport const infocode: RegisterDefinition = {\n id: \"infocode\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const kamstrupModuleType: RegisterDefinition = {\n id: \"kamstrupModuleType\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/infocode\";\n\nexport const kamstrupMulticalInfocode: RegisterDefinition = {\n id: \"kamstrupMulticalInfocode\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType1: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType1\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType2: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType2\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType3: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType3\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType4: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType4\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType5: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType5\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType6: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType6\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType7: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType7\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/infocode\";\n\nexport const landisGyrInfocode: RegisterDefinition = {\n id: \"landisGyrInfocode\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const landisGyrInfocodeType1: RegisterDefinition = {\n id: \"landisGyrInfocodeType1\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const landisGyrInfocodeType2: RegisterDefinition = {\n id: \"landisGyrInfocodeType2\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/infocode\";\n\nexport const landisGyrMBusStatus: RegisterDefinition = {\n id: \"landisGyrMBusStatus\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const landisGyrMBusStatusType1: RegisterDefinition = {\n id: \"landisGyrMBusStatusType1\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const landisGyrMBusStatusType2: RegisterDefinition = {\n id: \"landisGyrMBusStatusType2\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { RegisterId } from \"../register-id\";\nimport { UnitId } from \"../unit-id\";\n\nexport const legacyDeviceSamples: RegisterDefinition = {\n id: \"legacyDeviceSamples\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport const deviceSamplesOnLastMount: RegisterDefinition = {\n id: \"deviceSamplesOnLastMount\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport const deviceSamplesOnLastUnmount: RegisterDefinition = {\n id: \"deviceSamplesOnLastUnmount\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport type DeviceSamples = DeviceSample[];\n\nexport interface DeviceSample {\n register: RegisterId;\n instantOrPeriodEnd: string;\n value: number;\n precision: number;\n unit: UnitId;\n}\n","import { sqUnits, units } from \"../measures/mass-flow\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const inletMassFlow: RegisterDefinition = {\n id: \"inletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minInletMassFlow: RegisterDefinition = {\n id: \"minInletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxInletMassFlow: RegisterDefinition = {\n id: \"maxInletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgInletMassFlow: RegisterDefinition = {\n id: \"avgInletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumInletMassFlow: RegisterDefinition = {\n id: \"sumInletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntInletMassFlow: RegisterDefinition = {\n id: \"cntInletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqInletMassFlow: RegisterDefinition = {\n id: \"ssqInletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"gramsPerSecond\",\n \"gramsPerMinute\",\n \"gramsPerHour\",\n \"kiloGramsPerSecond\",\n \"kiloGramsPerMinute\",\n \"kiloGramsPerHour\",\n];\n\nexport const sqUnits: ReadonlyArray<UnitId> = [\n \"gramsPerSecond2\",\n \"gramsPerMinute2\",\n \"gramsPerHour2\",\n \"kiloGramsPerSecond2\",\n \"kiloGramsPerMinute2\",\n \"kiloGramsPerHour2\",\n];\n","import { sqUnits, units } from \"../measures/mass-flow\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const outletMassFlow: RegisterDefinition = {\n id: \"outletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minOutletMassFlow: RegisterDefinition = {\n id: \"minOutletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxOutletMassFlow: RegisterDefinition = {\n id: \"maxOutletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgOutletMassFlow: RegisterDefinition = {\n id: \"avgOutletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumOutletMassFlow: RegisterDefinition = {\n id: \"sumOutletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntOutletMassFlow: RegisterDefinition = {\n id: \"cntOutletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqOutletMassFlow: RegisterDefinition = {\n id: \"ssqOutletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/mass-flow\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const massFlow: RegisterDefinition = {\n id: \"massFlow\",\n measure: \"massFlow\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minMassFlow: RegisterDefinition = {\n id: \"minMassFlow\",\n measure: \"massFlow\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxMassFlow: RegisterDefinition = {\n id: \"maxMassFlow\",\n measure: \"massFlow\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgMassFlow: RegisterDefinition = {\n id: \"avgMassFlow\",\n measure: \"massFlow\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumMassFlow: RegisterDefinition = {\n id: \"sumMassFlow\",\n measure: \"massFlow\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntMassFlow: RegisterDefinition = {\n id: \"cntMassFlow\",\n measure: \"massFlow\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqMassFlow: RegisterDefinition = {\n id: \"ssqMassFlow\",\n measure: \"massFlow\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/mass\";\n\nexport const inletMass: RegisterDefinition = {\n id: \"inletMass\",\n measure: \"mass\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffInletMass: RegisterDefinition = {\n id: \"diffInletMass\",\n measure: \"mass\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntInletMass: RegisterDefinition = {\n id: \"cntInletMass\",\n measure: \"mass\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"gram\",\n \"kiloGram\",\n \"tonne\",\n \"ounce\",\n \"pound\",\n \"ton\",\n];\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/mass\";\n\nexport const outletMass: RegisterDefinition = {\n id: \"outletMass\",\n measure: \"mass\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffOutletMass: RegisterDefinition = {\n id: \"diffOutletMass\",\n measure: \"mass\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntOutletMass: RegisterDefinition = {\n id: \"cntOutletMass\",\n measure: \"mass\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/mass\";\n\nexport const mass: RegisterDefinition = {\n id: \"mass\",\n measure: \"mass\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffMass: RegisterDefinition = {\n id: \"diffMass\",\n measure: \"mass\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntMass: RegisterDefinition = {\n id: \"cntMass\",\n measure: \"mass\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const mBusFormatStringSignature: RegisterDefinition = {\n id: \"mBusFormatStringSignature\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const none: RegisterDefinition = {\n id: \"none\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/duration\";\n\nexport const operatingTime: RegisterDefinition = {\n id: \"operatingTime\",\n measure: \"duration\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffOperatingTime: RegisterDefinition = {\n id: \"diffOperatingTime\",\n measure: \"duration\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntOperatingTime: RegisterDefinition = {\n id: \"cntOperatingTime\",\n measure: \"duration\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const place: RegisterDefinition = {\n id: \"place\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport const lastPlace: RegisterDefinition = {\n id: \"lastPlace\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport interface Place {\n id: number;\n name: string;\n placeNumber: string;\n longitude?: number;\n latitude?: number;\n address?: string;\n addressPlace?: string;\n addressPostalCode?: string;\n addressCity?: string;\n darAccessAddressId?: string;\n darAddressId?: string;\n}\n","import { sqUnits, units } from \"../measures/power\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const inletPower: RegisterDefinition = {\n id: \"inletPower\",\n measure: \"power\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minInletPower: RegisterDefinition = {\n id: \"minInletPower\",\n measure: \"power\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxInletPower: RegisterDefinition = {\n id: \"maxInletPower\",\n measure: \"power\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgInletPower: RegisterDefinition = {\n id: \"avgInletPower\",\n measure: \"power\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumInletPower: RegisterDefinition = {\n id: \"sumInletPower\",\n measure: \"power\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntInletPower: RegisterDefinition = {\n id: \"cntInletPower\",\n measure: \"power\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqInletPower: RegisterDefinition = {\n id: \"ssqInletPower\",\n measure: \"power\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"milliWatt\",\n \"watt\",\n \"kiloWatt\",\n \"megaWatt\",\n \"gigaWatt\",\n \"joulesPerSecond\",\n \"joulesPerMinute\",\n \"joulesPerHour\",\n];\n\nexport const sqUnits: ReadonlyArray<UnitId> = [\n \"milliWatt2\",\n \"watt2\",\n \"kiloWatt2\",\n \"megaWatt2\",\n \"gigaWatt2\",\n \"joulesPerSecond2\",\n \"joulesPerMinute2\",\n \"joulesPerHour2\",\n];\n","import { sqUnits, units } from \"../measures/power\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const outletPower: RegisterDefinition = {\n id: \"outletPower\",\n measure: \"power\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minOutletPower: RegisterDefinition = {\n id: \"minOutletPower\",\n measure: \"power\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxOutletPower: RegisterDefinition = {\n id: \"maxOutletPower\",\n measure: \"power\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgOutletPower: RegisterDefinition = {\n id: \"avgOutletPower\",\n measure: \"power\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumOutletPower: RegisterDefinition = {\n id: \"sumOutletPower\",\n measure: \"power\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntOutletPower: RegisterDefinition = {\n id: \"cntOutletPower\",\n measure: \"power\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqOutletPower: RegisterDefinition = {\n id: \"ssqOutletPower\",\n measure: \"power\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/power\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const power: RegisterDefinition = {\n id: \"power\",\n measure: \"power\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minPower: RegisterDefinition = {\n id: \"minPower\",\n measure: \"power\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxPower: RegisterDefinition = {\n id: \"maxPower\",\n measure: \"power\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgPower: RegisterDefinition = {\n id: \"avgPower\",\n measure: \"power\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumPower: RegisterDefinition = {\n id: \"sumPower\",\n measure: \"power\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntPower: RegisterDefinition = {\n id: \"cntPower\",\n measure: \"power\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqPower: RegisterDefinition = {\n id: \"ssqPower\",\n measure: \"power\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/pressure\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const inletPressure: RegisterDefinition = {\n id: \"inletPressure\",\n measure: \"pressure\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minInletPressure: RegisterDefinition = {\n id: \"minInletPressure\",\n measure: \"pressure\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxInletPressure: RegisterDefinition = {\n id: \"maxInletPressure\",\n measure: \"pressure\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgInletPressure: RegisterDefinition = {\n id: \"avgInletPressure\",\n measure: \"pressure\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumInletPressure: RegisterDefinition = {\n id: \"sumInletPressure\",\n measure: \"pressure\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntInletPressure: RegisterDefinition = {\n id: \"cntInletPressure\",\n measure: \"pressure\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqInletPressure: RegisterDefinition = {\n id: \"ssqInletPressure\",\n measure: \"pressure\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\"bar\", \"pascal\", \"kiloPascal\"];\n\nexport const sqUnits: ReadonlyArray<UnitId> = [\n \"bar2\",\n \"pascal2\",\n \"kiloPascal2\",\n];\n","import { sqUnits, units } from \"../measures/pressure\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const outletPressure: RegisterDefinition = {\n id: \"outletPressure\",\n measure: \"pressure\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minOutletPressure: RegisterDefinition = {\n id: \"minOutletPressure\",\n measure: \"pressure\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxOutletPressure: RegisterDefinition = {\n id: \"maxOutletPressure\",\n measure: \"pressure\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgOutletPressure: RegisterDefinition = {\n id: \"avgOutletPressure\",\n measure: \"pressure\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumOutletPressure: RegisterDefinition = {\n id: \"sumOutletPressure\",\n measure: \"pressure\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntOutletPressure: RegisterDefinition = {\n id: \"cntOutletPressure\",\n measure: \"pressure\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqOutletPressure: RegisterDefinition = {\n id: \"ssqOutletPressure\",\n measure: \"pressure\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/pressure\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const pressure: RegisterDefinition = {\n id: \"pressure\",\n measure: \"pressure\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minPressure: RegisterDefinition = {\n id: \"minPressure\",\n measure: \"pressure\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxPressure: RegisterDefinition = {\n id: \"maxPressure\",\n measure: \"pressure\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgPressure: RegisterDefinition = {\n id: \"avgPressure\",\n measure: \"pressure\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumPressure: RegisterDefinition = {\n id: \"sumPressure\",\n measure: \"pressure\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntPressure: RegisterDefinition = {\n id: \"cntPressure\",\n measure: \"pressure\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqPressure: RegisterDefinition = {\n id: \"ssqPressure\",\n measure: \"pressure\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const radiatorTemperature: RegisterDefinition = {\n id: \"radiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minRadiatorTemperature: RegisterDefinition = {\n id: \"minRadiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxRadiatorTemperature: RegisterDefinition = {\n id: \"maxRadiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgRadiatorTemperature: RegisterDefinition = {\n id: \"avgRadiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumRadiatorTemperature: RegisterDefinition = {\n id: \"sumRadiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntRadiatorTemperature: RegisterDefinition = {\n id: \"cntRadiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqRadiatorTemperature: RegisterDefinition = {\n id: \"ssqRadiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/reactive-energy\";\n\nexport const reactiveEnergy: RegisterDefinition = {\n id: \"reactiveEnergy\",\n measure: \"reactiveEnergy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffReactiveEnergy: RegisterDefinition = {\n id: \"diffReactiveEnergy\",\n measure: \"reactiveEnergy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntReactiveEnergy: RegisterDefinition = {\n id: \"cntReactiveEnergy\",\n measure: \"reactiveEnergy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"varHour\",\n \"kiloVarHour\",\n \"megaVarHour\",\n];\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const relativeHumidity: RegisterDefinition = {\n id: \"relativeHumidity\",\n measure: \"humidity\",\n aggregate: \"instant\",\n units: [\"percentage\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/duration\";\n\nexport const remainingBatteryTime: RegisterDefinition = {\n id: \"remainingBatteryTime\",\n measure: \"duration\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffRemainingBatteryTime: RegisterDefinition = {\n id: \"diffRemainingBatteryTime\",\n measure: \"duration\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntRemainingBatteryTime: RegisterDefinition = {\n id: \"cntRemainingBatteryTime\",\n measure: \"duration\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units as durationUnits } from \"../measures/duration\";\nimport { units as timeUnits } from \"../measures/time\";\n\nexport const timeAtLastExactOverhearingArrived: RegisterDefinition = {\n id: \"timeAtLastExactOverhearingArrived\",\n measure: \"time\",\n aggregate: \"instant\",\n units: timeUnits,\n immediate: true,\n};\n\nexport const timeSinceLastExactOverhearingArrived: RegisterDefinition = {\n id: \"timeSinceLastExactOverhearingArrived\",\n measure: \"duration\",\n aggregate: \"instant\",\n units: durationUnits,\n immediate: true,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units as durationUnits } from \"../measures/duration\";\nimport { units as timeUnits } from \"../measures/time\";\n\nexport const timeAtLastInstallationMounted: RegisterDefinition = {\n id: \"timeAtLastInstallationMounted\",\n measure: \"time\",\n aggregate: \"instant\",\n units: timeUnits,\n immediate: true,\n};\n\nexport const timeSinceLastInstallationMounted: RegisterDefinition = {\n id: \"timeSinceLastInstallationMounted\",\n measure: \"duration\",\n aggregate: \"instant\",\n units: durationUnits,\n immediate: true,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units as durationUnits } from \"../measures/duration\";\nimport { units as timeUnits } from \"../measures/time\";\n\nexport const timeAtLastPossibleCandidateOverhearingArrived: RegisterDefinition =\n {\n id: \"timeAtLastPossibleCandidateOverhearingArrived\",\n measure: \"time\",\n aggregate: \"instant\",\n units: timeUnits,\n immediate: true,\n };\n\nexport const timeSinceLastPossibleCandidateOverhearingArrived: RegisterDefinition =\n {\n id: \"timeSinceLastPossibleCandidateOverhearingArrived\",\n measure: \"duration\",\n aggregate: \"instant\",\n units: durationUnits,\n immediate: true,\n };\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units as durationUnits } from \"../measures/duration\";\nimport { units as timeUnits } from \"../measures/time\";\n\nexport const timeAtLastSampled: RegisterDefinition = {\n id: \"timeAtLastSampled\",\n measure: \"time\",\n aggregate: \"instant\",\n units: timeUnits,\n immediate: true,\n};\n\nexport const timeSinceLastSampled: RegisterDefinition = {\n id: \"timeSinceLastSampled\",\n measure: \"duration\",\n aggregate: \"instant\",\n units: durationUnits,\n immediate: true,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/time\";\n\nexport const basetime: RegisterDefinition = {\n id: \"basetime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n immediate: true,\n};\n\nexport const instantTime: RegisterDefinition = {\n id: \"instantTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n\nexport const periodStartTime: RegisterDefinition = {\n id: \"periodStartTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n\nexport const periodEndTime: RegisterDefinition = {\n id: \"periodEndTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n\nexport const instantOrPeriodStartTime: RegisterDefinition = {\n id: \"instantOrPeriodStartTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n\nexport const instantOrPeriodEndTime: RegisterDefinition = {\n id: \"instantOrPeriodEndTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n","import { sqUnits, units } from \"../measures/volume-flow\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const inletVolumeFlow: RegisterDefinition = {\n id: \"inletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minInletVolumeFlow: RegisterDefinition = {\n id: \"minInletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxInletVolumeFlow: RegisterDefinition = {\n id: \"maxInletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgInletVolumeFlow: RegisterDefinition = {\n id: \"avgInletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumInletVolumeFlow: RegisterDefinition = {\n id: \"sumInletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntInletVolumeFlow: RegisterDefinition = {\n id: \"cntInletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqInletVolumeFlow: RegisterDefinition = {\n id: \"ssqInletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"litersPerSecond\",\n \"litersPerMinute\",\n \"litersPerHour\",\n \"cubicMetersPerSecond\",\n \"cubicMetersPerMinute\",\n \"cubicMetersPerHour\",\n \"gallonsPerSecond\",\n \"gallonsPerMinute\",\n \"gallonsPerHour\",\n];\n\nexport const sqUnits: ReadonlyArray<UnitId> = [\n \"litersPerSecond2\",\n \"litersPerMinute2\",\n \"litersPerHour2\",\n \"cubicMetersPerSecond2\",\n \"cubicMetersPerMinute2\",\n \"cubicMetersPerHour2\",\n \"gallonsPerSecond2\",\n \"gallonsPerMinute2\",\n \"gallonsPerHour2\",\n];\n","import { sqUnits, units } from \"../measures/volume-flow\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const outletVolumeFlow: RegisterDefinition = {\n id: \"outletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minOutletVolumeFlow: RegisterDefinition = {\n id: \"minOutletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxOutletVolumeFlow: RegisterDefinition = {\n id: \"maxOutletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgOutletVolumeFlow: RegisterDefinition = {\n id: \"avgOutletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumOutletVolumeFlow: RegisterDefinition = {\n id: \"sumOutletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntOutletVolumeFlow: RegisterDefinition = {\n id: \"cntOutletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqOutletVolumeFlow: RegisterDefinition = {\n id: \"ssqOutletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/volume-flow\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const volumeFlow: RegisterDefinition = {\n id: \"volumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minVolumeFlow: RegisterDefinition = {\n id: \"minVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxVolumeFlow: RegisterDefinition = {\n id: \"maxVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgVolumeFlow: RegisterDefinition = {\n id: \"avgVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumVolumeFlow: RegisterDefinition = {\n id: \"sumVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntVolumeFlow: RegisterDefinition = {\n id: \"cntVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqVolumeFlow: RegisterDefinition = {\n id: \"ssqVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/volume\";\n\nexport const inletVolume: RegisterDefinition = {\n id: \"inletVolume\",\n measure: \"volume\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffInletVolume: RegisterDefinition = {\n id: \"diffInletVolume\",\n measure: \"volume\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntInletVolume: RegisterDefinition = {\n id: \"cntInletVolume\",\n measure: \"volume\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\"liter\", \"cubicMeter\", \"gallon\"];\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/volume\";\n\nexport const outletVolume: RegisterDefinition = {\n id: \"outletVolume\",\n measure: \"volume\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffOutletVolume: RegisterDefinition = {\n id: \"diffOutletVolume\",\n measure: \"volume\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntOutletVolume: RegisterDefinition = {\n id: \"cntOutletVolume\",\n measure: \"volume\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/volume\";\n\nexport const pulseInputAVolume: RegisterDefinition = {\n id: \"pulseInputAVolume\",\n measure: \"volume\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffPulseInputAVolume: RegisterDefinition = {\n id: \"diffPulseInputAVolume\",\n measure: \"volume\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntPulseInputAVolume: RegisterDefinition = {\n id: \"cntPulseInputAVolume\",\n measure: \"volume\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/volume\";\n\nexport const pulseInputBVolume: RegisterDefinition = {\n id: \"pulseInputBVolume\",\n measure: \"volume\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffPulseInputBVolume: RegisterDefinition = {\n id: \"diffPulseInputBVolume\",\n measure: \"volume\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntPulseInputBVolume: RegisterDefinition = {\n id: \"cntPulseInputBVolume\",\n measure: \"volume\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/volume\";\n\nexport const volume: RegisterDefinition = {\n id: \"volume\",\n measure: \"volume\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffVolume: RegisterDefinition = {\n id: \"diffVolume\",\n measure: \"volume\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntVolume: RegisterDefinition = {\n id: \"cntVolume\",\n measure: \"volume\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { DateTime } from \"luxon\";\nimport { Duration } from \"./luxon-local\";\n\nexport type Step = \"hour\" | \"day\" | \"week\" | \"month\" | \"year\";\n\nexport enum DayOfWeek {\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n Sunday = 7,\n}\n\nexport namespace Step {\n export function startOf(\n dateTime: DateTime,\n step: Step,\n firstDayOfWeek?: DayOfWeek,\n ): DateTime {\n if (step === \"week\") {\n const value = dateTime\n .startOf(\"day\")\n .set({ weekday: firstDayOfWeek ?? DayOfWeek.Monday });\n return value > dateTime ? value.minus({ days: 7 }) : value;\n } else {\n return dateTime.startOf(step);\n }\n }\n\n export function asDuration(step: Step, amount = 1): Duration {\n switch (step) {\n case \"hour\":\n return Duration.fromObject({ hours: amount });\n case \"day\":\n return Duration.fromObject({ days: amount });\n case \"week\":\n return Duration.fromObject({ days: 7 * amount });\n case \"month\":\n return Duration.fromObject({ months: amount });\n case \"year\":\n return Duration.fromObject({ years: amount });\n }\n }\n}\n","import { Duration } from \"luxon\";\n\nexport {Duration};","export const invariantDecimalSeparator = (0.1).toString()[1];\nexport const localeDecimalSeparator = (0.1).toLocaleString()[1];\n\nexport interface Parts {\n invariantPrecisionString: string;\n invariantCoefficientString: string;\n exponent: number;\n noOfCoefficientDecimals: number;\n}\n\nclass Formatter {\n public toPrecision(value: number, precision: number, maxDecimals?: number) {\n const absValue = Math.abs(value);\n const noOfIntegerDigits = Math.round(absValue).toString().length;\n\n // Adjust precision to maxDecimals\n if (maxDecimals !== undefined) {\n precision = Math.min(precision, noOfIntegerDigits + maxDecimals);\n }\n\n if (value === 0) {\n // (0).toPrecision(1) == \"0\"\n // (0).toPrecision(2) == \"0.0\"\n // (0).toPrecision(3) == \"0.00\"\n // However, we want:\n // Formatter.toPrecision(0, 0) == \"0\"\n // Formatter.toPrecision(0, 1) == \"0.0\"\n // Formatter.toPrecision(0, 2) == \"0.00\"\n return value.toPrecision(precision + 1);\n }\n\n if (absValue < 1) {\n return value.toPrecision(precision);\n }\n\n return precision >= noOfIntegerDigits\n ? value.toFixed(precision - noOfIntegerDigits)\n : value.toPrecision(precision);\n }\n\n public toLocalePrecision(\n value: number,\n precision: number,\n maxDecimals?: number,\n ) {\n return this.toPrecision(value, precision, maxDecimals).replace(\n invariantDecimalSeparator,\n localeDecimalSeparator,\n );\n }\n\n public toFixed(value: number, precision: number, maxDecimals?: number) {\n const parts = this.getParts(value, precision, maxDecimals);\n if (parts.noOfCoefficientDecimals < parts.exponent) {\n const number = parts.invariantCoefficientString.replace(\n invariantDecimalSeparator,\n \"\",\n );\n const zeros = parts.exponent - parts.noOfCoefficientDecimals;\n return `${number}${\"0\".repeat(zeros)}`;\n } else {\n return parts.invariantPrecisionString;\n }\n }\n\n public toLocaleFixed(\n value: number,\n precision: number,\n maxDecimals?: number,\n ) {\n return this.toFixed(value, precision, maxDecimals).replace(\n invariantDecimalSeparator,\n localeDecimalSeparator,\n );\n }\n\n public getParts(\n value: number,\n precision: number,\n maxDecimals?: number,\n ): Parts {\n const precisionString = this.toPrecision(value, precision, maxDecimals);\n if (precisionString.indexOf(\"e\") >= 0) {\n const match = /(.*)e([\\+-]\\d+)$/.exec(precisionString)!;\n const coefficientString = match[1];\n const exponent = parseInt(match[2]);\n const decimalSeparatorIndex = coefficientString.indexOf(\n invariantDecimalSeparator,\n );\n const noOfCoefficientDecimals =\n decimalSeparatorIndex >= 0\n ? coefficientString.length - decimalSeparatorIndex - 1\n : 0;\n return {\n invariantPrecisionString: precisionString,\n invariantCoefficientString: coefficientString,\n exponent,\n noOfCoefficientDecimals,\n };\n } else {\n const decimalSeparatorIndex = precisionString.indexOf(\n invariantDecimalSeparator,\n );\n const noOfCoefficientDecimals =\n decimalSeparatorIndex >= 0\n ? precisionString.length - decimalSeparatorIndex - 1\n : 0;\n return {\n invariantPrecisionString: precisionString,\n invariantCoefficientString: precisionString,\n exponent: 0,\n noOfCoefficientDecimals,\n };\n }\n }\n}\n\nexport const NumberFormatter = new Formatter();\n","import { TimeOrRule } from \"./time-or-rule\";\n\nexport type BreakdownRule = string;\nexport type BreakdownPeriod = \"hour\" | \"day\" | \"week\" | \"month\" | \"year\";\n\ninterface BreakdownRuleInit {\n origin: TimeOrRule;\n count: number;\n period: BreakdownPeriod;\n}\n\nexport function BreakdownRule(init: BreakdownRuleInit): BreakdownRule;\nexport function BreakdownRule(\n origin: TimeOrRule,\n count: number,\n period: BreakdownPeriod,\n): BreakdownRule;\nexport function BreakdownRule(...params: any[]): BreakdownRule {\n let init: BreakdownRuleInit;\n switch (params.length) {\n case 1:\n init = params[0];\n break;\n case 3:\n init = {\n origin: params[0],\n count: params[1],\n period: params[2],\n };\n break;\n default:\n throw new TypeError(\"Invalid breakdown rule format\");\n }\n const periodName =\n Math.abs(init.count) == 1 ? init.period : init.period + \"s\";\n return `${init.origin}/${init.count}${periodName}`;\n}\n\nexport namespace BreakdownRule {\n const regex = new RegExp(\"(.*)/([-+]?[0-9]+)(hour|day|week|month|year)s?\");\n export function split(rule: BreakdownRule) {\n const match = regex.exec(rule);\n if (!match) {\n throw new Error(\"Invalid breakdown rule format\");\n }\n const origin = match[1];\n const count = parseInt(match[2]);\n let period = match[3];\n if (period.endsWith(\"s\")) {\n period = period.substring(0, period.length - 1);\n }\n return {\n origin: TimeOrRule.parse(origin),\n count,\n period: period as BreakdownPeriod,\n };\n }\n}\n","import { DateTime } from \"luxon\";\n\nexport type TimeOrRule = Date | DateTime<true> | string;\n\nexport function TimeOrRule(\n timeOrRule: Date | DateTime<true> | string,\n): TimeOrRule {\n return timeOrRule;\n}\n\nexport namespace TimeOrRule {\n export function parse(input: string): TimeOrRule {\n const time = DateTime.fromISO(input, { setZone: true });\n return time.isValid ? time : input;\n }\n\n export function isTime(input: TimeOrRule): input is Date | DateTime<true> {\n return typeof input !== \"string\";\n }\n\n export function isRule(input: TimeOrRule): input is string {\n return typeof input === \"string\";\n }\n\n export function asDateTime(input: TimeOrRule): DateTime<true> | undefined {\n if (isRule(input)) {\n return;\n } else if (DateTime.isDateTime(input)) {\n return input;\n } else {\n const dateTime = DateTime.fromJSDate(input);\n if (!dateTime.isValid) {\n throw new Error(\"Unable to convert from Date to DateTime\");\n }\n return dateTime;\n }\n }\n\n export function toJSON(input: TimeOrRule) {\n return isRule(input) ? input : input.toJSON();\n }\n}\n","import { NumberFormatter, localeDecimalSeparator } from \"./number-formatter\";\n\nimport { invariantDecimalSeparator } from \".\";\n\nexport class PrecisionNumber {\n public value: number;\n public precision: number;\n constructor(value: number, precision?: number) {\n this.value = value;\n this.precision = precision ?? getPrecision(value);\n }\n\n static parse(input: string) {\n let normalized = input\n .trim()\n .replace(\",\", \".\")\n .replace(localeDecimalSeparator, invariantDecimalSeparator);\n if (normalized.endsWith(invariantDecimalSeparator)) {\n normalized += \"0\";\n }\n const value = parseFloat(normalized);\n let precision = normalized\n .replace(\".\", \"\")\n .replace(\"+\", \"\")\n .replace(\"-\", \"\").length;\n if (value > -1 && value < 1 && value !== 0 && precision > 1) {\n precision--;\n }\n return new PrecisionNumber(value, precision);\n }\n\n abs() {\n return new PrecisionNumber(Math.abs(this.value), this.precision);\n }\n\n plus(rhs: PrecisionNumber) {\n // The result should have the same number of decimal places as the minimum of the two inputs\n const lhs = this;\n const value = lhs.value + rhs.value;\n const decimals = Math.min(\n getNumberOfDecimalDigits(lhs.value, lhs.precision),\n getNumberOfDecimalDigits(rhs.value, rhs.precision),\n );\n const precision = getPrecision(value, decimals);\n return new PrecisionNumber(value, precision);\n }\n\n minus(rhs: PrecisionNumber) {\n // The result should have the same number of decimal places as the minimum of the two inputs\n const lhs = this;\n const value = lhs.value - rhs.value;\n const decimals = Math.min(\n getNumberOfDecimalDigits(lhs.value, lhs.precision),\n getNumberOfDecimalDigits(rhs.value, rhs.precision),\n );\n const precision = getPrecision(value, decimals);\n return new PrecisionNumber(value, precision);\n }\n\n valueOf() {\n return this.value;\n }\n\n toString() {\n return this.value.toString();\n }\n\n toFixed() {\n return NumberFormatter.toFixed(this.value, this.precision);\n }\n\n toPrecision() {\n return NumberFormatter.toPrecision(this.value, this.precision);\n }\n\n toLocaleFixed() {\n return NumberFormatter.toLocaleFixed(this.value, this.precision);\n }\n\n toLocalePrecision() {\n return NumberFormatter.toLocalePrecision(this.value, this.precision);\n }\n}\n\nfunction getPrecision(number: number, decimals?: number) {\n decimals ??= number.toString().split(\".\", 2)[1]?.length ?? 0;\n\n if (number == 0) {\n return 1;\n } else if (number > -1 && number < 1) {\n return decimals;\n } else {\n return Math.max(getNumberOfIntegralDigits(number) + decimals, 1);\n }\n}\n\nfunction getNumberOfDecimalDigits(number: number, precision: number) {\n if (number > -1 && number < 1) {\n return precision;\n } else {\n return precision - getNumberOfIntegralDigits(number);\n }\n}\n\nfunction getNumberOfIntegralDigits(number: number) {\n const abs = Math.abs(number);\n if (abs < 10) return 1;\n if (abs < 100) return 2;\n if (abs < 1000) return 3;\n if (abs < 10000) return 4;\n if (abs < 100000) return 5;\n if (abs < 1000000) return 6;\n if (abs < 10000000) return 7;\n if (abs < 100000000) return 8;\n if (abs < 1000000000) return 9;\n return Math.floor(Math.log10(abs) + 1);\n}\n","import { RegisterDefinition } from \"./register-definition\";\nimport { AggregateId } from \"./aggregate-id\";\nimport { RegisterId } from \"./register-id\";\nimport { getRegisterId } from \"./register-utils\";\n\nexport const aggregatePrefixes: { [aggregateId in AggregateId]: string } = {\n instant: \"\",\n diff: \"diff\",\n min: \"min\",\n max: \"max\",\n avg: \"avg\",\n sum: \"sum\",\n cnt: \"cnt\",\n ssq: \"ssq\",\n};\n\nclass Convention {\n public getAggregate(register: RegisterId | RegisterDefinition) {\n const registerId = getRegisterId(register);\n // Brute force all prefixes - if none of them, then it must be instant.\n for (const aggregateString of Object.keys(aggregatePrefixes)) {\n const aggregate = <AggregateId>aggregateString;\n const prefix = aggregatePrefixes[aggregate];\n if (prefix.length && isPrefix(registerId, prefix)) {\n // Not instant - it was any of the others.\n return aggregate;\n }\n }\n return \"instant\";\n }\n\n toInstant(register: RegisterId | RegisterDefinition) {\n const registerId = getRegisterId(register);\n for (const prefix of Object.values(aggregatePrefixes)) {\n if (prefix.length && isPrefix(registerId, prefix)) {\n const tail = registerId.substr(prefix.length);\n return <RegisterId>(tail[0].toLowerCase() + tail.substr(1));\n }\n }\n return registerId;\n }\n\n toAggregate(\n register: RegisterId | RegisterDefinition,\n aggregate: AggregateId,\n ) {\n const instantRegisterId = this.toInstant(register);\n if (aggregate === \"instant\") {\n return instantRegisterId;\n }\n const prefix = aggregatePrefixes[aggregate];\n return <RegisterId>(\n (prefix +\n instantRegisterId[0].toUpperCase() +\n instantRegisterId.substr(1))\n );\n }\n}\n\nexport function isPrefix(registerId: RegisterId, prefix: string) {\n return (\n registerId.startsWith(prefix) && isUppercase(registerId[prefix.length])\n );\n}\n\nfunction isUppercase(input: string) {\n return input.toUpperCase() === input;\n}\n\nexport const RegisterConvention = new Convention();\n","import { RegisterDefinition } from \"./register-definition\";\nimport { RegisterId } from \"./register-id\";\n\nexport function getRegisterId(register: RegisterId | RegisterDefinition) {\n return typeof register === \"string\" ? register : register.id;\n}\n","import { RegisterDefinition } from \"./register-definition\";\nimport { RegisterId } from \"./register-id\";\nimport { RegisterPack } from \"./register-pack\";\n\nclass Library {\n private definitions: Partial<{ [id in RegisterId]: RegisterDefinition }> =\n {};\n\n public add(...definitions: (RegisterDefinition | RegisterPack)[]) {\n for (const definition of definitions) {\n if (isDefinition(definition)) {\n this.tryAdd(definition);\n } else {\n for (const definitionInPack of Object.values(definition)) {\n this.tryAdd(definitionInPack);\n }\n }\n }\n }\n\n private tryAdd(definition: RegisterDefinition) {\n if (!this.definitions[definition.id]) {\n this.definitions[definition.id] = definition;\n return true;\n }\n return false;\n }\n\n public has(id: RegisterId) {\n return !!this.definitions[id];\n }\n\n public tryGet(id: RegisterId) {\n return this.definitions[id];\n }\n\n public get(id: RegisterId) {\n const definition = this.definitions[id];\n if (!definition) {\n throw new Error(`Defintion was not loaded for register ${id}`);\n }\n return definition;\n }\n\n public all() {\n return Object.values(this.definitions).map((x) => x!);\n }\n\n public reset() {\n this.definitions = {};\n }\n}\n\nfunction isDefinition(\n definitionOrPack: RegisterDefinition | RegisterPack,\n): definitionOrPack is RegisterDefinition {\n return !!(\n definitionOrPack.id &&\n definitionOrPack.aggregate &&\n definitionOrPack.units\n );\n}\n\nexport const RegisterLibrary = new Library();\n"],"names":[],"version":3,"file":"index.mjs.map"}
|
|
1
|
+
{"mappings":"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","sources":["src/index.ts","src/repository.ts","src/registers/index.ts","src/registers/acoustic-noise.ts","src/measures/noise.ts","src/registers/ambient-temperature.ts","src/measures/temperature.ts","src/registers/consumer.ts","src/registers/cooling-energy-inlet.ts","src/measures/energy.ts","src/registers/cooling-energy-outlet.ts","src/registers/cooling-energy.ts","src/registers/cooling.ts","src/registers/device-addresses-kamdraft.ts","src/registers/device-addresses-msisdn.ts","src/registers/device-addresses-tchlr.ts","src/registers/device-addresses-wmbus.ts","src/registers/device-date-time.ts","src/measures/time.ts","src/registers/device-date.ts","src/registers/device-nominal-diameter.ts","src/registers/device-permanent-volume-flow.ts","src/registers/device-registers.ts","src/registers/device-software-version.ts","src/registers/device-time.ts","src/registers/device.ts","src/registers/diehl-infocode.ts","src/measures/infocode.ts","src/registers/electrical-energy.ts","src/registers/energy-inlet.ts","src/registers/energy-outlet.ts","src/registers/error-operating-time.ts","src/measures/duration.ts","src/registers/flow-temperature-aux.ts","src/registers/flow-temperature-inlet.ts","src/registers/flow-temperature-outlet.ts","src/registers/flow-temperature.ts","src/registers/heat-energy-inlet.ts","src/registers/heat-energy-outlet.ts","src/registers/heat-energy.ts","src/registers/infocode.ts","src/registers/kamstrup-module-type.ts","src/registers/kamstrup-multical-infocode.ts","src/registers/landis-gyr-infocode.ts","src/registers/landis-gyr-mbus-status.ts","src/registers/device-samples.ts","src/registers/mass-flow-inlet.ts","src/measures/mass-flow.ts","src/registers/mass-flow-outlet.ts","src/registers/mass-flow.ts","src/registers/mass-inlet.ts","src/measures/mass.ts","src/registers/mass-outlet.ts","src/registers/mass.ts","src/registers/mbus-format-string-signature.ts","src/registers/none.ts","src/registers/operating-time.ts","src/registers/place.ts","src/registers/power-inlet.ts","src/measures/power.ts","src/registers/power-outlet.ts","src/registers/power.ts","src/registers/pressure-inlet.ts","src/measures/pressure.ts","src/registers/pressure-outlet.ts","src/registers/pressure.ts","src/registers/radiator-temperature.ts","src/registers/reactive-energy.ts","src/measures/reactive-energy.ts","src/registers/relative-humidity.ts","src/registers/remaining-battery-time.ts","src/registers/time-last-exact-overhearing-arrived.ts","src/registers/time-last-installation-mounted.ts","src/registers/time-last-possible-candidate-overhearing-arrived.ts","src/registers/time-last-sampled.ts","src/registers/time.ts","src/registers/volume-flow-inlet.ts","src/measures/volume-flow.ts","src/registers/volume-flow-outlet.ts","src/registers/volume-flow.ts","src/registers/volume-inlet.ts","src/measures/volume.ts","src/registers/volume-outlet.ts","src/registers/volume-pulse-input-a.ts","src/registers/volume-pulse-input-b.ts","src/registers/volume.ts","src/luxon-local.ts","src/step.ts","src/number-formatter.ts","src/breakdown-rule.ts","src/time-or-rule.ts","src/precision-number.ts","src/register-convention.ts","src/register-utils.ts","src/register-library.ts"],"sourcesContent":["import \"./repository\"; // We need this to get the Repository namespace exported\n\nimport * as registers2 from \"./registers\";\n\nimport { Duration } from \"./luxon-local\";\n\nexport { DayOfWeek, Step } from \"./step\";\nexport {\n NumberFormatter,\n invariantDecimalSeparator,\n localeDecimalSeparator,\n} from \"./number-formatter\";\n\nexport type { AggregateId } from \"./aggregate-id\";\nexport type { BreakdownPeriod } from \"./breakdown-rule\";\nexport { BreakdownRule } from \"./breakdown-rule\";\nexport type { MeasureId } from \"./measure-id\";\nexport type { Medium } from \"./medium\";\nexport type { Optional } from \"./optional\";\nexport { PrecisionNumber } from \"./precision-number\";\nexport { RegisterConvention } from \"./register-convention\";\nexport type { RegisterDefinition } from \"./register-definition\";\nexport type { RegisterId } from \"./register-id\";\nexport { RegisterLibrary } from \"./register-library\";\nexport { Repository } from \"./repository\";\nexport { TimeOrRule } from \"./time-or-rule\";\nexport type { UnitId } from \"./unit-id\";\n\nexport {\n // Hack to force parcel to include Duration in typings file\n // Otherwise it seems to only include DateTime in the dist/index.d.ts which causes the file to be invalid\n // The reason for the ./parcel-workaround file is that it seems to generate the expected typings.\n // If we did `import { Duration } from \"luxon\"` instead and re-exported it as `__Duration` then it seems invalid.\n Duration as __Duration,\n};\n\nexport const registers = { ...registers2 };\n","// This is clearly not correct but it provides some amazing type safety\nexport type Repository = \"some/repo\";\n\nexport function Repository(repo: string): Repository;\nexport function Repository(team: string, name: string): Repository;\nexport function Repository(repoOrTeam: string, name?: string): Repository {\n if (name) {\n return <Repository>`${repoOrTeam}/${name}`;\n } else if (repoOrTeam.indexOf(\"/\") > 0) {\n return <Repository>repoOrTeam;\n } else {\n throw new TypeError(\"Invalid repository format\");\n }\n}\n\nexport namespace Repository {\n export function split(repo: Repository) {\n const parts = repo.split(\"/\");\n return {\n team: parts[0],\n name: parts[1],\n };\n }\n}\n","export * from \"./acoustic-noise\";\nexport * from \"./ambient-temperature\";\nexport * from \"./consumer\";\nexport * from \"./cooling-energy-inlet\";\nexport * from \"./cooling-energy-outlet\";\nexport * from \"./cooling-energy\";\nexport * from \"./cooling\";\nexport * from \"./device-addresses-kamdraft\";\nexport * from \"./device-addresses-msisdn\";\nexport * from \"./device-addresses-tchlr\";\nexport * from \"./device-addresses-wmbus\";\nexport * from \"./device-date-time\";\nexport * from \"./device-date\";\nexport * from \"./device-nominal-diameter\";\nexport * from \"./device-permanent-volume-flow\";\nexport * from \"./device-registers\";\nexport * from \"./device-software-version\";\nexport * from \"./device-time\";\nexport * from \"./device\";\nexport * from \"./diehl-infocode\";\nexport * from \"./electrical-energy\";\nexport * from \"./energy-inlet\";\nexport * from \"./energy-outlet\";\nexport * from \"./error-operating-time\";\nexport * from \"./flow-temperature-aux\";\nexport * from \"./flow-temperature-inlet\";\nexport * from \"./flow-temperature-outlet\";\nexport * from \"./flow-temperature\";\nexport * from \"./heat-energy-inlet\";\nexport * from \"./heat-energy-outlet\";\nexport * from \"./heat-energy\";\nexport * from \"./infocode\";\nexport * from \"./kamstrup-module-type\";\nexport * from \"./kamstrup-multical-infocode\";\nexport * from \"./landis-gyr-infocode\";\nexport * from \"./landis-gyr-mbus-status\";\nexport * from \"./device-samples\";\nexport * from \"./mass-flow-inlet\";\nexport * from \"./mass-flow-outlet\";\nexport * from \"./mass-flow\";\nexport * from \"./mass-inlet\";\nexport * from \"./mass-outlet\";\nexport * from \"./mass\";\nexport * from \"./mbus-format-string-signature\";\nexport * from \"./none\";\nexport * from \"./operating-time\";\nexport * from \"./place\";\nexport * from \"./power-inlet\";\nexport * from \"./power-outlet\";\nexport * from \"./power\";\nexport * from \"./pressure-inlet\";\nexport * from \"./pressure-outlet\";\nexport * from \"./pressure\";\nexport * from \"./radiator-temperature\";\nexport * from \"./reactive-energy\";\nexport * from \"./relative-humidity\";\nexport * from \"./remaining-battery-time\";\nexport * from \"./time-last-exact-overhearing-arrived\";\nexport * from \"./time-last-installation-mounted\";\nexport * from \"./time-last-possible-candidate-overhearing-arrived\";\nexport * from \"./time-last-sampled\";\nexport * from \"./time\";\nexport * from \"./volume-flow-inlet\";\nexport * from \"./volume-flow-outlet\";\nexport * from \"./volume-flow\";\nexport * from \"./volume-inlet\";\nexport * from \"./volume-outlet\";\nexport * from \"./volume-pulse-input-a\";\nexport * from \"./volume-pulse-input-b\";\nexport * from \"./volume\";\n","import { sqUnits, units } from \"../measures/noise\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const acousticNoise: RegisterDefinition = {\n id: \"acousticNoise\",\n measure: \"noise\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minAcousticNoise: RegisterDefinition = {\n id: \"minAcousticNoise\",\n measure: \"noise\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxAcousticNoise: RegisterDefinition = {\n id: \"maxAcousticNoise\",\n measure: \"noise\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgAcousticNoise: RegisterDefinition = {\n id: \"avgAcousticNoise\",\n measure: \"noise\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumAcousticNoise: RegisterDefinition = {\n id: \"sumAcousticNoise\",\n measure: \"noise\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntAcousticNoise: RegisterDefinition = {\n id: \"cntAcousticNoise\",\n measure: \"noise\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqAcousticNoise: RegisterDefinition = {\n id: \"ssqAcousticNoise\",\n measure: \"noise\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\"decibel\"];\n\nexport const sqUnits: ReadonlyArray<UnitId> = [\"decibel2\"];\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const ambientTemperature: RegisterDefinition = {\n id: \"ambientTemperature\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minAmbientTemperature: RegisterDefinition = {\n id: \"minAmbientTemperature\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxAmbientTemperature: RegisterDefinition = {\n id: \"maxAmbientTemperature\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgAmbientTemperature: RegisterDefinition = {\n id: \"avgAmbientTemperature\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumAmbientTemperature: RegisterDefinition = {\n id: \"sumAmbientTemperature\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntAmbientTemperature: RegisterDefinition = {\n id: \"cntAmbientTemperature\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqAmbientTemperature: RegisterDefinition = {\n id: \"ssqAmbientTemperature\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\"celcius\", \"kelvin\", \"fahrenheit\"];\n\nexport const sqUnits: ReadonlyArray<UnitId> = [\n \"celcius2\",\n \"kelvin2\",\n \"fahrenheit2\",\n];\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const consumer: RegisterDefinition = {\n id: \"consumer\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"unitless\"],\n immediate: true,\n};\n\nexport interface Consumer {\n id: number;\n name: string;\n consumerNumber: string;\n emailAddress: string;\n phoneNumber: string;\n}\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const coolingEnergyVolumeInInlet: RegisterDefinition = {\n id: \"coolingEnergyVolumeInInlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffCoolingEnergyVolumeInInlet: RegisterDefinition = {\n id: \"diffCoolingEnergyVolumeInInlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntCoolingEnergyVolumeInInlet: RegisterDefinition = {\n id: \"cntCoolingEnergyVolumeInInlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"milliWattHour\",\n \"wattHour\",\n \"kiloWattHour\",\n \"megaWattHour\",\n \"gigaWattHour\",\n \"calorie\",\n \"kiloCalorie\",\n \"megaCalorie\",\n \"gigaCalorie\",\n];\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const coolingEnergyVolumeInOutlet: RegisterDefinition = {\n id: \"coolingEnergyVolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffCoolingEnergyVolumeInOutlet: RegisterDefinition = {\n id: \"diffCoolingEnergyVolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntCoolingEnergyVolumeInOutlet: RegisterDefinition = {\n id: \"cntCoolingEnergyVolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const coolingEnergy: RegisterDefinition = {\n id: \"coolingEnergy\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffCoolingEnergy: RegisterDefinition = {\n id: \"diffCoolingEnergy\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntCoolingEnergy: RegisterDefinition = {\n id: \"cntCoolingEnergy\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const inletMinusOutletFlowTemperatureDifference: RegisterDefinition = {\n id: \"inletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minInletMinusOutletFlowTemperatureDifference: RegisterDefinition =\n {\n id: \"minInletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n };\n\nexport const maxInletMinusOutletFlowTemperatureDifference: RegisterDefinition =\n {\n id: \"maxInletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n };\n\nexport const avgInletMinusOutletFlowTemperatureDifference: RegisterDefinition =\n {\n id: \"avgInletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n };\n\nexport const sumInletMinusOutletFlowTemperatureDifference: RegisterDefinition =\n {\n id: \"sumInletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n };\n\nexport const cntInletMinusOutletFlowTemperatureDifference: RegisterDefinition =\n {\n id: \"cntInletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n };\n\nexport const ssqInletMinusOutletFlowTemperatureDifference: RegisterDefinition =\n {\n id: \"ssqInletMinusOutletFlowTemperatureDifference\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n };\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const kamdraftDeviceAddresses: RegisterDefinition = {\n id: \"kamdraftDeviceAddresses\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport interface KamdraftDeviceAddress {\n _t: \"kamdraft\";\n serialNumber: number;\n}\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const msisdnDeviceAddresses: RegisterDefinition = {\n id: \"msisdnDeviceAddresses\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport interface MsisdnDeviceAddress {\n _t: \"msisdn\";\n msisdn: number;\n}\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const tchlrDeviceAddresses: RegisterDefinition = {\n id: \"tchlrDeviceAddresses\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport interface TchlrDeviceAddress {\n _t: \"tchlr\";\n serialNumber: number;\n}\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const wMBusDeviceAddresses: RegisterDefinition = {\n id: \"wMBusDeviceAddresses\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport interface WMBusDeviceAddress {\n _t: \"wmbus\";\n manufacturerCode: number;\n serialNumber: number;\n version: number;\n type: number;\n}\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/time\";\n\nexport const deviceDateTime: RegisterDefinition = {\n id: \"deviceDateTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [];\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/time\";\n\nexport const deviceDate: RegisterDefinition = {\n id: \"deviceDate\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const deviceNominalDiameter: RegisterDefinition = {\n id: \"deviceNominalDiameter\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"unitless\"],\n immediate: true,\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const devicePermanentVolumeFlow: RegisterDefinition = {\n id: \"devicePermanentVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"instant\",\n units: [\"cubicMetersPerHour\"],\n immediate: true,\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const deviceRegisters: RegisterDefinition = {\n id: \"deviceRegisters\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const deviceSoftwareVersion: RegisterDefinition = {\n id: \"deviceSoftwareVersion\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/time\";\n\nexport const deviceTime: RegisterDefinition = {\n id: \"deviceTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const device: RegisterDefinition = {\n id: \"device\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport interface Device {\n id: number;\n deviceNumber: string;\n manufacturerName: string;\n modelName: string;\n}\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/infocode\";\n\nexport const diehlInfocode: RegisterDefinition = {\n id: \"diehlInfocode\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diehlInfocodeType1: RegisterDefinition = {\n id: \"diehlInfocodeType1\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diehlInfocodeType2: RegisterDefinition = {\n id: \"diehlInfocodeType2\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diehlInfocodeType3: RegisterDefinition = {\n id: \"diehlInfocodeType3\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diehlInfocodeType4: RegisterDefinition = {\n id: \"diehlInfocodeType4\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\"unitless\", \"json\"];\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const electricalEnergy: RegisterDefinition = {\n id: \"electricalEnergy\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffElectricalEnergy: RegisterDefinition = {\n id: \"diffElectricalEnergy\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntElectricalEnergy: RegisterDefinition = {\n id: \"cntElectricalEnergy\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const kamstrupE8Inlet: RegisterDefinition = {\n id: \"kamstrupE8Inlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units: [\"cubicMeterCelcius\", ...units],\n};\n\nexport const diffKamstrupE8Inlet: RegisterDefinition = {\n id: \"diffKamstrupE8Inlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units: [\"cubicMeterCelcius\", ...units],\n};\n\nexport const cntKamstrupE8Inlet: RegisterDefinition = {\n id: \"cntKamstrupE8Inlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const kamstrupE9Outlet: RegisterDefinition = {\n id: \"kamstrupE9Outlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units: [\"cubicMeterCelcius\", ...units],\n};\n\nexport const diffKamstrupE9Outlet: RegisterDefinition = {\n id: \"diffKamstrupE9Outlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units: [\"cubicMeterCelcius\", ...units],\n};\n\nexport const cntKamstrupE9Outlet: RegisterDefinition = {\n id: \"cntKamstrupE9Outlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/duration\";\n\nexport const errorOperatingTime: RegisterDefinition = {\n id: \"errorOperatingTime\",\n measure: \"duration\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffErrorOperatingTime: RegisterDefinition = {\n id: \"diffErrorOperatingTime\",\n measure: \"duration\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntErrorOperatingTime: RegisterDefinition = {\n id: \"cntErrorOperatingTime\",\n measure: \"duration\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"second\",\n \"minute\",\n \"hour\",\n \"day\",\n \"week\",\n \"month\",\n \"year\",\n];\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const auxFlowTemperature: RegisterDefinition = {\n id: \"auxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minAuxFlowTemperature: RegisterDefinition = {\n id: \"minAuxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxAuxFlowTemperature: RegisterDefinition = {\n id: \"maxAuxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgAuxFlowTemperature: RegisterDefinition = {\n id: \"avgAuxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumAuxFlowTemperature: RegisterDefinition = {\n id: \"sumAuxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntAuxFlowTemperature: RegisterDefinition = {\n id: \"cntAuxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqAuxFlowTemperature: RegisterDefinition = {\n id: \"ssqAuxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const inletFlowTemperature: RegisterDefinition = {\n id: \"inletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minInletFlowTemperature: RegisterDefinition = {\n id: \"minInletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxInletFlowTemperature: RegisterDefinition = {\n id: \"maxInletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgInletFlowTemperature: RegisterDefinition = {\n id: \"avgInletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumInletFlowTemperature: RegisterDefinition = {\n id: \"sumInletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntInletFlowTemperature: RegisterDefinition = {\n id: \"cntInletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqInletFlowTemperature: RegisterDefinition = {\n id: \"ssqInletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const outletFlowTemperature: RegisterDefinition = {\n id: \"outletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minOutletFlowTemperature: RegisterDefinition = {\n id: \"minOutletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxOutletFlowTemperature: RegisterDefinition = {\n id: \"maxOutletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgOutletFlowTemperature: RegisterDefinition = {\n id: \"avgOutletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumOutletFlowTemperature: RegisterDefinition = {\n id: \"sumOutletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntOutletFlowTemperature: RegisterDefinition = {\n id: \"cntOutletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqOutletFlowTemperature: RegisterDefinition = {\n id: \"ssqOutletFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const flowTemperature: RegisterDefinition = {\n id: \"flowTemperature\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minFlowTemperature: RegisterDefinition = {\n id: \"minFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxFlowTemperature: RegisterDefinition = {\n id: \"maxFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgFlowTemperature: RegisterDefinition = {\n id: \"avgFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumFlowTemperature: RegisterDefinition = {\n id: \"sumFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntFlowTemperature: RegisterDefinition = {\n id: \"cntFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqFlowTemperature: RegisterDefinition = {\n id: \"ssqFlowTemperature\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const heatEnergyVolumeInInlet: RegisterDefinition = {\n id: \"heatEnergyVolumeInInlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyVolumeInInlet: RegisterDefinition = {\n id: \"diffHeatEnergyVolumeInInlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyVolumeInInlet: RegisterDefinition = {\n id: \"cntHeatEnergyVolumeInInlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const heatEnergyTariff1VolumeInInlet: RegisterDefinition = {\n id: \"heatEnergyTariff1VolumeInInlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyTariff1VolumeInInlet: RegisterDefinition = {\n id: \"diffHeatEnergyTariff1VolumeInInlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyTariff1VolumeInInlet: RegisterDefinition = {\n id: \"cntHeatEnergyTariff1VolumeInInlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const heatEnergyTariff2VolumeInInlet: RegisterDefinition = {\n id: \"heatEnergyTariff2VolumeInInlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyTariff2VolumeInInlet: RegisterDefinition = {\n id: \"diffHeatEnergyTariff2VolumeInInlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyTariff2VolumeInInlet: RegisterDefinition = {\n id: \"cntHeatEnergyTariff2VolumeInInlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const heatEnergyVolumeInOutlet: RegisterDefinition = {\n id: \"heatEnergyVolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyVolumeInOutlet: RegisterDefinition = {\n id: \"diffHeatEnergyVolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyVolumeInOutlet: RegisterDefinition = {\n id: \"cntHeatEnergyVolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const heatEnergyTariff1VolumeInOutlet: RegisterDefinition = {\n id: \"heatEnergyTariff1VolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyTariff1VolumeInOutlet: RegisterDefinition = {\n id: \"diffHeatEnergyTariff1VolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyTariff1VolumeInOutlet: RegisterDefinition = {\n id: \"cntHeatEnergyTariff1VolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const heatEnergyTariff2VolumeInOutlet: RegisterDefinition = {\n id: \"heatEnergyTariff2VolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyTariff2VolumeInOutlet: RegisterDefinition = {\n id: \"diffHeatEnergyTariff2VolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyTariff2VolumeInOutlet: RegisterDefinition = {\n id: \"cntHeatEnergyTariff2VolumeInOutlet\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/energy\";\n\nexport const heatEnergy: RegisterDefinition = {\n id: \"heatEnergy\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergy: RegisterDefinition = {\n id: \"diffHeatEnergy\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergy: RegisterDefinition = {\n id: \"cntHeatEnergy\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const heatEnergyTariff1: RegisterDefinition = {\n id: \"heatEnergyTariff1\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyTariff1: RegisterDefinition = {\n id: \"diffHeatEnergyTariff1\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyTariff1: RegisterDefinition = {\n id: \"cntHeatEnergyTariff1\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const heatEnergyTariff2: RegisterDefinition = {\n id: \"heatEnergyTariff2\",\n measure: \"energy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffHeatEnergyTariff2: RegisterDefinition = {\n id: \"diffHeatEnergyTariff2\",\n measure: \"energy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntHeatEnergyTariff2: RegisterDefinition = {\n id: \"cntHeatEnergyTariff2\",\n measure: \"energy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/infocode\";\n\nexport const infocode: RegisterDefinition = {\n id: \"infocode\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const kamstrupModuleType: RegisterDefinition = {\n id: \"kamstrupModuleType\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/infocode\";\n\nexport const kamstrupMulticalInfocode: RegisterDefinition = {\n id: \"kamstrupMulticalInfocode\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType1: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType1\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType2: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType2\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType3: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType3\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType4: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType4\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType5: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType5\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType6: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType6\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const kamstrupMulticalInfocodeType7: RegisterDefinition = {\n id: \"kamstrupMulticalInfocodeType7\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/infocode\";\n\nexport const landisGyrInfocode: RegisterDefinition = {\n id: \"landisGyrInfocode\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const landisGyrInfocodeType1: RegisterDefinition = {\n id: \"landisGyrInfocodeType1\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const landisGyrInfocodeType2: RegisterDefinition = {\n id: \"landisGyrInfocodeType2\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/infocode\";\n\nexport const landisGyrMBusStatus: RegisterDefinition = {\n id: \"landisGyrMBusStatus\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const landisGyrMBusStatusType1: RegisterDefinition = {\n id: \"landisGyrMBusStatusType1\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n\nexport const landisGyrMBusStatusType2: RegisterDefinition = {\n id: \"landisGyrMBusStatusType2\",\n measure: \"none\",\n aggregate: \"instant\",\n units,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { RegisterId } from \"../register-id\";\nimport { UnitId } from \"../unit-id\";\n\nexport const legacyDeviceSamples: RegisterDefinition = {\n id: \"legacyDeviceSamples\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport const deviceSamplesOnLastMount: RegisterDefinition = {\n id: \"deviceSamplesOnLastMount\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport const deviceSamplesOnLastUnmount: RegisterDefinition = {\n id: \"deviceSamplesOnLastUnmount\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport type DeviceSamples = DeviceSample[];\n\nexport interface DeviceSample {\n register: RegisterId;\n instantOrPeriodEnd: string;\n value: number;\n precision: number;\n unit: UnitId;\n}\n","import { sqUnits, units } from \"../measures/mass-flow\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const inletMassFlow: RegisterDefinition = {\n id: \"inletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minInletMassFlow: RegisterDefinition = {\n id: \"minInletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxInletMassFlow: RegisterDefinition = {\n id: \"maxInletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgInletMassFlow: RegisterDefinition = {\n id: \"avgInletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumInletMassFlow: RegisterDefinition = {\n id: \"sumInletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntInletMassFlow: RegisterDefinition = {\n id: \"cntInletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqInletMassFlow: RegisterDefinition = {\n id: \"ssqInletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"gramsPerSecond\",\n \"gramsPerMinute\",\n \"gramsPerHour\",\n \"kiloGramsPerSecond\",\n \"kiloGramsPerMinute\",\n \"kiloGramsPerHour\",\n];\n\nexport const sqUnits: ReadonlyArray<UnitId> = [\n \"gramsPerSecond2\",\n \"gramsPerMinute2\",\n \"gramsPerHour2\",\n \"kiloGramsPerSecond2\",\n \"kiloGramsPerMinute2\",\n \"kiloGramsPerHour2\",\n];\n","import { sqUnits, units } from \"../measures/mass-flow\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const outletMassFlow: RegisterDefinition = {\n id: \"outletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minOutletMassFlow: RegisterDefinition = {\n id: \"minOutletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxOutletMassFlow: RegisterDefinition = {\n id: \"maxOutletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgOutletMassFlow: RegisterDefinition = {\n id: \"avgOutletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumOutletMassFlow: RegisterDefinition = {\n id: \"sumOutletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntOutletMassFlow: RegisterDefinition = {\n id: \"cntOutletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqOutletMassFlow: RegisterDefinition = {\n id: \"ssqOutletMassFlow\",\n measure: \"massFlow\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/mass-flow\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const massFlow: RegisterDefinition = {\n id: \"massFlow\",\n measure: \"massFlow\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minMassFlow: RegisterDefinition = {\n id: \"minMassFlow\",\n measure: \"massFlow\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxMassFlow: RegisterDefinition = {\n id: \"maxMassFlow\",\n measure: \"massFlow\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgMassFlow: RegisterDefinition = {\n id: \"avgMassFlow\",\n measure: \"massFlow\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumMassFlow: RegisterDefinition = {\n id: \"sumMassFlow\",\n measure: \"massFlow\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntMassFlow: RegisterDefinition = {\n id: \"cntMassFlow\",\n measure: \"massFlow\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqMassFlow: RegisterDefinition = {\n id: \"ssqMassFlow\",\n measure: \"massFlow\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/mass\";\n\nexport const inletMass: RegisterDefinition = {\n id: \"inletMass\",\n measure: \"mass\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffInletMass: RegisterDefinition = {\n id: \"diffInletMass\",\n measure: \"mass\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntInletMass: RegisterDefinition = {\n id: \"cntInletMass\",\n measure: \"mass\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"gram\",\n \"kiloGram\",\n \"tonne\",\n \"ounce\",\n \"pound\",\n \"ton\",\n];\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/mass\";\n\nexport const outletMass: RegisterDefinition = {\n id: \"outletMass\",\n measure: \"mass\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffOutletMass: RegisterDefinition = {\n id: \"diffOutletMass\",\n measure: \"mass\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntOutletMass: RegisterDefinition = {\n id: \"cntOutletMass\",\n measure: \"mass\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/mass\";\n\nexport const mass: RegisterDefinition = {\n id: \"mass\",\n measure: \"mass\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffMass: RegisterDefinition = {\n id: \"diffMass\",\n measure: \"mass\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntMass: RegisterDefinition = {\n id: \"cntMass\",\n measure: \"mass\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const mBusFormatStringSignature: RegisterDefinition = {\n id: \"mBusFormatStringSignature\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const none: RegisterDefinition = {\n id: \"none\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/duration\";\n\nexport const operatingTime: RegisterDefinition = {\n id: \"operatingTime\",\n measure: \"duration\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffOperatingTime: RegisterDefinition = {\n id: \"diffOperatingTime\",\n measure: \"duration\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntOperatingTime: RegisterDefinition = {\n id: \"cntOperatingTime\",\n measure: \"duration\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const place: RegisterDefinition = {\n id: \"place\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport const lastPlace: RegisterDefinition = {\n id: \"lastPlace\",\n measure: \"none\",\n aggregate: \"instant\",\n units: [\"json\"],\n immediate: true,\n};\n\nexport interface Place {\n id: number;\n name: string;\n placeNumber: string;\n longitude?: number;\n latitude?: number;\n address?: string;\n addressPlace?: string;\n addressPostalCode?: string;\n addressCity?: string;\n darAccessAddressId?: string;\n darAddressId?: string;\n}\n","import { sqUnits, units } from \"../measures/power\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const inletPower: RegisterDefinition = {\n id: \"inletPower\",\n measure: \"power\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minInletPower: RegisterDefinition = {\n id: \"minInletPower\",\n measure: \"power\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxInletPower: RegisterDefinition = {\n id: \"maxInletPower\",\n measure: \"power\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgInletPower: RegisterDefinition = {\n id: \"avgInletPower\",\n measure: \"power\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumInletPower: RegisterDefinition = {\n id: \"sumInletPower\",\n measure: \"power\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntInletPower: RegisterDefinition = {\n id: \"cntInletPower\",\n measure: \"power\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqInletPower: RegisterDefinition = {\n id: \"ssqInletPower\",\n measure: \"power\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"milliWatt\",\n \"watt\",\n \"kiloWatt\",\n \"megaWatt\",\n \"gigaWatt\",\n \"joulesPerSecond\",\n \"joulesPerMinute\",\n \"joulesPerHour\",\n];\n\nexport const sqUnits: ReadonlyArray<UnitId> = [\n \"milliWatt2\",\n \"watt2\",\n \"kiloWatt2\",\n \"megaWatt2\",\n \"gigaWatt2\",\n \"joulesPerSecond2\",\n \"joulesPerMinute2\",\n \"joulesPerHour2\",\n];\n","import { sqUnits, units } from \"../measures/power\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const outletPower: RegisterDefinition = {\n id: \"outletPower\",\n measure: \"power\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minOutletPower: RegisterDefinition = {\n id: \"minOutletPower\",\n measure: \"power\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxOutletPower: RegisterDefinition = {\n id: \"maxOutletPower\",\n measure: \"power\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgOutletPower: RegisterDefinition = {\n id: \"avgOutletPower\",\n measure: \"power\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumOutletPower: RegisterDefinition = {\n id: \"sumOutletPower\",\n measure: \"power\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntOutletPower: RegisterDefinition = {\n id: \"cntOutletPower\",\n measure: \"power\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqOutletPower: RegisterDefinition = {\n id: \"ssqOutletPower\",\n measure: \"power\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/power\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const power: RegisterDefinition = {\n id: \"power\",\n measure: \"power\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minPower: RegisterDefinition = {\n id: \"minPower\",\n measure: \"power\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxPower: RegisterDefinition = {\n id: \"maxPower\",\n measure: \"power\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgPower: RegisterDefinition = {\n id: \"avgPower\",\n measure: \"power\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumPower: RegisterDefinition = {\n id: \"sumPower\",\n measure: \"power\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntPower: RegisterDefinition = {\n id: \"cntPower\",\n measure: \"power\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqPower: RegisterDefinition = {\n id: \"ssqPower\",\n measure: \"power\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/pressure\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const inletPressure: RegisterDefinition = {\n id: \"inletPressure\",\n measure: \"pressure\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minInletPressure: RegisterDefinition = {\n id: \"minInletPressure\",\n measure: \"pressure\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxInletPressure: RegisterDefinition = {\n id: \"maxInletPressure\",\n measure: \"pressure\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgInletPressure: RegisterDefinition = {\n id: \"avgInletPressure\",\n measure: \"pressure\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumInletPressure: RegisterDefinition = {\n id: \"sumInletPressure\",\n measure: \"pressure\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntInletPressure: RegisterDefinition = {\n id: \"cntInletPressure\",\n measure: \"pressure\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqInletPressure: RegisterDefinition = {\n id: \"ssqInletPressure\",\n measure: \"pressure\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\"bar\", \"pascal\", \"kiloPascal\"];\n\nexport const sqUnits: ReadonlyArray<UnitId> = [\n \"bar2\",\n \"pascal2\",\n \"kiloPascal2\",\n];\n","import { sqUnits, units } from \"../measures/pressure\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const outletPressure: RegisterDefinition = {\n id: \"outletPressure\",\n measure: \"pressure\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minOutletPressure: RegisterDefinition = {\n id: \"minOutletPressure\",\n measure: \"pressure\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxOutletPressure: RegisterDefinition = {\n id: \"maxOutletPressure\",\n measure: \"pressure\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgOutletPressure: RegisterDefinition = {\n id: \"avgOutletPressure\",\n measure: \"pressure\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumOutletPressure: RegisterDefinition = {\n id: \"sumOutletPressure\",\n measure: \"pressure\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntOutletPressure: RegisterDefinition = {\n id: \"cntOutletPressure\",\n measure: \"pressure\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqOutletPressure: RegisterDefinition = {\n id: \"ssqOutletPressure\",\n measure: \"pressure\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/pressure\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const pressure: RegisterDefinition = {\n id: \"pressure\",\n measure: \"pressure\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minPressure: RegisterDefinition = {\n id: \"minPressure\",\n measure: \"pressure\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxPressure: RegisterDefinition = {\n id: \"maxPressure\",\n measure: \"pressure\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgPressure: RegisterDefinition = {\n id: \"avgPressure\",\n measure: \"pressure\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumPressure: RegisterDefinition = {\n id: \"sumPressure\",\n measure: \"pressure\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntPressure: RegisterDefinition = {\n id: \"cntPressure\",\n measure: \"pressure\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqPressure: RegisterDefinition = {\n id: \"ssqPressure\",\n measure: \"pressure\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/temperature\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const radiatorTemperature: RegisterDefinition = {\n id: \"radiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minRadiatorTemperature: RegisterDefinition = {\n id: \"minRadiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxRadiatorTemperature: RegisterDefinition = {\n id: \"maxRadiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgRadiatorTemperature: RegisterDefinition = {\n id: \"avgRadiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumRadiatorTemperature: RegisterDefinition = {\n id: \"sumRadiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntRadiatorTemperature: RegisterDefinition = {\n id: \"cntRadiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqRadiatorTemperature: RegisterDefinition = {\n id: \"ssqRadiatorTemperature\",\n measure: \"temperature\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/reactive-energy\";\n\nexport const reactiveEnergy: RegisterDefinition = {\n id: \"reactiveEnergy\",\n measure: \"reactiveEnergy\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffReactiveEnergy: RegisterDefinition = {\n id: \"diffReactiveEnergy\",\n measure: \"reactiveEnergy\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntReactiveEnergy: RegisterDefinition = {\n id: \"cntReactiveEnergy\",\n measure: \"reactiveEnergy\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"varHour\",\n \"kiloVarHour\",\n \"megaVarHour\",\n];\n","import { RegisterDefinition } from \"../register-definition\";\n\nexport const relativeHumidity: RegisterDefinition = {\n id: \"relativeHumidity\",\n measure: \"humidity\",\n aggregate: \"instant\",\n units: [\"percentage\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/duration\";\n\nexport const remainingBatteryTime: RegisterDefinition = {\n id: \"remainingBatteryTime\",\n measure: \"duration\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffRemainingBatteryTime: RegisterDefinition = {\n id: \"diffRemainingBatteryTime\",\n measure: \"duration\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntRemainingBatteryTime: RegisterDefinition = {\n id: \"cntRemainingBatteryTime\",\n measure: \"duration\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units as durationUnits } from \"../measures/duration\";\nimport { units as timeUnits } from \"../measures/time\";\n\nexport const timeAtLastExactOverhearingArrived: RegisterDefinition = {\n id: \"timeAtLastExactOverhearingArrived\",\n measure: \"time\",\n aggregate: \"instant\",\n units: timeUnits,\n immediate: true,\n};\n\nexport const timeSinceLastExactOverhearingArrived: RegisterDefinition = {\n id: \"timeSinceLastExactOverhearingArrived\",\n measure: \"duration\",\n aggregate: \"instant\",\n units: durationUnits,\n immediate: true,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units as durationUnits } from \"../measures/duration\";\nimport { units as timeUnits } from \"../measures/time\";\n\nexport const timeAtLastInstallationMounted: RegisterDefinition = {\n id: \"timeAtLastInstallationMounted\",\n measure: \"time\",\n aggregate: \"instant\",\n units: timeUnits,\n immediate: true,\n};\n\nexport const timeSinceLastInstallationMounted: RegisterDefinition = {\n id: \"timeSinceLastInstallationMounted\",\n measure: \"duration\",\n aggregate: \"instant\",\n units: durationUnits,\n immediate: true,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units as durationUnits } from \"../measures/duration\";\nimport { units as timeUnits } from \"../measures/time\";\n\nexport const timeAtLastPossibleCandidateOverhearingArrived: RegisterDefinition =\n {\n id: \"timeAtLastPossibleCandidateOverhearingArrived\",\n measure: \"time\",\n aggregate: \"instant\",\n units: timeUnits,\n immediate: true,\n };\n\nexport const timeSinceLastPossibleCandidateOverhearingArrived: RegisterDefinition =\n {\n id: \"timeSinceLastPossibleCandidateOverhearingArrived\",\n measure: \"duration\",\n aggregate: \"instant\",\n units: durationUnits,\n immediate: true,\n };\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units as durationUnits } from \"../measures/duration\";\nimport { units as timeUnits } from \"../measures/time\";\n\nexport const timeAtLastSampled: RegisterDefinition = {\n id: \"timeAtLastSampled\",\n measure: \"time\",\n aggregate: \"instant\",\n units: timeUnits,\n immediate: true,\n};\n\nexport const timeSinceLastSampled: RegisterDefinition = {\n id: \"timeSinceLastSampled\",\n measure: \"duration\",\n aggregate: \"instant\",\n units: durationUnits,\n immediate: true,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/time\";\n\nexport const basetime: RegisterDefinition = {\n id: \"basetime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n immediate: true,\n};\n\nexport const instantTime: RegisterDefinition = {\n id: \"instantTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n\nexport const periodStartTime: RegisterDefinition = {\n id: \"periodStartTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n\nexport const periodEndTime: RegisterDefinition = {\n id: \"periodEndTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n\nexport const instantOrPeriodStartTime: RegisterDefinition = {\n id: \"instantOrPeriodStartTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n\nexport const instantOrPeriodEndTime: RegisterDefinition = {\n id: \"instantOrPeriodEndTime\",\n measure: \"time\",\n aggregate: \"instant\",\n units,\n};\n","import { sqUnits, units } from \"../measures/volume-flow\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const inletVolumeFlow: RegisterDefinition = {\n id: \"inletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minInletVolumeFlow: RegisterDefinition = {\n id: \"minInletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxInletVolumeFlow: RegisterDefinition = {\n id: \"maxInletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgInletVolumeFlow: RegisterDefinition = {\n id: \"avgInletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumInletVolumeFlow: RegisterDefinition = {\n id: \"sumInletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntInletVolumeFlow: RegisterDefinition = {\n id: \"cntInletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqInletVolumeFlow: RegisterDefinition = {\n id: \"ssqInletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\n \"litersPerSecond\",\n \"litersPerMinute\",\n \"litersPerHour\",\n \"cubicMetersPerSecond\",\n \"cubicMetersPerMinute\",\n \"cubicMetersPerHour\",\n \"gallonsPerSecond\",\n \"gallonsPerMinute\",\n \"gallonsPerHour\",\n];\n\nexport const sqUnits: ReadonlyArray<UnitId> = [\n \"litersPerSecond2\",\n \"litersPerMinute2\",\n \"litersPerHour2\",\n \"cubicMetersPerSecond2\",\n \"cubicMetersPerMinute2\",\n \"cubicMetersPerHour2\",\n \"gallonsPerSecond2\",\n \"gallonsPerMinute2\",\n \"gallonsPerHour2\",\n];\n","import { sqUnits, units } from \"../measures/volume-flow\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const outletVolumeFlow: RegisterDefinition = {\n id: \"outletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minOutletVolumeFlow: RegisterDefinition = {\n id: \"minOutletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxOutletVolumeFlow: RegisterDefinition = {\n id: \"maxOutletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgOutletVolumeFlow: RegisterDefinition = {\n id: \"avgOutletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumOutletVolumeFlow: RegisterDefinition = {\n id: \"sumOutletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntOutletVolumeFlow: RegisterDefinition = {\n id: \"cntOutletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqOutletVolumeFlow: RegisterDefinition = {\n id: \"ssqOutletVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { sqUnits, units } from \"../measures/volume-flow\";\n\nimport { RegisterDefinition } from \"../register-definition\";\n\nexport const volumeFlow: RegisterDefinition = {\n id: \"volumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"instant\",\n units,\n};\n\nexport const minVolumeFlow: RegisterDefinition = {\n id: \"minVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"min\",\n units,\n};\n\nexport const maxVolumeFlow: RegisterDefinition = {\n id: \"maxVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"max\",\n units,\n};\n\nexport const avgVolumeFlow: RegisterDefinition = {\n id: \"avgVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"avg\",\n units,\n};\n\nexport const sumVolumeFlow: RegisterDefinition = {\n id: \"sumVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"sum\",\n units,\n};\n\nexport const cntVolumeFlow: RegisterDefinition = {\n id: \"cntVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n\nexport const ssqVolumeFlow: RegisterDefinition = {\n id: \"ssqVolumeFlow\",\n measure: \"volumeFlow\",\n aggregate: \"ssq\",\n units: sqUnits,\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/volume\";\n\nexport const inletVolume: RegisterDefinition = {\n id: \"inletVolume\",\n measure: \"volume\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffInletVolume: RegisterDefinition = {\n id: \"diffInletVolume\",\n measure: \"volume\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntInletVolume: RegisterDefinition = {\n id: \"cntInletVolume\",\n measure: \"volume\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { UnitId } from \"../unit-id\";\n\nexport const units: ReadonlyArray<UnitId> = [\"liter\", \"cubicMeter\", \"gallon\"];\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/volume\";\n\nexport const outletVolume: RegisterDefinition = {\n id: \"outletVolume\",\n measure: \"volume\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffOutletVolume: RegisterDefinition = {\n id: \"diffOutletVolume\",\n measure: \"volume\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntOutletVolume: RegisterDefinition = {\n id: \"cntOutletVolume\",\n measure: \"volume\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/volume\";\n\nexport const pulseInputAVolume: RegisterDefinition = {\n id: \"pulseInputAVolume\",\n measure: \"volume\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffPulseInputAVolume: RegisterDefinition = {\n id: \"diffPulseInputAVolume\",\n measure: \"volume\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntPulseInputAVolume: RegisterDefinition = {\n id: \"cntPulseInputAVolume\",\n measure: \"volume\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/volume\";\n\nexport const pulseInputBVolume: RegisterDefinition = {\n id: \"pulseInputBVolume\",\n measure: \"volume\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffPulseInputBVolume: RegisterDefinition = {\n id: \"diffPulseInputBVolume\",\n measure: \"volume\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntPulseInputBVolume: RegisterDefinition = {\n id: \"cntPulseInputBVolume\",\n measure: \"volume\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { RegisterDefinition } from \"../register-definition\";\nimport { units } from \"../measures/volume\";\n\nexport const volume: RegisterDefinition = {\n id: \"volume\",\n measure: \"volume\",\n aggregate: \"instant\",\n units,\n};\n\nexport const diffVolume: RegisterDefinition = {\n id: \"diffVolume\",\n measure: \"volume\",\n aggregate: \"diff\",\n units,\n};\n\nexport const cntVolume: RegisterDefinition = {\n id: \"cntVolume\",\n measure: \"volume\",\n aggregate: \"cnt\",\n units: [\"unitless\"],\n};\n","import { Duration } from \"luxon\";\n\nexport {Duration};","import { DateTime } from \"luxon\";\nimport { Duration } from \"./luxon-local\";\n\nexport type Step = \"hour\" | \"day\" | \"week\" | \"month\" | \"year\";\n\nexport enum DayOfWeek {\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n Sunday = 7,\n}\n\nexport namespace Step {\n export function startOf(\n dateTime: DateTime,\n step: Step,\n firstDayOfWeek?: DayOfWeek,\n ): DateTime {\n if (step === \"week\") {\n const value = dateTime\n .startOf(\"day\")\n .set({ weekday: firstDayOfWeek ?? DayOfWeek.Monday });\n return value > dateTime ? value.minus({ days: 7 }) : value;\n } else {\n return dateTime.startOf(step);\n }\n }\n\n export function asDuration(step: Step, amount = 1): Duration {\n switch (step) {\n case \"hour\":\n return Duration.fromObject({ hours: amount });\n case \"day\":\n return Duration.fromObject({ days: amount });\n case \"week\":\n return Duration.fromObject({ days: 7 * amount });\n case \"month\":\n return Duration.fromObject({ months: amount });\n case \"year\":\n return Duration.fromObject({ years: amount });\n }\n }\n}\n","export const invariantDecimalSeparator = (0.1).toString()[1];\nexport const localeDecimalSeparator = (0.1).toLocaleString()[1];\n\nexport interface Parts {\n invariantPrecisionString: string;\n invariantCoefficientString: string;\n exponent: number;\n noOfCoefficientDecimals: number;\n}\n\nclass Formatter {\n public toPrecision(value: number, precision: number, maxDecimals?: number) {\n const absValue = Math.abs(value);\n const noOfIntegerDigits = Math.round(absValue).toString().length;\n\n // Adjust precision to maxDecimals\n if (maxDecimals !== undefined) {\n precision = Math.min(precision, noOfIntegerDigits + maxDecimals);\n }\n\n if (value === 0) {\n // (0).toPrecision(1) == \"0\"\n // (0).toPrecision(2) == \"0.0\"\n // (0).toPrecision(3) == \"0.00\"\n // However, we want:\n // Formatter.toPrecision(0, 0) == \"0\"\n // Formatter.toPrecision(0, 1) == \"0.0\"\n // Formatter.toPrecision(0, 2) == \"0.00\"\n return value.toPrecision(precision + 1);\n }\n\n if (absValue < 1) {\n return value.toPrecision(precision);\n }\n\n return precision >= noOfIntegerDigits\n ? value.toFixed(precision - noOfIntegerDigits)\n : value.toPrecision(precision);\n }\n\n public toLocalePrecision(\n value: number,\n precision: number,\n maxDecimals?: number,\n ) {\n return this.toPrecision(value, precision, maxDecimals).replace(\n invariantDecimalSeparator,\n localeDecimalSeparator,\n );\n }\n\n public toFixed(value: number, precision: number, maxDecimals?: number) {\n const parts = this.getParts(value, precision, maxDecimals);\n if (parts.noOfCoefficientDecimals < parts.exponent) {\n const number = parts.invariantCoefficientString.replace(\n invariantDecimalSeparator,\n \"\",\n );\n const zeros = parts.exponent - parts.noOfCoefficientDecimals;\n return `${number}${\"0\".repeat(zeros)}`;\n } else {\n return parts.invariantPrecisionString;\n }\n }\n\n public toLocaleFixed(\n value: number,\n precision: number,\n maxDecimals?: number,\n ) {\n return this.toFixed(value, precision, maxDecimals).replace(\n invariantDecimalSeparator,\n localeDecimalSeparator,\n );\n }\n\n public getParts(\n value: number,\n precision: number,\n maxDecimals?: number,\n ): Parts {\n const precisionString = this.toPrecision(value, precision, maxDecimals);\n if (precisionString.indexOf(\"e\") >= 0) {\n const match = /(.*)e([\\+-]\\d+)$/.exec(precisionString)!;\n const coefficientString = match[1];\n const exponent = parseInt(match[2]);\n const decimalSeparatorIndex = coefficientString.indexOf(\n invariantDecimalSeparator,\n );\n const noOfCoefficientDecimals =\n decimalSeparatorIndex >= 0\n ? coefficientString.length - decimalSeparatorIndex - 1\n : 0;\n return {\n invariantPrecisionString: precisionString,\n invariantCoefficientString: coefficientString,\n exponent,\n noOfCoefficientDecimals,\n };\n } else {\n const decimalSeparatorIndex = precisionString.indexOf(\n invariantDecimalSeparator,\n );\n const noOfCoefficientDecimals =\n decimalSeparatorIndex >= 0\n ? precisionString.length - decimalSeparatorIndex - 1\n : 0;\n return {\n invariantPrecisionString: precisionString,\n invariantCoefficientString: precisionString,\n exponent: 0,\n noOfCoefficientDecimals,\n };\n }\n }\n}\n\nexport const NumberFormatter = new Formatter();\n","import { TimeOrRule } from \"./time-or-rule\";\n\nexport type BreakdownRule = string;\nexport type BreakdownPeriod = \"hour\" | \"day\" | \"week\" | \"month\" | \"year\";\n\ninterface BreakdownRuleInit {\n origin: TimeOrRule;\n count: number;\n period: BreakdownPeriod;\n}\n\nexport function BreakdownRule(init: BreakdownRuleInit): BreakdownRule;\nexport function BreakdownRule(\n origin: TimeOrRule,\n count: number,\n period: BreakdownPeriod,\n): BreakdownRule;\nexport function BreakdownRule(...params: any[]): BreakdownRule {\n let init: BreakdownRuleInit;\n switch (params.length) {\n case 1:\n init = params[0];\n break;\n case 3:\n init = {\n origin: params[0],\n count: params[1],\n period: params[2],\n };\n break;\n default:\n throw new TypeError(\"Invalid breakdown rule format\");\n }\n const periodName =\n Math.abs(init.count) == 1 ? init.period : init.period + \"s\";\n return `${init.origin}/${init.count}${periodName}`;\n}\n\nexport namespace BreakdownRule {\n const regex = new RegExp(\"(.*)/([-+]?[0-9]+)(hour|day|week|month|year)s?\");\n export function split(rule: BreakdownRule) {\n const match = regex.exec(rule);\n if (!match) {\n throw new Error(\"Invalid breakdown rule format\");\n }\n const origin = match[1];\n const count = parseInt(match[2]);\n let period = match[3];\n if (period.endsWith(\"s\")) {\n period = period.substring(0, period.length - 1);\n }\n return {\n origin: TimeOrRule.parse(origin),\n count,\n period: period as BreakdownPeriod,\n };\n }\n}\n","import { DateTime } from \"luxon\";\n\nexport type TimeOrRule = Date | DateTime<true> | string;\n\nexport function TimeOrRule(\n timeOrRule: Date | DateTime<true> | string,\n): TimeOrRule {\n return timeOrRule;\n}\n\nexport namespace TimeOrRule {\n export function parse(input: string): TimeOrRule {\n const time = DateTime.fromISO(input, { setZone: true });\n return time.isValid ? time : input;\n }\n\n export function isTime(input: TimeOrRule): input is Date | DateTime<true> {\n return typeof input !== \"string\";\n }\n\n export function isRule(input: TimeOrRule): input is string {\n return typeof input === \"string\";\n }\n\n export function asDateTime(input: TimeOrRule): DateTime<true> | undefined {\n if (isRule(input)) {\n return;\n } else if (DateTime.isDateTime(input)) {\n return input;\n } else {\n const dateTime = DateTime.fromJSDate(input);\n if (!dateTime.isValid) {\n throw new Error(\"Unable to convert from Date to DateTime\");\n }\n return dateTime;\n }\n }\n\n export function toJSON(input: TimeOrRule) {\n return isRule(input) ? input : input.toJSON();\n }\n}\n","import { NumberFormatter, localeDecimalSeparator } from \"./number-formatter\";\n\nimport { invariantDecimalSeparator } from \".\";\n\nexport class PrecisionNumber {\n public value: number;\n public precision: number;\n constructor(value: number, precision?: number) {\n this.value = value;\n this.precision = precision ?? getPrecision(value);\n }\n\n static parse(input: string) {\n let normalized = input\n .trim()\n .replace(\",\", \".\")\n .replace(localeDecimalSeparator, invariantDecimalSeparator);\n if (normalized.endsWith(invariantDecimalSeparator)) {\n normalized += \"0\";\n }\n const value = parseFloat(normalized);\n let precision = normalized\n .replace(\".\", \"\")\n .replace(\"+\", \"\")\n .replace(\"-\", \"\").length;\n if (value > -1 && value < 1 && value !== 0 && precision > 1) {\n precision--;\n }\n return new PrecisionNumber(value, precision);\n }\n\n abs() {\n return new PrecisionNumber(Math.abs(this.value), this.precision);\n }\n\n plus(rhs: PrecisionNumber) {\n // The result should have the same number of decimal places as the minimum of the two inputs\n const lhs = this;\n const value = lhs.value + rhs.value;\n const decimals = Math.min(\n getNumberOfDecimalDigits(lhs.value, lhs.precision),\n getNumberOfDecimalDigits(rhs.value, rhs.precision),\n );\n const precision = getPrecision(value, decimals);\n return new PrecisionNumber(value, precision);\n }\n\n minus(rhs: PrecisionNumber) {\n // The result should have the same number of decimal places as the minimum of the two inputs\n const lhs = this;\n const value = lhs.value - rhs.value;\n const decimals = Math.min(\n getNumberOfDecimalDigits(lhs.value, lhs.precision),\n getNumberOfDecimalDigits(rhs.value, rhs.precision),\n );\n const precision = getPrecision(value, decimals);\n return new PrecisionNumber(value, precision);\n }\n\n valueOf() {\n return this.value;\n }\n\n toString() {\n return this.value.toString();\n }\n\n toFixed() {\n return NumberFormatter.toFixed(this.value, this.precision);\n }\n\n toPrecision() {\n return NumberFormatter.toPrecision(this.value, this.precision);\n }\n\n toLocaleFixed() {\n return NumberFormatter.toLocaleFixed(this.value, this.precision);\n }\n\n toLocalePrecision() {\n return NumberFormatter.toLocalePrecision(this.value, this.precision);\n }\n}\n\nfunction getPrecision(number: number, decimals?: number) {\n decimals ??= number.toString().split(\".\", 2)[1]?.length ?? 0;\n\n if (number == 0) {\n return 1;\n } else if (number > -1 && number < 1) {\n return decimals;\n } else {\n return Math.max(getNumberOfIntegralDigits(number) + decimals, 1);\n }\n}\n\nfunction getNumberOfDecimalDigits(number: number, precision: number) {\n if (number > -1 && number < 1) {\n return precision;\n } else {\n return precision - getNumberOfIntegralDigits(number);\n }\n}\n\nfunction getNumberOfIntegralDigits(number: number) {\n const abs = Math.abs(number);\n if (abs < 10) return 1;\n if (abs < 100) return 2;\n if (abs < 1000) return 3;\n if (abs < 10000) return 4;\n if (abs < 100000) return 5;\n if (abs < 1000000) return 6;\n if (abs < 10000000) return 7;\n if (abs < 100000000) return 8;\n if (abs < 1000000000) return 9;\n return Math.floor(Math.log10(abs) + 1);\n}\n","import { RegisterDefinition } from \"./register-definition\";\nimport { AggregateId } from \"./aggregate-id\";\nimport { RegisterId } from \"./register-id\";\nimport { getRegisterId } from \"./register-utils\";\n\nexport const aggregatePrefixes: { [aggregateId in AggregateId]: string } = {\n instant: \"\",\n diff: \"diff\",\n min: \"min\",\n max: \"max\",\n avg: \"avg\",\n sum: \"sum\",\n cnt: \"cnt\",\n ssq: \"ssq\",\n};\n\nclass Convention {\n public getAggregate(register: RegisterId | RegisterDefinition) {\n const registerId = getRegisterId(register);\n // Brute force all prefixes - if none of them, then it must be instant.\n for (const aggregateString of Object.keys(aggregatePrefixes)) {\n const aggregate = <AggregateId>aggregateString;\n const prefix = aggregatePrefixes[aggregate];\n if (prefix.length && isPrefix(registerId, prefix)) {\n // Not instant - it was any of the others.\n return aggregate;\n }\n }\n return \"instant\";\n }\n\n toInstant(register: RegisterId | RegisterDefinition) {\n const registerId = getRegisterId(register);\n for (const prefix of Object.values(aggregatePrefixes)) {\n if (prefix.length && isPrefix(registerId, prefix)) {\n const tail = registerId.substr(prefix.length);\n return <RegisterId>(tail[0].toLowerCase() + tail.substr(1));\n }\n }\n return registerId;\n }\n\n toAggregate(\n register: RegisterId | RegisterDefinition,\n aggregate: AggregateId,\n ) {\n const instantRegisterId = this.toInstant(register);\n if (aggregate === \"instant\") {\n return instantRegisterId;\n }\n const prefix = aggregatePrefixes[aggregate];\n return <RegisterId>(\n (prefix +\n instantRegisterId[0].toUpperCase() +\n instantRegisterId.substr(1))\n );\n }\n}\n\nexport function isPrefix(registerId: RegisterId, prefix: string) {\n return (\n registerId.startsWith(prefix) && isUppercase(registerId[prefix.length])\n );\n}\n\nfunction isUppercase(input: string) {\n return input.toUpperCase() === input;\n}\n\nexport const RegisterConvention = new Convention();\n","import { RegisterDefinition } from \"./register-definition\";\nimport { RegisterId } from \"./register-id\";\n\nexport function getRegisterId(register: RegisterId | RegisterDefinition) {\n return typeof register === \"string\" ? register : register.id;\n}\n","import { RegisterDefinition } from \"./register-definition\";\nimport { RegisterId } from \"./register-id\";\nimport { RegisterPack } from \"./register-pack\";\n\nclass Library {\n private definitions: Partial<{ [id in RegisterId]: RegisterDefinition }> =\n {};\n\n public add(...definitions: (RegisterDefinition | RegisterPack)[]) {\n for (const definition of definitions) {\n if (isDefinition(definition)) {\n this.tryAdd(definition);\n } else {\n for (const definitionInPack of Object.values(definition)) {\n this.tryAdd(definitionInPack);\n }\n }\n }\n }\n\n private tryAdd(definition: RegisterDefinition) {\n if (!this.definitions[definition.id]) {\n this.definitions[definition.id] = definition;\n return true;\n }\n return false;\n }\n\n public has(id: RegisterId) {\n return !!this.definitions[id];\n }\n\n public tryGet(id: RegisterId) {\n return this.definitions[id];\n }\n\n public get(id: RegisterId) {\n const definition = this.definitions[id];\n if (!definition) {\n throw new Error(`Defintion was not loaded for register ${id}`);\n }\n return definition;\n }\n\n public all() {\n return Object.values(this.definitions).map((x) => x!);\n }\n\n public reset() {\n this.definitions = {};\n }\n}\n\nfunction isDefinition(\n definitionOrPack: RegisterDefinition | RegisterPack,\n): definitionOrPack is RegisterDefinition {\n return !!(\n definitionOrPack.id &&\n definitionOrPack.aggregate &&\n definitionOrPack.units\n );\n}\n\nexport const RegisterLibrary = new Library();\n"],"names":[],"version":3,"file":"index.mjs.map"}
|