getRealModelName()

in lib/generator.js [171:202]


  getRealModelName(namespace, subModelName, type = 'Models') {
    // fullModelName example: Darabonba.Source.Models.M  Darabonba.Test.Model.Models.Info Darabonba.import.Models.Request.submodel
    if (namespace !== 'Darabonba.Model') {
      const subModelNameArr = subModelName.split('.');
      subModelName = subModelNameArr.map((m, i) => {
        return _avoidReserveName(m);
      }).join('.');
    }

    if (type === 'Exceptions') {
      subModelName += 'Exception';
    }

    // subModel 的处理:例如fullModelName为 Darabonba.import.Models.Request.submodel的情况,index === 0时将Request作为modelName传入
    // namespace为 Darabonba.import.Models, modelName为 Request.RequestSubmodel
    const existName = this.usedClass.get(subModelName);
    if (existName && existName !== namespace) {
      if (!namespace) {
        return subModelName;
      }
      return `${namespace}.${subModelName}`;
    } else if (this.conflictModelNameMap.includes(subModelName)) {
      return `${namespace}.${subModelName}`;
    }

    if (namespace) {
      this.used.push(`${(this.getType((namespace)))}`);
      this.usedClass.set(subModelName, namespace);
    }

    return this._type(subModelName);
  }