UNPKG

@prismicio/richtext

Version:

A parser and serializer for Prismic's Rich Text format

27 lines (23 loc) 818 B
import { RichTextField, RTTextNode } from "@prismicio/types"; /** * Serializes a rich text or title field to a plain text string * * @param richTextField - A rich text or title field from Prismic * @param separator - Separator used to join each element, defaults to a space * * @returns Plain text equivalent of the provided rich text or title field * @see Templating rich text and title fields from Prismic {@link https://prismic.io/docs/technologies/templating-rich-text-and-title-fields-javascript} */ export const asText = ( richTextField: RichTextField, separator = " ", ): string => { let result = ""; for (let i = 0; i < richTextField.length; i++) { if ("text" in richTextField[i]) { result += (result ? separator : "") + (richTextField[i] as RTTextNode).text; } } return result; };