import { ObjectElement, ArrayElement, StringElement, BooleanElement, NullElement, NumberElement, LinkElement, RefElement } from 'minim';
import AnnotationElement from "../elements/Annotation.js";
import CommentElement from "../elements/Comment.js";
import ParseResultElement from "../elements/ParseResult.js";
import SourceMapElement from "../elements/SourceMap.js";
import { createRefractor } from "./index.js";
ObjectElement.refract = createRefractor(ObjectElement);
ArrayElement.refract = createRefractor(ArrayElement);
StringElement.refract = createRefractor(StringElement);
BooleanElement.refract = createRefractor(BooleanElement);
NullElement.refract = createRefractor(NullElement);
NumberElement.refract = createRefractor(NumberElement);
LinkElement.refract = createRefractor(LinkElement);
RefElement.refract = createRefractor(RefElement);
AnnotationElement.refract = createRefractor(AnnotationElement);
CommentElement.refract = createRefractor(CommentElement);
ParseResultElement.refract = createRefractor(ParseResultElement);
SourceMapElement.refract = createRefractor(SourceMapElement);