diff --git a/packages/build/src/config.ts b/packages/build/src/config.ts index 73877b4a..0192978c 100644 --- a/packages/build/src/config.ts +++ b/packages/build/src/config.ts @@ -1,7 +1,7 @@ import { join } from 'node:path' import { root } from './root.ts' -export const threshold = 600_000 +export const threshold = 620_000 export const instantiations = 200_000 diff --git a/packages/chat-debug-view/src/parts/Clamp/Clamp.ts b/packages/chat-debug-view/src/parts/Clamp/Clamp.ts new file mode 100644 index 00000000..4d85ddee --- /dev/null +++ b/packages/chat-debug-view/src/parts/Clamp/Clamp.ts @@ -0,0 +1,3 @@ +export const clamp = (value: number, minimum: number, maximum: number): number => { + return Math.max(minimum, Math.min(value, maximum)) +} diff --git a/packages/chat-debug-view/src/parts/GetNormalizedRange/GetNormalizedRange.ts b/packages/chat-debug-view/src/parts/GetNormalizedRange/GetNormalizedRange.ts index 7a318ce1..72d328e8 100644 --- a/packages/chat-debug-view/src/parts/GetNormalizedRange/GetNormalizedRange.ts +++ b/packages/chat-debug-view/src/parts/GetNormalizedRange/GetNormalizedRange.ts @@ -1,3 +1,4 @@ +import { clamp } from '../Clamp/Clamp.ts' import { parseTimelineSeconds } from '../ParseTimelineSeconds/ParseTimelineSeconds.ts' import { roundSeconds } from '../RoundSeconds/RoundSeconds.ts' @@ -19,8 +20,10 @@ export const getNormalizedRange = (durationSeconds: number, startValue: string, } const rawStart = parsedStart ?? 0 const rawEnd = parsedEnd ?? durationSeconds - const normalizedStart = Math.max(0, Math.min(durationSeconds, Math.min(rawStart, rawEnd))) - const normalizedEnd = Math.max(0, Math.min(durationSeconds, Math.max(rawStart, rawEnd))) + const rangeStart = Math.min(rawStart, rawEnd) + const rangeEnd = Math.max(rawStart, rawEnd) + const normalizedStart = clamp(rangeStart, 0, durationSeconds) + const normalizedEnd = clamp(rangeEnd, 0, durationSeconds) return { endSeconds: roundSeconds(normalizedEnd), hasSelection: true, diff --git a/packages/chat-debug-view/test/Clamp.test.ts b/packages/chat-debug-view/test/Clamp.test.ts new file mode 100644 index 00000000..9d56740f --- /dev/null +++ b/packages/chat-debug-view/test/Clamp.test.ts @@ -0,0 +1,8 @@ +import { expect, test } from '@jest/globals' +import { clamp } from '../src/parts/Clamp/Clamp.ts' + +test('clamp should keep values inside the given bounds', () => { + expect(clamp(5, 0, 10)).toBe(5) + expect(clamp(-1, 0, 10)).toBe(0) + expect(clamp(12, 0, 10)).toBe(10) +})