All files / src/interfaces/DataType IPrimitive.ts

100% Statements 2/2
66.66% Branches 2/3
100% Functions 1/1
100% Lines 2/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25                                  1x 2x            
/**
 * Interface for objects that can be converted to a primitive value.
 */
export interface IPrimitive {
    /**
     * Converts the object to a primitive like value
     * which is frontmatter compatible.
     * @returns The primitive
     */
    primitiveOf(): string | string[];
}
 
/**
 * Checks if the object is an {@link IPrimitive}.
 * @param obj The object to check.
 * @returns Whether the object is an {@link IPrimitive}.
 */
export function isIPrimitive(obj: unknown): obj is IPrimitive {
    return (
        obj != null &&
        typeof obj === 'object' &&
        typeof (obj as IPrimitive).primitiveOf === 'function'
    );
}
 
Zur TypeDoc-Dokumentation