@krlwlfrt/xsdco
Version:
XSD converter
31 lines • 2.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateName = generateName;
exports.generatePropertyTypeFactory = generatePropertyTypeFactory;
const tsg_1 = require("@krlwlfrt/tsg");
function getValidName(name) {
return name
.split('.')
.join('__');
}
function generateName(thing) {
if ((0, tsg_1.isAttribute)(thing)) {
return thing.name;
}
return getValidName(`${thing.namespace === '' ? '' : thing.namespace + '__'}${thing.name}`);
}
function generatePropertyTypeFactory(rootNamespaces) {
return (property) => {
if (['date', 'time'].indexOf(property.type.name) >= 0) {
return 'string';
}
if (['decimal', 'short', 'unsignedByte', 'int', 'integer'].includes(property.type.name)) {
return 'number';
}
if (typeof property.type.namespace === 'string' && rootNamespaces.indexOf(property.type.namespace) >= 0) {
return property.type.name;
}
return getValidName(`${property.type.namespace === '' ? '' : property.type.namespace + '__'}${property.type.name}`);
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZXhhbXBsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFpQ0Esb0NBTUM7QUFPRCxrRUFnQkM7QUEvQ0QsdUNBQStFO0FBTy9FLFNBQVMsWUFBWSxDQUFDLElBQVk7SUFDaEMsT0FBTyxJQUFJO1NBQ1IsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQixDQUFDO0FBT0QsU0FBZ0IsWUFBWSxDQUFDLEtBQWdDO0lBQzNELElBQUksSUFBQSxpQkFBVyxFQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFQSxPQUFPLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQyxTQUFTLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQy9GLENBQUM7QUFPRCxTQUFnQiwyQkFBMkIsQ0FBQyxjQUF3QjtJQUNsRSxPQUFPLENBQUMsUUFBa0IsRUFBVSxFQUFFO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEQsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN4RixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsSUFBSSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFFBQVEsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEcsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM1QixDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0SCxDQUFDLENBQUM7QUFDSixDQUFDIn0=