rhine-var
Version:
Variables that support multi-user collaboration and persistence, making collaboration and variable operations as simple as possible, with strict and well-defined type hints.
45 lines (44 loc) • 2.22 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createRhineVar = createRhineVar;
const y_object_1 = __importDefault(require("../native/y-object"));
const rhine_var_array_class_1 = __importDefault(require("../var/items/rhine-var-array.class"));
const rhine_var_map_class_1 = __importDefault(require("../var/items/rhine-var-map.class"));
const rhine_var_object_class_1 = __importDefault(require("../var/items/rhine-var-object.class"));
const rhine_var_text_class_1 = __importDefault(require("../var/items/rhine-var-text.class"));
const rhine_var_xml_element_class_1 = __importDefault(require("../var/items/rhine-var-xml-element.class"));
const rhine_var_xml_fragment_class_1 = __importDefault(require("../var/items/rhine-var-xml-fragment.class"));
const rhine_var_xml_text_class_1 = __importDefault(require("../var/items/rhine-var-xml-text.class"));
const index_1 = require("../../index");
function createRhineVar(target, parent) {
if (target instanceof y_object_1.default) {
return new rhine_var_object_class_1.default(target, parent);
}
else if (target instanceof index_1.YMap) {
if (target.get('_class') === 'RhineVarObject') {
return new rhine_var_object_class_1.default(target, parent);
}
return new rhine_var_map_class_1.default(target, parent);
}
else if (target instanceof index_1.YArray) {
return new rhine_var_array_class_1.default(target, parent);
}
else if (target instanceof index_1.YXmlText) {
return new rhine_var_xml_text_class_1.default(target, parent);
}
else if (target instanceof index_1.YXmlElement) {
return new rhine_var_xml_element_class_1.default(target, parent);
}
else if (target instanceof index_1.YXmlFragment) {
return new rhine_var_xml_fragment_class_1.default(target, parent);
}
else if (target instanceof index_1.YText) {
return new rhine_var_text_class_1.default(target, parent);
}
else {
throw new Error('Unsupported target type to createRhineVar');
}
}