devDependencies:
'@commitlint/cli':
specifier: ^19.7.1
- version: 19.7.1(@types/node@22.13.1)(typescript@5.7.3)
+ version: 19.7.1(@types/node@22.13.2)(typescript@5.7.3)
'@commitlint/config-conventional':
specifier: ^19.7.1
version: 19.7.1
specifier: npm:@jsr/std__expect@^1.0.13
version: '@jsr/std__expect@1.0.13'
'@types/node':
- specifier: ^22.13.1
- version: 22.13.1
+ specifier: ^22.13.2
+ version: 22.13.2
'@types/semver':
specifier: ^7.5.8
version: 7.5.8
specifier: ^50.6.3
version: 50.6.3(eslint@9.20.1(jiti@2.4.2))
eslint-plugin-perfectionist:
- specifier: ^4.8.0
- version: 4.8.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3)
+ specifier: ^4.9.0
+ version: 4.9.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3)
eslint-plugin-vue:
specifier: ^9.32.0
version: 9.32.0(eslint@9.20.1(jiti@2.4.2))
specifier: ^0.12.1
version: 0.12.1(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3)
prettier:
- specifier: ^3.5.0
- version: 3.5.0
+ specifier: ^3.5.1
+ version: 3.5.1
rimraf:
specifier: ^6.0.1
version: 6.0.1
version: 7.7.1
ts-node:
specifier: ^10.9.2
- version: 10.9.2(@types/node@22.13.1)(typescript@5.7.3)
+ version: 10.9.2(@types/node@22.13.2)(typescript@5.7.3)
tsx:
specifier: ^4.19.2
version: 4.19.2
specifier: ^21.1.7
version: 21.1.7
'@types/node':
- specifier: ^22.13.1
- version: 22.13.1
+ specifier: ^22.13.2
+ version: 22.13.2
'@vitejs/plugin-vue':
specifier: ^5.2.1
- version: 5.2.1(vite@5.4.14(@types/node@22.13.1))(vue@3.5.13(typescript@5.7.3))
+ version: 5.2.1(vite@5.4.14(@types/node@22.13.2))(vue@3.5.13(typescript@5.7.3))
'@vitejs/plugin-vue-jsx':
specifier: ^4.1.1
- version: 4.1.1(vite@5.4.14(@types/node@22.13.1))(vue@3.5.13(typescript@5.7.3))
+ version: 4.1.1(vite@5.4.14(@types/node@22.13.2))(vue@3.5.13(typescript@5.7.3))
'@vitest/coverage-v8':
specifier: ^3.0.5
- version: 3.0.5(vitest@3.0.5(@types/node@22.13.1)(jsdom@26.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)))
+ version: 3.0.5(vitest@3.0.5(@types/node@22.13.2)(jsdom@26.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)))
'@vue/test-utils':
specifier: ^2.4.6
version: 2.4.6
specifier: ^26.0.0
version: 26.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
prettier:
- specifier: ^3.5.0
- version: 3.5.0
+ specifier: ^3.5.1
+ version: 3.5.1
rimraf:
specifier: ^6.0.1
version: 6.0.1
version: 5.7.3
vite:
specifier: ^5.4.14
- version: 5.4.14(@types/node@22.13.1)
+ version: 5.4.14(@types/node@22.13.2)
vitest:
specifier: ^3.0.5
- version: 3.0.5(@types/node@22.13.1)(jsdom@26.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ version: 3.0.5(@types/node@22.13.2)(jsdom@26.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
packages:
'@types/long@4.0.2':
resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==}
- '@types/node@22.13.1':
- resolution: {integrity: sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==}
+ '@types/node@22.13.2':
+ resolution: {integrity: sha512-Z+r8y3XL9ZpI2EY52YYygAFmo2/oWfNSj4BCpAXE2McAexDk8VcnBMGC9Djn9gTKt4d2T/hhXqmPzo4hfIXtTg==}
'@types/offscreencanvas@2019.3.0':
resolution: {integrity: sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==}
peerDependencies:
eslint: '>=8.23.0'
- eslint-plugin-perfectionist@4.8.0:
- resolution: {integrity: sha512-ZF04IAPGItYMlj9xjgvvl/QpksZf79g0dkxbNcuxDjbcUSZ4CwucJ7h5Yzt5JuHe+i6igQbUYEp40j4ndfbvWQ==}
+ eslint-plugin-perfectionist@4.9.0:
+ resolution: {integrity: sha512-76lDfJnonOcXGW3bEXuqhEGId0LrOlvIE1yLHvK/eKMMPOc0b43KchAIR2Bdbqlg+LPXU5/Q+UzuzkO+cWHT6w==}
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
eslint: '>=8.0.0'
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
- prettier@3.5.0:
- resolution: {integrity: sha512-quyMrVt6svPS7CjQ9gKb3GLEX/rl3BCL2oa/QkNcXv4YNVBC9olt3s+H7ukto06q7B1Qz46PbrKLO34PR6vXcA==}
+ prettier@3.5.1:
+ resolution: {integrity: sha512-hPpFQvHwL3Qv5AdRvBFMhnKo4tYxp0ReXiPn2bxkiohEX6mBeBwEpBSQTkD458RaaDKQMYSp4hX4UtfUTA5wDw==}
engines: {node: '>=14'}
hasBin: true
'@colors/colors@1.6.0': {}
- '@commitlint/cli@19.7.1(@types/node@22.13.1)(typescript@5.7.3)':
+ '@commitlint/cli@19.7.1(@types/node@22.13.2)(typescript@5.7.3)':
dependencies:
'@commitlint/format': 19.5.0
'@commitlint/lint': 19.7.1
- '@commitlint/load': 19.6.1(@types/node@22.13.1)(typescript@5.7.3)
+ '@commitlint/load': 19.6.1(@types/node@22.13.2)(typescript@5.7.3)
'@commitlint/read': 19.5.0
'@commitlint/types': 19.5.0
tinyexec: 0.3.2
'@commitlint/rules': 19.6.0
'@commitlint/types': 19.5.0
- '@commitlint/load@19.6.1(@types/node@22.13.1)(typescript@5.7.3)':
+ '@commitlint/load@19.6.1(@types/node@22.13.2)(typescript@5.7.3)':
dependencies:
'@commitlint/config-validator': 19.5.0
'@commitlint/execute-rule': 19.5.0
'@commitlint/types': 19.5.0
chalk: 5.4.1
cosmiconfig: 9.0.0(typescript@5.7.3)
- cosmiconfig-typescript-loader: 6.1.0(@types/node@22.13.1)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3)
+ cosmiconfig-typescript-loader: 6.1.0(@types/node@22.13.2)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3)
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
lodash.uniq: 4.5.0
'@types/conventional-commits-parser@5.0.1':
dependencies:
- '@types/node': 22.13.1
+ '@types/node': 22.13.2
'@types/doctrine@0.0.9': {}
'@types/jsdom@21.1.7':
dependencies:
- '@types/node': 22.13.1
+ '@types/node': 22.13.2
'@types/tough-cookie': 4.0.5
parse5: 7.2.1
'@types/long@4.0.2': {}
- '@types/node@22.13.1':
+ '@types/node@22.13.2':
dependencies:
undici-types: 6.20.0
'@types/ws@8.5.14':
dependencies:
- '@types/node': 22.13.1
+ '@types/node': 22.13.2
'@typescript-eslint/eslint-plugin@8.24.0(@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3))(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3)':
dependencies:
'@typescript-eslint/types': 8.24.0
eslint-visitor-keys: 4.2.0
- '@vitejs/plugin-vue-jsx@4.1.1(vite@5.4.14(@types/node@22.13.1))(vue@3.5.13(typescript@5.7.3))':
+ '@vitejs/plugin-vue-jsx@4.1.1(vite@5.4.14(@types/node@22.13.2))(vue@3.5.13(typescript@5.7.3))':
dependencies:
'@babel/core': 7.26.8
'@babel/plugin-transform-typescript': 7.26.8(@babel/core@7.26.8)
'@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.8)
- vite: 5.4.14(@types/node@22.13.1)
+ vite: 5.4.14(@types/node@22.13.2)
vue: 3.5.13(typescript@5.7.3)
transitivePeerDependencies:
- supports-color
- '@vitejs/plugin-vue@5.2.1(vite@5.4.14(@types/node@22.13.1))(vue@3.5.13(typescript@5.7.3))':
+ '@vitejs/plugin-vue@5.2.1(vite@5.4.14(@types/node@22.13.2))(vue@3.5.13(typescript@5.7.3))':
dependencies:
- vite: 5.4.14(@types/node@22.13.1)
+ vite: 5.4.14(@types/node@22.13.2)
vue: 3.5.13(typescript@5.7.3)
- '@vitest/coverage-v8@3.0.5(vitest@3.0.5(@types/node@22.13.1)(jsdom@26.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)))':
+ '@vitest/coverage-v8@3.0.5(vitest@3.0.5(@types/node@22.13.2)(jsdom@26.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)))':
dependencies:
'@ampproject/remapping': 2.3.0
'@bcoe/v8-coverage': 1.0.2
std-env: 3.8.0
test-exclude: 7.0.1
tinyrainbow: 2.0.0
- vitest: 3.0.5(@types/node@22.13.1)(jsdom@26.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ vitest: 3.0.5(@types/node@22.13.2)(jsdom@26.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
transitivePeerDependencies:
- supports-color
chai: 5.1.2
tinyrainbow: 2.0.0
- '@vitest/mocker@3.0.5(vite@5.4.14(@types/node@22.13.1))':
+ '@vitest/mocker@3.0.5(vite@5.4.14(@types/node@22.13.2))':
dependencies:
'@vitest/spy': 3.0.5
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
- vite: 5.4.14(@types/node@22.13.1)
+ vite: 5.4.14(@types/node@22.13.2)
'@vitest/pretty-format@3.0.5':
dependencies:
core-util-is@1.0.3: {}
- cosmiconfig-typescript-loader@6.1.0(@types/node@22.13.1)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3):
+ cosmiconfig-typescript-loader@6.1.0(@types/node@22.13.2)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3):
dependencies:
- '@types/node': 22.13.1
+ '@types/node': 22.13.2
cosmiconfig: 9.0.0(typescript@5.7.3)
jiti: 2.4.2
typescript: 5.7.3
minimatch: 9.0.5
semver: 7.7.1
- eslint-plugin-perfectionist@4.8.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3):
+ eslint-plugin-perfectionist@4.9.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3):
dependencies:
'@typescript-eslint/types': 8.24.0
'@typescript-eslint/utils': 8.24.0(eslint@9.20.1(jiti@2.4.2))(typescript@5.7.3)
mariadb@3.4.0:
dependencies:
'@types/geojson': 7946.0.16
- '@types/node': 22.13.1
+ '@types/node': 22.13.2
denque: 2.1.0
iconv-lite: 0.6.3
lru-cache: 10.4.3
prelude-ls@1.2.1: {}
- prettier@3.5.0: {}
+ prettier@3.5.1: {}
pretty-bytes@5.6.0: {}
'@ts-morph/common': 0.26.1
code-block-writer: 13.0.3
- ts-node@10.9.2(@types/node@22.13.1)(typescript@5.7.3):
+ ts-node@10.9.2(@types/node@22.13.2)(typescript@5.7.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
- '@types/node': 22.13.1
+ '@types/node': 22.13.2
acorn: 8.14.0
acorn-walk: 8.3.4
arg: 4.1.3
core-util-is: 1.0.2
extsprintf: 1.3.0
- vite-node@3.0.5(@types/node@22.13.1):
+ vite-node@3.0.5(@types/node@22.13.2):
dependencies:
cac: 6.7.14
debug: 4.4.0
es-module-lexer: 1.6.0
pathe: 2.0.3
- vite: 5.4.14(@types/node@22.13.1)
+ vite: 5.4.14(@types/node@22.13.2)
transitivePeerDependencies:
- '@types/node'
- less
- supports-color
- terser
- vite@5.4.14(@types/node@22.13.1):
+ vite@5.4.14(@types/node@22.13.2):
dependencies:
esbuild: 0.21.5
postcss: 8.5.2
rollup: 4.34.6
optionalDependencies:
- '@types/node': 22.13.1
+ '@types/node': 22.13.2
fsevents: 2.3.3
- vitest@3.0.5(@types/node@22.13.1)(jsdom@26.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)):
+ vitest@3.0.5(@types/node@22.13.2)(jsdom@26.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)):
dependencies:
'@vitest/expect': 3.0.5
- '@vitest/mocker': 3.0.5(vite@5.4.14(@types/node@22.13.1))
+ '@vitest/mocker': 3.0.5(vite@5.4.14(@types/node@22.13.2))
'@vitest/pretty-format': 3.0.5
'@vitest/runner': 3.0.5
'@vitest/snapshot': 3.0.5
tinyexec: 0.3.2
tinypool: 1.0.2
tinyrainbow: 2.0.0
- vite: 5.4.14(@types/node@22.13.1)
- vite-node: 3.0.5(@types/node@22.13.1)
+ vite: 5.4.14(@types/node@22.13.2)
+ vite-node: 3.0.5(@types/node@22.13.2)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/node': 22.13.1
+ '@types/node': 22.13.2
jsdom: 26.0.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
transitivePeerDependencies:
- less
return clearedCP
}
- private static readonly composeChargingSchedule = (
- chargingSchedule: OCPP16ChargingSchedule,
- compositeInterval: Interval
- ): OCPP16ChargingSchedule | undefined => {
- const chargingScheduleInterval: Interval = {
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- end: addSeconds(chargingSchedule.startSchedule!, chargingSchedule.duration!),
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- start: chargingSchedule.startSchedule!,
- }
- if (areIntervalsOverlapping(chargingScheduleInterval, compositeInterval)) {
- chargingSchedule.chargingSchedulePeriod.sort((a, b) => a.startPeriod - b.startPeriod)
- if (isBefore(chargingScheduleInterval.start, compositeInterval.start)) {
- return {
- ...chargingSchedule,
- chargingSchedulePeriod: chargingSchedule.chargingSchedulePeriod
- .filter((schedulePeriod, index) => {
- if (
- isWithinInterval(
- addSeconds(chargingScheduleInterval.start, schedulePeriod.startPeriod),
- compositeInterval
- )
- ) {
- return true
- }
- if (
- index < chargingSchedule.chargingSchedulePeriod.length - 1 &&
- !isWithinInterval(
- addSeconds(chargingScheduleInterval.start, schedulePeriod.startPeriod),
- compositeInterval
- ) &&
- isWithinInterval(
- addSeconds(
- chargingScheduleInterval.start,
- chargingSchedule.chargingSchedulePeriod[index + 1].startPeriod
- ),
- compositeInterval
- )
- ) {
- return true
- }
- return false
- })
- .map((schedulePeriod, index) => {
- if (index === 0 && schedulePeriod.startPeriod !== 0) {
- schedulePeriod.startPeriod = 0
- }
- return schedulePeriod
- }),
- duration: differenceInSeconds(
- chargingScheduleInterval.end,
- compositeInterval.start as Date
- ),
- startSchedule: compositeInterval.start as Date,
- }
- }
- if (isAfter(chargingScheduleInterval.end, compositeInterval.end)) {
- return {
- ...chargingSchedule,
- chargingSchedulePeriod: chargingSchedule.chargingSchedulePeriod.filter(schedulePeriod =>
- isWithinInterval(
- addSeconds(chargingScheduleInterval.start, schedulePeriod.startPeriod),
- compositeInterval
- )
- ),
- duration: differenceInSeconds(
- compositeInterval.end as Date,
- chargingScheduleInterval.start
- ),
- }
- }
- return chargingSchedule
- }
- }
-
public static composeChargingSchedules = (
chargingScheduleHigher: OCPP16ChargingSchedule | undefined,
chargingScheduleLower: OCPP16ChargingSchedule | undefined,
}
!cpReplaced && chargingStation.getConnectorStatus(connectorId)?.chargingProfiles?.push(cp)
}
+
+ private static readonly composeChargingSchedule = (
+ chargingSchedule: OCPP16ChargingSchedule,
+ compositeInterval: Interval
+ ): OCPP16ChargingSchedule | undefined => {
+ const chargingScheduleInterval: Interval = {
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ end: addSeconds(chargingSchedule.startSchedule!, chargingSchedule.duration!),
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ start: chargingSchedule.startSchedule!,
+ }
+ if (areIntervalsOverlapping(chargingScheduleInterval, compositeInterval)) {
+ chargingSchedule.chargingSchedulePeriod.sort((a, b) => a.startPeriod - b.startPeriod)
+ if (isBefore(chargingScheduleInterval.start, compositeInterval.start)) {
+ return {
+ ...chargingSchedule,
+ chargingSchedulePeriod: chargingSchedule.chargingSchedulePeriod
+ .filter((schedulePeriod, index) => {
+ if (
+ isWithinInterval(
+ addSeconds(chargingScheduleInterval.start, schedulePeriod.startPeriod),
+ compositeInterval
+ )
+ ) {
+ return true
+ }
+ if (
+ index < chargingSchedule.chargingSchedulePeriod.length - 1 &&
+ !isWithinInterval(
+ addSeconds(chargingScheduleInterval.start, schedulePeriod.startPeriod),
+ compositeInterval
+ ) &&
+ isWithinInterval(
+ addSeconds(
+ chargingScheduleInterval.start,
+ chargingSchedule.chargingSchedulePeriod[index + 1].startPeriod
+ ),
+ compositeInterval
+ )
+ ) {
+ return true
+ }
+ return false
+ })
+ .map((schedulePeriod, index) => {
+ if (index === 0 && schedulePeriod.startPeriod !== 0) {
+ schedulePeriod.startPeriod = 0
+ }
+ return schedulePeriod
+ }),
+ duration: differenceInSeconds(
+ chargingScheduleInterval.end,
+ compositeInterval.start as Date
+ ),
+ startSchedule: compositeInterval.start as Date,
+ }
+ }
+ if (isAfter(chargingScheduleInterval.end, compositeInterval.end)) {
+ return {
+ ...chargingSchedule,
+ chargingSchedulePeriod: chargingSchedule.chargingSchedulePeriod.filter(schedulePeriod =>
+ isWithinInterval(
+ addSeconds(chargingScheduleInterval.start, schedulePeriod.startPeriod),
+ compositeInterval
+ )
+ ),
+ duration: differenceInSeconds(
+ compositeInterval.end as Date,
+ chargingScheduleInterval.start
+ ),
+ }
+ }
+ return chargingSchedule
+ }
+ }
}