From eef50d7f0fa3d2cb12612faf1e0077f63c01b5b2 Mon Sep 17 00:00:00 2001 From: Cody Hansen Date: Mon, 30 Sep 2024 07:48:22 -1000 Subject: [PATCH] Added back in Chet's hex arg checking that was removed through a rebase --- src/components/sequencing/Sequences.svelte | 7 +++---- src/utilities/sequence-editor/sequence-linter.ts | 10 ++++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/components/sequencing/Sequences.svelte b/src/components/sequencing/Sequences.svelte index 76e3a73cae..f236f0ebc4 100644 --- a/src/components/sequencing/Sequences.svelte +++ b/src/components/sequencing/Sequences.svelte @@ -51,7 +51,7 @@ workspaceId = event.detail; if (browser) { - setQueryParam(SearchParameters.WORKSPACE_ID, `${workspaceId}` ?? null); + setQueryParam(SearchParameters.WORKSPACE_ID, `${workspaceId ?? null}`); } } @@ -78,9 +78,8 @@ }} disabled={workspace === undefined} on:click={() => { - goto( - `${base}/sequencing/new${'?' + SearchParameters.WORKSPACE_ID + '=' + getSearchParameterNumber(SearchParameters.WORKSPACE_ID) ?? ''}`, - ); + const workspaceId = getSearchParameterNumber(SearchParameters.WORKSPACE_ID); + goto(`${base}/sequencing/new${workspaceId ? '?' + SearchParameters.WORKSPACE_ID + '=' + workspaceId : ''}`); }} > New Sequence diff --git a/src/utilities/sequence-editor/sequence-linter.ts b/src/utilities/sequence-editor/sequence-linter.ts index cb4580e34f..135d0e2a6a 100644 --- a/src/utilities/sequence-editor/sequence-linter.ts +++ b/src/utilities/sequence-editor/sequence-linter.ts @@ -20,7 +20,7 @@ import { TOKEN_COMMAND, TOKEN_ERROR, TOKEN_REPEAT_ARG, TOKEN_REQUEST } from '../ import { TimeTypes } from '../../enums/time'; import { getGlobals, sequenceAdaptation } from '../../stores/sequence-adaptation'; import { CustomErrorCodes } from '../../workers/customCodes'; -import { addDefaultArgs, quoteEscape } from '../codemirror/codemirror-utils'; +import { addDefaultArgs, isHexValue, parseNumericArg, quoteEscape } from '../codemirror/codemirror-utils'; import { closeSuggestion, computeBlocks, openSuggestion } from '../codemirror/custom-folder'; import { getBalancedDuration, @@ -1185,13 +1185,15 @@ function validateArgument( break; } const { max, min } = dictArg.range; - const nodeTextAsNumber = parseFloat(argText); + const nodeTextAsNumber = parseNumericArg(argText, dictArgType); + const isHex = isHexValue(argText); if (nodeTextAsNumber < min || nodeTextAsNumber > max) { + const numFormat = (n: number) => (isHex ? `0x${n.toString(16).toUpperCase()}` : n); const message = max !== min - ? `Number out of range. Range is between ${min} and ${max} inclusive.` - : `Number out of range. Range is ${min}.`; + ? `Number out of range. Range is between ${numFormat(min)} and ${numFormat(max)} inclusive.` + : `Number out of range. Range is ${numFormat(min)}.`; diagnostics.push({ actions: max === min