nodes/YouTrack/resources/command/utils.ts (23 lines of code) (raw):

import { NodeOperationError } from 'n8n-workflow'; import type { IExecuteSingleFunctions } from 'n8n-workflow'; /** * Normalizes a command query string by: * - Trimming leading/trailing whitespace * - Converting newlines to spaces * - Collapsing multiple spaces to single space * * @param query - The raw query string * @returns Normalized query string */ export function normalizeCommandQuery(query: string): string { return query.trim().replace(/\n+/g, ' ').replace(/\s+/g, ' '); } /** * Validates that a query string is not empty * * @param query - The query string to validate * @param context - The n8n execution context * @throws {NodeOperationError} If query is empty or undefined */ export function validateCommandQuery( query: string | undefined, context: IExecuteSingleFunctions ): void { if (!query) { throw new NodeOperationError( context.getNode(), 'Command query is required' ); } } /** * Normalizes comment text by trimming whitespace * * @param comment - The raw comment string * @returns Trimmed comment string, or undefined if empty */ export function normalizeComment(comment: string | undefined): string | undefined { if (!comment) { return undefined; } const trimmed = comment.trim(); return trimmed || undefined; }