Skip to content

Commit

Permalink
Remove unused helper
Browse files Browse the repository at this point in the history
  • Loading branch information
longzheng committed Aug 28, 2024
1 parent 7232cfc commit c262d96
Show file tree
Hide file tree
Showing 6 changed files with 2 additions and 88 deletions.
22 changes: 1 addition & 21 deletions src/helpers/enum.test.ts
Original file line number Diff line number Diff line change
@@ -1,32 +1,12 @@
import { it, expect, describe } from 'vitest';
import { enumHasValue, mapEnumValueToEnumFlagsObject } from './enum';
import { enumHasValue } from './enum';

enum TestBitwise {
hello = 1 << 0,
world = 1 << 1,
there = 1 << 2,
}

export type TestBitwiseObject = Record<keyof typeof TestBitwise, boolean>;

describe('mapEnumValueToTestBitwiseObject', () => {
function mapEnumValueToTestBitwiseObject(value: number): TestBitwiseObject {
return mapEnumValueToEnumFlagsObject(value, TestBitwise);
}

it('map to object', () => {
const value = TestBitwise.hello | TestBitwise.world;

const object = mapEnumValueToTestBitwiseObject(value);

expect(object).toStrictEqual({
hello: true,
world: true,
there: false,
} satisfies TestBitwiseObject);
});
});

describe('enumHasValue', () => {
it('should return true if value is in enum', () => {
const result = enumHasValue(
Expand Down
16 changes: 0 additions & 16 deletions src/helpers/enum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,6 @@ export function stringHexToEnumType<T>(value: string): T {
return safeParseHexString(value) as T;
}

export function mapEnumValueToEnumFlagsObject<T extends EnumType>(
value: number,
enumObj: T,
): Record<keyof T, boolean> {
return Object.keys(enumObj)
.filter((key) => isNaN(Number(key)))
.reduce(
(flags, flag) => {
flags[flag as keyof T] =
(value & Number(enumObj[flag as keyof T])) !== 0;
return flags;
},
{} as Record<keyof T, boolean>,
);
}

export function safeParseStringToEnumType<T extends EnumType>(
value: string,
enumObject: T,
Expand Down
10 changes: 0 additions & 10 deletions src/sep2/models/connectStatus.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import { mapEnumValueToEnumFlagsObject } from '../../helpers/enum';

// DER ConnectStatus value (bitmap):
// 0 - Connected
// 1 - Available
Expand All @@ -14,11 +12,3 @@ export enum ConnectStatus {
Test = 1 << 3,
Fault = 1 << 4,
}

export type ConnectStatusObject = Record<keyof typeof ConnectStatus, boolean>;

export function mapEnumNumberToConnectStatusObject(
value: number,
): ConnectStatusObject {
return mapEnumValueToEnumFlagsObject(value, ConnectStatus);
}
13 changes: 0 additions & 13 deletions src/sep2/models/responseRequired.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import { mapEnumValueToEnumFlagsObject } from '../../helpers/enum';

// 0 - End device shall indicate that message was received
// 1 - End device shall indicate specific response.
// 2 - End user / customer response is required.
Expand All @@ -8,14 +6,3 @@ export enum ResponseRequiredType {
SpecificResponse = 1 << 1,
EndUserResponse = 1 << 2,
}

export type ResponseRequiredTypeObject = Record<
keyof typeof ResponseRequiredType,
boolean
>;

export function mapHexStringToResponseRequiredTypeObject(
value: number,
): ResponseRequiredTypeObject {
return mapEnumValueToEnumFlagsObject(value, ResponseRequiredType);
}
19 changes: 1 addition & 18 deletions src/sep2/models/roleFlagsType.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { it, expect } from 'vitest';
import type { RoleFlagsTypeObject } from './roleFlagsType';
import { mapEnumNumberToRoleFlagsObject, RoleFlagsType } from './roleFlagsType';
import { RoleFlagsType } from './roleFlagsType';
import { numberToHex } from '../../helpers/number';

it('site is 3 hex', () => {
Expand All @@ -20,19 +19,3 @@ it('DER is 49 hex', () => {

expect(hex).toBe('49');
});

it('map to object', () => {
const object = mapEnumNumberToRoleFlagsObject(
RoleFlagsType.isMirror | RoleFlagsType.isDER | RoleFlagsType.isSubmeter,
);

expect(object).toStrictEqual({
isMirror: true,
isPremisesAggregationPoint: false,
isPEV: false,
isDER: true,
isRevenueQuality: false,
isDC: false,
isSubmeter: true,
} as RoleFlagsTypeObject);
});
10 changes: 0 additions & 10 deletions src/sep2/models/roleFlagsType.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import { mapEnumValueToEnumFlagsObject } from '../../helpers/enum';

// Bit 0 - isMirror - SHALL be set if the server is not the measurement device
// Bit 1 - isPremisesAggregationPoint - SHALL be set if the UsagePoint is the point of delivery for a premises
// Bit 2 - isPEV - SHALL be set if the usage applies to an electric vehicle
Expand All @@ -18,11 +16,3 @@ export enum RoleFlagsType {
isSubmeter = 1 << 6,
// Reserved bits 7 to 15
}

export type RoleFlagsTypeObject = Record<keyof typeof RoleFlagsType, boolean>;

export function mapEnumNumberToRoleFlagsObject(
value: number,
): RoleFlagsTypeObject {
return mapEnumValueToEnumFlagsObject(value, RoleFlagsType);
}

0 comments on commit c262d96

Please sign in to comment.