Skip to main content

Function: conditionalTrimAndValidateString()

Gala Launchpad SDK 9.0.0-rc.5


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 > 0
  • content?.trim().length > 0
  • message && 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