import type { CrystallizeRichText, CrystallizeRichTextNode } from '../types/crystallize-rich-text-types';

export function parseInitialState({ richText }: { richText: CrystallizeRichText }): CrystallizeRichTextNode[] {
  let richTextArray = Array.isArray(richText) ? richText : [richText];

  // Ensure all root items are block elements
  richTextArray = richTextArray.map(rootNode => {
    if (!rootNode.kind || rootNode.kind === 'inline') {
      return {
        type: 'paragraph',
        kind: 'block',
        children: [rootNode],
      };
    }

    return rootNode;
  });

  return richTextArray;
}
