@prismicio/client
Version:
The official JavaScript + TypeScript client library for Prismic
28 lines (24 loc) • 739 B
text/typescript
import type { RTTextNode, RichTextField } from "../types/value/richText"
/**
* Converts a rich text field to a plain text string.
*
* @param richTextField - A rich text field from Prismic.
* @param separator - Separator used to join each element. Defaults to a space.
*
* @returns Plain text equivalent of the rich text field.
*
* @see Learn how to work with rich text fields: {@link https://prismic.io/docs/fields/rich-text}
*/
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
}