import JSONSchemaElement from "../elements/JSONSchema.js";
import JSONReferenceElement from "../elements/JSONReference.js";
import MediaElement from "../elements/Media.js";
import LinkDescriptionElement from "../elements/LinkDescription.js";
import { createRefractor } from "./index.js"; // register refractors specific to element types
JSONSchemaElement.refract = createRefractor(['visitors', 'document', 'objects', 'JSONSchema', '$visitor']);
JSONReferenceElement.refract = createRefractor(['visitors', 'document', 'objects', 'JSONReference', '$visitor']);
MediaElement.refract = createRefractor(['visitors', 'document', 'objects', 'Media', '$visitor']);
LinkDescriptionElement.refract = createRefractor(['visitors', 'document', 'objects', 'LinkDescription', '$visitor']);