diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 41d69ac4..5b8ffa8b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,7 +6,7 @@ image: node:lts stages: - - test + - check - build - prepare-release - release @@ -17,7 +17,7 @@ cache: &global_cache - .yarn/cache lint: - stage: test + stage: check before_script: - yarn install --immutable script: @@ -25,8 +25,17 @@ lint: cache: <<: *global_cache +typecheck: + stage: check + before_script: + - yarn install --immutable + script: + - yarn typecheck + cache: + <<: *global_cache + test: - stage: test + stage: check before_script: - yarn install --immutable script: @@ -40,7 +49,7 @@ test: - junit.xml reuse: - stage: test + stage: check image: name: fsfe/reuse:latest entrypoint: [""] diff --git a/src/item/type-specific-helpers/spell.ts b/src/item/type-specific-helpers/spell.ts index e8820b43..5af27f20 100644 --- a/src/item/type-specific-helpers/spell.ts +++ b/src/item/type-specific-helpers/spell.ts @@ -19,21 +19,22 @@ export function calculateSpellPrice(data: DS4SpellDataSourceData): number | null function calculateSpellPriceFactor(temporalData: UnitData): number { let days: number; if (Number.isNumeric(temporalData.value)) { + const value = Number.fromString(temporalData.value); switch (temporalData.unit) { case "days": { - days = temporalData.value; + days = value; break; } case "hours": { - days = temporalData.value / hoursPerDay; + days = value / hoursPerDay; break; } case "minutes": { - days = temporalData.value / (hoursPerDay * minutesPerHour); + days = value / (hoursPerDay * minutesPerHour); break; } case "rounds": { - days = (temporalData.value * secondsPerRound) / (hoursPerDay * minutesPerHour * secondsPerMinute); + days = (value * secondsPerRound) / (hoursPerDay * minutesPerHour * secondsPerMinute); break; } }