BoardKitCore
Validation
Board limit checks and asset size validation
ValidationResult
All validation functions return this type:
interface ValidationResult {
valid: boolean;
errors: string[];
}Default Limits
const LIMITS = {
MAX_ELEMENTS_PER_PAGE: 10_000,
MAX_PAGES_PER_BOARD: 100,
MAX_ASSET_SIZE_MB: 25,
MAX_BOARD_SIZE_MB: 100,
} as const;validateBoardLimits
Checks element and page counts against configured limits.
function validateBoardLimits(
elementCount: number,
pageCount: number,
limits?: Partial<Limits>,
): ValidationResult;import { validateBoardLimits } from '@hfu.digital/boardkit-core';
const result = validateBoardLimits(15000, 5);
// { valid: false, errors: ['Element count 15000 exceeds maximum 10000 per page'] }Pass custom limits to override defaults:
const result = validateBoardLimits(15000, 5, { maxElementsPerPage: 20000 });
// { valid: true, errors: [] }validateAssetSize
Checks an asset's file size against the configured limit.
function validateAssetSize(
sizeBytes: number,
limits?: Partial<Limits>,
): ValidationResult;import { validateAssetSize } from '@hfu.digital/boardkit-core';
const result = validateAssetSize(30 * 1024 * 1024); // 30 MB
// { valid: false, errors: ['Asset size 30.00MB exceeds maximum 25MB'] }Limits Interface
interface Limits {
maxElementsPerPage: number;
maxPagesPerBoard: number;
maxAssetSizeMb: number;
maxBoardSizeMb: number;
}All fields are optional when passed to validation functions — missing fields fall back to the defaults in LIMITS.