in lib/generator.js [1825:1870]
visitExtendOn(extendOn, level, type = 'model') {
if(!extendOn) {
type === 'exception' ? this.emit(`dara.${CORE}Error\n`, level) : this.emit(`dara.Model\n`, level);
return;
}
switch(_name(extendOn)) {
case '$Error':
this.emit(`dara.${CORE}Error\n`, level);
return;
case '$ResponseError':
this.emit(`dara.ResponseError\n`, level);
return;
case '$Model':
this.emit(`dara.Model\n`, level);
return;
}
if (extendOn.type === 'moduleModel') {
const [moduleId, ...rest] = extendOn.path;
this.emit(`${_importFilter(_name(moduleId).toLowerCase())}.`, level);
this.emit('i');
this.emit(rest.map((item) => {
return _format(_name(item));
}).join(''));
} else if (extendOn.type === 'subModel') {
this.emit(extendOn.path.map((item) => {
return _format(_name(item));
}).join(''), level);
const [moduleId, ...rest] = extendOn.path;
this.emit(`i${_format(_name(moduleId))}`);
this.emit(rest.map((item) => {
return _format(_name(item));
}).join(''));
} else {
this.emit('i', level);
if (extendOn.moduleName) {
this.emit(`${_importFilter(_name(extendOn.moduleName).toLowerCase())}.`);
}
this.emit(`${_modelName(_format(_name(extendOn)))}`);
}
if(type === 'exception') {
this.emit('Error');
}
this.emit('\n');
}