Function: conditionalTrimAndValidateString()
Gala Launchpad SDK 9.0.0-rc.5 / index / conditionalTrimAndValidateString
Function: conditionalTrimAndValidateString()
conditionalTrimAndValidateString(
value,_fieldName?,minLength?):string|null
Defined in: packages/launchpad-sdk/dist/utils/string-patterns.d.ts:84
Safely trim a string and validate it is non-empty.
Performs conditional trimming and validation for optional string values. Returns null if value is falsy, not a string, or empty after trimming. Useful for chat messages, reasons, comments, and other user input validation.
Consolidated from 15 duplicated patterns in chat/comment/ban operations:
reason?.trim() && reason.trim().length > 0content?.trim().length > 0message && message.trim().length > 0
Parameters
value
unknown
Unknown input value to process
_fieldName?
string
minLength?
number
Optional minimum length requirement (default: 1)
Returns
string | null
Trimmed string if valid and non-empty, null otherwise
Examples
Basic usage with optional values
import { conditionalTrimAndValidateString } from '@gala-chain/launchpad-sdk';
const message = ' Hello world ';
const trimmed = conditionalTrimAndValidateString(message);
console.log(trimmed); // 'Hello world'
const empty = ' ';
console.log(conditionalTrimAndValidateString(empty)); // null
const undefined_ = undefined;
console.log(conditionalTrimAndValidateString(undefined_)); // null
Chat message validation
import { conditionalTrimAndValidateString } from '@gala-chain/launchpad-sdk';
const chatMessage = userInput?.trim();
// OLD: if (chatMessage && chatMessage.length > 0) { ... }
// NEW:
const validatedMessage = conditionalTrimAndValidateString(userInput, 'message');
if (validatedMessage !== null) {
await sdk.sendChatMessage(validatedMessage);
}
Comment with minimum length
import { conditionalTrimAndValidateString } from '@gala-chain/launchpad-sdk';
const comment = ' Hi '; // Only 2 chars after trim
const validated = conditionalTrimAndValidateString(comment, 'comment', 5);
console.log(validated); // null (2 < 5)
const goodComment = ' This is great! '; // 14 chars after trim
const result = conditionalTrimAndValidateString(goodComment, 'comment', 5);
console.log(result); // 'This is great!'
Ban reason validation
import { conditionalTrimAndValidateString } from '@gala-chain/launchpad-sdk';
const reason = userProvidedReason;
// OLD: if (reason?.trim() && reason.trim().length > 0) { ... }
// NEW:
const validatedReason = conditionalTrimAndValidateString(reason, 'reason');
if (validatedReason !== null) {
await sdk.createBan({ tokenName, userAddress, reason: validatedReason });
}
Since
6.14.0