Skip to content

Commit

Permalink
renaming
Browse files Browse the repository at this point in the history
  • Loading branch information
OlivierZal committed Jun 29, 2024
1 parent 272dafa commit 62c2045
Show file tree
Hide file tree
Showing 12 changed files with 62 additions and 62 deletions.
4 changes: 2 additions & 2 deletions src/facades/base_super_device.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import type {
FailureData,
ListDeviceDataAta,
SetAtaGroupPostData,
SetKeys,
SuccessData,
Values,
} from '../types'
import BaseFacade from './base'
import type { IBaseSuperDeviceFacade } from './interfaces'
Expand Down Expand Up @@ -61,7 +61,7 @@ export default abstract class<
power,
temperature,
vertical,
}: SetKeys['Ata']): Promise<FailureData | SuccessData> {
}: Values['Ata']): Promise<FailureData | SuccessData> {
const postData = {
FanSpeed: fan,
OperationMode: mode,
Expand Down
24 changes: 12 additions & 12 deletions src/facades/device.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ import {
type ListDevice,
type NonFlagsKeyOf,
type SetDeviceData,
type SetKeys,
type TilesData,
type UpdateDeviceData,
type Values,
} from '../types'
import { YEAR_1970, nowISO } from './utils'
import type API from '../services'
Expand All @@ -30,15 +30,15 @@ export default abstract class<T extends keyof typeof DeviceType>

protected readonly tableName = 'DeviceLocation'

protected abstract readonly flags: Record<keyof SetKeys[T], number>
protected abstract readonly flags: Record<keyof Values[T], number>

protected abstract readonly setDataMapping: Record<
NonFlagsKeyOf<UpdateDeviceData[T]>,
keyof SetKeys[T]
keyof Values[T]
>

protected abstract readonly setKeyMapping: Record<
keyof SetKeys[T],
protected abstract readonly valueMapping: Record<
keyof Values[T],
NonFlagsKeyOf<UpdateDeviceData[T]>
>

Expand Down Expand Up @@ -110,14 +110,14 @@ export default abstract class<T extends keyof typeof DeviceType>
return super.getTiles(null)
}

public async set(setKeys: SetKeys[T]): Promise<SetDeviceData[T]> {
if (!Object.keys(setKeys).length) {
public async set(values: Values[T]): Promise<SetDeviceData[T]> {
if (!Object.keys(values).length) {
throw new Error('No changes to update')
}
const updateData = {
...Object.fromEntries(
Object.entries(setKeys).map(([key, value]) => [
this.setKeyMapping[key as keyof SetKeys[T]],
Object.entries(values).map(([key, value]) => [
this.valueMapping[key as keyof Values[T]],
value,
]),
),
Expand All @@ -128,15 +128,15 @@ export default abstract class<T extends keyof typeof DeviceType>
...this.#setData,
...updateData,
DeviceID: this.id,
EffectiveFlags: this.#getFlags(setKeys),
EffectiveFlags: this.#getFlags(values),
},
})
this.model.update(this.#getUpdatedData(data))
return data
}

#getFlags(setKeys: SetKeys[T]): number {
return (Object.keys(setKeys) as (keyof SetKeys[T])[]).reduce(
#getFlags(values: Values[T]): number {
return (Object.keys(values) as (keyof Values[T])[]).reduce(
(acc, key) => Number(BigInt(this.flags[key]) | BigInt(acc)),
FLAG_UNCHANGED,
)
Expand Down
4 changes: 2 additions & 2 deletions src/facades/device_ata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
type Vertical,
flagsAta,
setDataMappingAta,
setKeyMappingAta,
valueMappingAta,
} from '../types'
import BaseDeviceFacade from './device'

Expand All @@ -14,7 +14,7 @@ export default class extends BaseDeviceFacade<'Ata'> {

protected readonly setDataMapping = setDataMappingAta

protected readonly setKeyMapping = setKeyMappingAta
protected readonly valueMapping = valueMappingAta

public get fan(): FanSpeed {
return this.data.FanSpeed
Expand Down
4 changes: 2 additions & 2 deletions src/facades/device_atw.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import {
type OperationModeZone,
flagsAtw,
setDataMappingAtw,
setKeyMappingAtw,
valueMappingAtw,
} from '../types'
import BaseDeviceFacade from './device'

Expand All @@ -11,7 +11,7 @@ export default class extends BaseDeviceFacade<'Atw'> {

protected readonly setDataMapping = setDataMappingAtw

protected readonly setKeyMapping = setKeyMappingAtw
protected readonly valueMapping = valueMappingAtw

public get coolFlowTemperature(): number {
return this.data.SetCoolFlowTemperatureZone1
Expand Down
4 changes: 2 additions & 2 deletions src/facades/device_erv.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { flagsErv, setDataMappingErv, setKeyMappingErv } from '../types'
import { flagsErv, setDataMappingErv, valueMappingErv } from '../types'
import BaseDeviceFacade from './device'

export default class extends BaseDeviceFacade<'Erv'> {
protected readonly flags = flagsErv

protected readonly setDataMapping = setDataMappingErv

protected readonly setKeyMapping = setKeyMappingErv
protected readonly valueMapping = valueMappingErv

public get fan(): number {
return this.data.SetFanSpeed
Expand Down
16 changes: 8 additions & 8 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ export {
type BaseGetDeviceData,
type BaseListDevice,
type BaseListDeviceData,
type BaseSetKeys,
type BaseSetDeviceData,
type BaseUpdateDeviceData,
type BaseValues,
type Building,
type BuildingData,
type BuildingSettings,
Expand Down Expand Up @@ -103,10 +103,6 @@ export {
type SetDeviceDataAtw,
type SetDeviceDataErv,
type SetDevicePostData,
type SetKeys,
type SetKeysAta,
type SetKeysAtw,
type SetKeysErv,
type SetPowerPostData,
type SettingsParams,
type SuccessData,
Expand All @@ -117,6 +113,10 @@ export {
type UpdateDeviceDataAtw,
type UpdateDeviceDataErv,
type UpdatedDeviceData,
type Values,
type ValuesAta,
type ValuesAtw,
type ValuesErv,
type WifiData,
type WifiPostData,
DeviceType,
Expand All @@ -136,7 +136,7 @@ export {
setDataMappingAta,
setDataMappingAtw,
setDataMappingErv,
setKeyMappingAta,
setKeyMappingAtw,
setKeyMappingErv,
valueMappingAta,
valueMappingAtw,
valueMappingErv,
} from './types'
12 changes: 6 additions & 6 deletions src/types/ata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type {
BaseListDevice,
BaseListDeviceData,
BaseSetDeviceData,
BaseSetKeys,
BaseValues,
BaseUpdateDeviceData,
DeviceDataNotInList,
DeviceType,
Expand Down Expand Up @@ -102,15 +102,15 @@ export interface EnergyDataAta {
readonly UsageDisclaimerPercentages: string
}

export interface SetKeysAta extends BaseSetKeys {
export interface ValuesAta extends BaseValues {
readonly fan?: Exclude<FanSpeed, FanSpeed.silent>
readonly horizontal?: Horizontal
readonly mode?: OperationMode
readonly temperature?: number
readonly vertical?: Vertical
}

export const flagsAta: Record<keyof SetKeysAta, number> = {
export const flagsAta: Record<keyof ValuesAta, number> = {
fan: 0x8,
horizontal: 0x100,
mode: 0x2,
Expand All @@ -121,7 +121,7 @@ export const flagsAta: Record<keyof SetKeysAta, number> = {

export const setDataMappingAta: Record<
NonFlagsKeyOf<UpdateDeviceDataAta>,
keyof SetKeysAta
keyof ValuesAta
> = {
OperationMode: 'mode',
Power: 'power',
Expand All @@ -131,8 +131,8 @@ export const setDataMappingAta: Record<
VaneVertical: 'vertical',
}

export const setKeyMappingAta: Record<
keyof SetKeysAta,
export const valueMappingAta: Record<
keyof ValuesAta,
NonFlagsKeyOf<UpdateDeviceDataAta>
> = {
fan: 'SetFanSpeed',
Expand Down
12 changes: 6 additions & 6 deletions src/types/atw.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import type {
BaseListDevice,
BaseListDeviceData,
BaseSetDeviceData,
BaseSetKeys,
BaseUpdateDeviceData,
BaseValues,
DeviceDataNotInList,
DeviceType,
NonFlagsKeyOf,
Expand Down Expand Up @@ -105,7 +105,7 @@ export interface EnergyDataAtw {
readonly TotalHotWaterProduced: number
}

export interface SetKeysAtw extends BaseSetKeys {
export interface ValuesAtw extends BaseValues {
readonly coolFlowTemperature?: number
readonly coolFlowTemperatureZone2?: number
readonly forcedHotWater?: boolean
Expand All @@ -118,7 +118,7 @@ export interface SetKeysAtw extends BaseSetKeys {
readonly temperatureZone2?: number
}

export const flagsAtw: Record<keyof SetKeysAtw, number> = {
export const flagsAtw: Record<keyof ValuesAtw, number> = {
coolFlowTemperature: 0x1000000000000,
coolFlowTemperatureZone2: 0x1000000000000,
forcedHotWater: 0x10000,
Expand All @@ -134,7 +134,7 @@ export const flagsAtw: Record<keyof SetKeysAtw, number> = {

export const setDataMappingAtw: Record<
NonFlagsKeyOf<UpdateDeviceDataAtw>,
keyof SetKeysAtw
keyof ValuesAtw
> = {
ForcedHotWaterMode: 'forcedHotWater',
OperationModeZone1: 'mode',
Expand All @@ -149,8 +149,8 @@ export const setDataMappingAtw: Record<
SetTemperatureZone2: 'temperatureZone2',
}

export const setKeyMappingAtw: Record<
keyof SetKeysAtw,
export const valueMappingAtw: Record<
keyof ValuesAtw,
NonFlagsKeyOf<UpdateDeviceDataAtw>
> = {
coolFlowTemperature: 'SetCoolFlowTemperatureZone1',
Expand Down
2 changes: 1 addition & 1 deletion src/types/bases.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,6 @@ export interface BaseListDevice {
readonly Type: DeviceType
}

export interface BaseSetKeys {
export interface BaseValues {
readonly power?: boolean
}
14 changes: 7 additions & 7 deletions src/types/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
type ListDeviceDataAta,
type OperationMode,
type SetDeviceDataAta,
type SetKeysAta,
type ValuesAta,
type UpdateDeviceDataAta,
type Vertical,
setDataMappingAta,
Expand All @@ -18,7 +18,7 @@ import {
type ListDeviceAtw,
type ListDeviceDataAtw,
type SetDeviceDataAtw,
type SetKeysAtw,
type ValuesAtw,
type UpdateDeviceDataAtw,
setDataMappingAtw,
} from './atw'
Expand All @@ -27,7 +27,7 @@ import {
type ListDeviceDataErv,
type ListDeviceErv,
type SetDeviceDataErv,
type SetKeysErv,
type ValuesErv,
type UpdateDeviceDataErv,
setDataMappingErv,
} from './erv'
Expand Down Expand Up @@ -323,10 +323,10 @@ export interface WifiData {
readonly ToDate: string
}

export interface SetKeys {
readonly Ata: SetKeysAta
readonly Atw: SetKeysAtw
readonly Erv: SetKeysErv
export interface Values {
readonly Ata: ValuesAta
readonly Atw: ValuesAtw
readonly Erv: ValuesErv
}

export const setData = {
Expand Down
12 changes: 6 additions & 6 deletions src/types/erv.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type {
BaseListDevice,
BaseListDeviceData,
BaseSetDeviceData,
BaseSetKeys,
BaseValues,
BaseUpdateDeviceData,
DeviceDataNotInList,
DeviceType,
Expand Down Expand Up @@ -46,28 +46,28 @@ export interface ListDeviceErv extends BaseListDevice {
readonly Device: ListDeviceDataErv
}

export interface SetKeysErv extends BaseSetKeys {
export interface ValuesErv extends BaseValues {
readonly fan?: Exclude<FanSpeed, FanSpeed.silent>
readonly mode?: VentilationMode
}

export const flagsErv: Record<keyof SetKeysErv, number> = {
export const flagsErv: Record<keyof ValuesErv, number> = {
fan: 0x8,
mode: 0x4,
power: 0x1,
} as const

export const setDataMappingErv: Record<
NonFlagsKeyOf<UpdateDeviceDataErv>,
keyof SetKeysErv
keyof ValuesErv
> = {
Power: 'power',
SetFanSpeed: 'fan',
VentilationMode: 'mode',
}

export const setKeyMappingErv: Record<
keyof SetKeysErv,
export const valueMappingErv: Record<
keyof ValuesErv,
NonFlagsKeyOf<UpdateDeviceDataErv>
> = {
fan: 'SetFanSpeed',
Expand Down
Loading

0 comments on commit 62c2045

Please sign in to comment.