woltlab-compiler
Version:
A compiler for WoltLab-Package Archives and WoltLab-Package Components
44 lines • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const util_1 = require("util");
const XMLEditor_1 = require("../../Serialization/XMLEditor");
const OptionFileCompiler_1 = require("./OptionFileCompiler");
/**
* Provides the functionality to compile group-option files.
*/
class GroupOptionFileCompiler extends OptionFileCompiler_1.OptionFileCompiler {
/**
* Initializes a new instance of the `GroupOptionFileCompiler` class.
*
* @param item
* The item to compile.
*/
constructor(item) {
super(item);
}
/**
* @inheritdoc
*/
get SchemaLocation() {
return "http://www.woltlab.com/XSD/tornado/userGroupOption.xsd";
}
/**
* @inheritdoc
*/
CreateOption(option) {
let editor = new XMLEditor_1.XMLEditor(super.CreateOption(option));
if (!util_1.isNullOrUndefined(option.UserDefaultValue)) {
editor.AddTextElement("userdefaultvalue", `${option.UserDefaultValue}`);
}
if (!util_1.isNullOrUndefined(option.ModDefaultValue)) {
editor.AddTextElement("moddefaultvalue", `${option.ModDefaultValue}`);
}
if (!util_1.isNullOrUndefined(option.AdminDefaultValue)) {
editor.AddTextElement("admindefaultvalue", `${option.AdminDefaultValue}`);
}
editor.AddTextElement("usersonly", option.RegisteredOnly ? "1" : "0");
return editor.Element;
}
}
exports.GroupOptionFileCompiler = GroupOptionFileCompiler;
//# sourceMappingURL=GroupOptionFileCompiler.js.map