Home Reference Source Test

src/predicates/isNotBlank.ts

import { Predicate } from './Predicate';

/**
 * @desc
 *  Ensures that the `value` is not an empty string.
 *
 * @example
 * import { ensure, isString, TinyType } from 'tiny-types';
 *
 * class FirstName extends TinyType {
 *     constructor(public readonly value: string) {
 *         ensure('FirstName', value, isNotBlank());
 *     }
 * }
 *
 * @returns {Predicate<string>}
 */
export function isNotBlank(): Predicate<string> {
    return Predicate.to(`not be blank`, (value: string) => typeof value === 'string' && value !== '');
}