| 12345678910111213141516171819202122232425262728293031323334353637383940 | const _ = require('lodash')module.exports = {  /**   * Get default value of type   *   * @param {any} type primitive type name   * @returns Default value   */  getTypeDefaultValue (type) {    switch (type.toLowerCase()) {      case 'string':        return ''      case 'number':        return 0      case 'boolean':        return false    }  },  parseModuleProps (props) {    return _.transform(props, (result, value, key) => {      let defaultValue = ''      if (_.isPlainObject(value)) {        defaultValue = !_.isNil(value.default) ? value.default : this.getTypeDefaultValue(value.type)      } else {        defaultValue = this.getTypeDefaultValue(value)      }      _.set(result, key, {        default: defaultValue,        type: (value.type || value).toLowerCase(),        title: value.title || _.startCase(key),        hint: value.hint || false,        enum: value.enum || false,        multiline: value.multiline || false,        order: value.order || 100      })      return result    }, {})  }}
 |