All files / src/modules passageDataFactory.ts

22.22% Statements 2/9
100% Branches 0/0
0% Functions 0/2
22.22% Lines 2/9
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1x                                 1x
import IDocumentLike from '../NodeLike/ParentNodeLike/DocumentLike/IDocumentLike';
import IElementLike  from '../NodeLike/ParentNodeLike/ElementLike/IElementLike';
import nodeFactory   from './nodeFactory';
import TPassage      from '../TypeAliases/TPassage';
function passageDataFactory(
  passage: TPassage,
  document: IDocumentLike): IElementLike
{
  const passageData = document.createElement('tw-passagedata');
  passageData.setAttribute('name', passage.passageName);
  passageData.setAttribute('tags', passage.tags.join(' '));
  const nodes = passage.abstractSyntaxTree.map((node) => {
    return nodeFactory(node, document);
  });
 
  passageData.append(...nodes);
  return passageData;
}
 
export default passageDataFactory;