Exemplo n.º 1
0
    public static void Generate(ICSharpToTypeScript info) {
      StringBuilder sb = new StringBuilder();
      foreach (var u in info.Uses()) {
        sb.Append("/// <reference path=\""); sb.Append(u); sb.AppendLine("\" />");
      }
      sb.Append("module "); sb.Append(info.Module()); sb.AppendLine(" {");
      //if (info.getJsonMLMeta() != null) sb.AppendLine(" export var meta: { [type:string]:CourseModel.jsClassMeta;} = null;"); //{'~rootTag':<any>'" + info.getJsonMLMeta().root.Name + "' };");
      foreach (var en in info.Enums()) GenEnum(en, sb);
      foreach (var en in info.Types()) {
        GenType(en, info.ExtendedTypes().ToArray(), info.Module(), sb);
        //finishCourseModelType(info, en, sb);
      }
      var meta = info.getJsonMLMeta();
      if (meta != null) {
        sb.Append("export var meta: CourseModel.jsonMLMeta = <any>");
        var json = JsonConvert.SerializeObject(meta, Formatting.None, new JsonSerializerSettings { DefaultValueHandling = DefaultValueHandling.Ignore, NullValueHandling = NullValueHandling.Ignore });
        sb.Append(json.Replace("###\"", null).Replace("\"###", null)); sb.AppendLine(";");
        foreach (var tp in meta.types.Values) {
          sb.Append(string.Format("export var t{0} = '{1}'; ", tp.name, tp.tagName));
        }
      }

      if (info.generateFeature(FeatureType.LineNames)) generateLineNames(sb);
      if (info.generateFeature(FeatureType.LangToLineNames)) GenLangToLine(sb);
      if (info.generateFeature(FeatureType.LineToLangNames)) GenLinesToLang(sb);
      if (info.generateFeature(FeatureType.LangLists)) GenLangLists(sb);
      if (info.generateFeature(FeatureType.LangToEADir)) GenLangToEADir(sb);
      if (info.generateFeature(FeatureType.gaffFill_normTable)) GenGaffFill_normTable(sb);
      if (info.generateFeature(FeatureType.authorWebXSD)) GenAuthorWebXSD(sb);
      //GenInheritanceTree(info, sb);
      //sb.AppendLine(info.code());
      sb.AppendLine("}");
      File.WriteAllText(info.TsPath(), sb.ToString(), Encoding.ASCII);
    }
Exemplo n.º 2
0
 static bool isCourseModel(ICSharpToTypeScript info) { return info.Module() == "CourseModel"; }
Exemplo n.º 3
0
 public static void Generate(ICSharpToTypeScript info) {
   StringBuilder sb = new StringBuilder();
   GenerateStr(sb, info);
   File.WriteAllText(info.TsPath(), sb.ToString(), Encoding.ASCII);
 }