import { SugarElement } from '@ephox/sugar'; import * as fc from 'fast-check'; const createTag = (name: string): SugarElement => { const partial = name.split('-'); const tag = partial.length > 0 ? partial[0] : name; return SugarElement.fromTag(tag) as SugarElement; }; const comment = fc.string() .map((s) => { const raw = document.createComment(s); return SugarElement.fromDom(raw); }); const elementOfArb = (arb: fc.Arbitrary): fc.Arbitrary> => arb.map((name) => createTag(name)); const elementOf = (tag: string): SugarElement => createTag(tag); const textOfArb = (arb: fc.Arbitrary): fc.Arbitrary> => arb.map(SugarElement.fromText); const textOf = (s: string): SugarElement => SugarElement.fromText(s); export { elementOfArb, elementOf, comment, textOf, textOfArb };