"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TypeScriptEffectSchemaTargetLanguage = exports.typeScriptEffectSchemaLanguageConfig = exports.typeScriptEffectSchemaOptions = void 0;
const index_js_1 = require("../../RendererOptions/index.js");
const TargetLanguage_js_1 = require("../../TargetLanguage.js");
const TypeScriptEffectSchemaRenderer_js_1 = require("./TypeScriptEffectSchemaRenderer.js");
exports.typeScriptEffectSchemaOptions = {
    justSchema: new index_js_1.BooleanOption("just-schema", "Schema only", false),
};
exports.typeScriptEffectSchemaLanguageConfig = {
    displayName: "TypeScript Effect Schema",
    names: ["typescript-effect-schema"],
    extension: "ts",
};
class TypeScriptEffectSchemaTargetLanguage extends TargetLanguage_js_1.TargetLanguage {
    constructor() {
        super(exports.typeScriptEffectSchemaLanguageConfig);
    }
    getOptions() {
        return {};
    }
    makeRenderer(renderContext, untypedOptionValues) {
        return new TypeScriptEffectSchemaRenderer_js_1.TypeScriptEffectSchemaRenderer(this, renderContext, (0, index_js_1.getOptionValues)(exports.typeScriptEffectSchemaOptions, untypedOptionValues));
    }
}
exports.TypeScriptEffectSchemaTargetLanguage = TypeScriptEffectSchemaTargetLanguage;
