attributeStatusInfo: {
additionalInfo: reason.info,
- reasonCode: ReasonCodeEnumType[reason.reasonCode as keyof typeof ReasonCodeEnumType],
+ reasonCode: reason.reasonCode,
},
attributeType: v.attributeType,
component: v.component,
attributeStatusInfo: {
additionalInfo: reason.info,
- reasonCode: ReasonCodeEnumType[reason.reasonCode as keyof typeof ReasonCodeEnumType],
+ reasonCode: reason.reasonCode,
},
attributeType: v.attributeType ?? AttributeEnumType.Actual,
component: v.component,
data: T[],
itemsLimit: number,
bytesLimit: number,
- buildRejected: (item: T, reason: { info: string; reasonCode: string }) => unknown,
+ buildRejected: (item: T, reason: { info: string; reasonCode: ReasonCodeEnumType }) => unknown,
logger: { debug: (...args: unknown[]) => void }
): { rejected: boolean; results: unknown[] } {
if (itemsLimit > 0 && data.length > itemsLimit) {
const results = data.map(d =>
buildRejected(d, {
info: `ItemsPerMessage limit ${itemsLimit.toString()} exceeded (${data.length.toString()} requested)`,
- reasonCode: ReasonCodeEnumType.TooManyElements as string,
+ reasonCode: ReasonCodeEnumType.TooManyElements,
})
)
logger.debug(
const results = data.map(d =>
buildRejected(d, {
info: `BytesPerMessage limit ${bytesLimit.toString()} exceeded (estimated ${estimatedSize.toString()} bytes)`,
- reasonCode: ReasonCodeEnumType.TooLargeElement as string,
+ reasonCode: ReasonCodeEnumType.TooLargeElement,
})
)
logger.debug(
originalData: T[],
currentResults: unknown[],
bytesLimit: number,
- buildRejected: (item: T, reason: { info: string; reasonCode: string }) => unknown,
+ buildRejected: (item: T, reason: { info: string; reasonCode: ReasonCodeEnumType }) => unknown,
logger: { debug: (...args: unknown[]) => void }
): unknown[] {
if (bytesLimit > 0) {
const results = originalData.map(d =>
buildRejected(d, {
info: `BytesPerMessage limit ${bytesLimit.toString()} exceeded (actual ${actualSize.toString()} bytes)`,
- reasonCode: ReasonCodeEnumType.TooLargeElement as string,
+ reasonCode: ReasonCodeEnumType.TooLargeElement,
})
)
logger.debug(
interface RejectedResult {
info: string
original: TestItem
- reasonCode: string
+ reasonCode: ReasonCodeEnumType
}
interface TestItem {
/** @returns A builder function that creates rejected result objects */
function makeRejectedBuilder () {
- return (item: TestItem, reason: { info: string; reasonCode: string }): RejectedResult => ({
+ return (
+ item: TestItem,
+ reason: { info: string; reasonCode: ReasonCodeEnumType }
+ ): RejectedResult => ({
info: reason.info,
original: item,
reasonCode: reason.reasonCode,
const station = makeMockStation()
const logger = makeMockLogger()
const item = makeItem('WebSocketPingInterval', 'xyz')
- const capturedReasons: { info: string; reasonCode: string }[] = []
+ const capturedReasons: { info: string; reasonCode: ReasonCodeEnumType }[] = []
OCPP20ServiceUtils.enforceMessageLimits(
station,