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'
);
}
|