# 数据结构定义所支持的编程语言
# ref:字段定义路径，只支持相对路径
# temps_title:表头模板路径，只支持相对路径，多个路径用","分隔，第一个模板为主模板
# temps_const:常量表模板路径，只支持相对路径，多个路径用","分隔，第一个模板为主模板
languages:
  # ActionScript3
  - name: 'as3'
    ext: 'as'
    ref: './lang/as3.yaml'
    temps_title:
      - './template/as3_title.temp'
    temps_const:
      - './template/as3_const.temp'
  # C++
  - name: 'c++'
    ext: 'cpp'
    ref: './lang/c++.yaml'
    temps_title:
      - './template/c++_title.temp'
    temps_const:
      - './template/c++_const.temp'
  # C#
  - name: 'c#'
    ext: 'cs'
    ref: './lang/c#.yaml'
    temps_title:
      - './template/c#_title.temp'
    temps_const:
      - './template/c#_const.temp'
  # Golang
  - name: 'go'
    ext: 'go'
    ref: './lang/go.yaml'
    temps_title:
      - './template/go_title.temp'
    temps_const:
      - './template/go_const.temp'
  # Java
  - name: 'java'
    ext: 'java'
    ref: './lang/java.yaml'
    temps_title:
      - './template/java_title.temp'
    temps_const:
      - './template/java_const.temp'
  # TypeScript
  - name: 'ts'
    ext: 'ts'
    ref: './lang/ts.yaml'
    temps_title:
      - './template/ts_title.temp'
    temps_const:
      - './template/ts_const.temp'

# 数据库相关配置
# default: 默认使用的数据库
# ref:字段定义路径，只支持相对路径
databases:
  default: 'mysql'
  list:
    - name: 'mysql'
      ref: './db/mysql.yaml'
      temps_table:
        - './db/mysql_table.temp'
      temps_data:
        - './db/mysql_data.temp'

# 支持的数据字段格式
# 其中string中的*代表字符数，范围[1,1024]。
# 浮点数最多支持6位小数，而且当数值越大，精度就越低，反之亦然
# 使用浮点数时，如果是负数，序列化为二进制后再读取，部分编程语言会出现抖动现象，如AS3: -2.3 => [-64,19,51,51] => -2.299999952316284
datafield_formats:
  - bool
  - '[]bool'
  - uint8
  - '[]uint8'
  - uint16
  - '[]uint16'
  - uint32
  - '[]uint32'
  - uint64
  - '[]uint64'
  - int8
  - '[]int8'
  - int16
  - '[]int16'
  - int32
  - '[]int32'
  - int64
  - '[]int64'
  - float32
  - '[]float32'
  - string
  - '[]string'
  - string(*)
  - '[]string(*)'
  - json
  - '[]json'

# 支持的数据文件格式
datafile_formats:
  - bin
  - json
  - sql