UNPKG

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
"use strict"; 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'); } }