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;