public static void GenerateFiles(string targetDir, DefaultTypeScriptGeneratorOutput output, LinterDisableMode linterDisableMode)
        {
            DeleteFiles(targetDir, "*.ts");
            Directory.CreateDirectory(targetDir);
            foreach (var unit in output.Units)
            {
                var targetFileName = GetUnitTargetFileName(targetDir, unit);

                EnsureDirectoryExists(targetFileName);

                var linterDisable = linterDisableMode == LinterDisableMode.TsLint ? "// tslint:disable" : "/* eslint-disable */";
                File.WriteAllText(targetFileName, $"{linterDisable}\n{generatedContentMarkerString}\n");
                File.AppendAllText(targetFileName, unit.GenerateCode(new DefaultCodeGenerationContext()));
            }
        }
예제 #2
0
        public static FilesGenerationContext Create(LinterDisableMode linterDisableMode)
        {
            var linterDisable = linterDisableMode == LinterDisableMode.TsLint ? "tslint:disable" : "eslint-disable";

            return(new FilesGenerationContext("ts", marker => $"// {linterDisable}\n{marker}\n"));
        }
예제 #3
0
        public static FilesGenerationContext Create(JavaScriptTypeChecker javaScriptTypeChecker, LinterDisableMode linterDisableMode)
        {
            switch (javaScriptTypeChecker)
            {
            case JavaScriptTypeChecker.Flow:
                return(new FilesGenerationContext("js", marker => $"// @flow\n{marker}\n", javaScriptTypeChecker));

            case JavaScriptTypeChecker.TypeScript:
                var linterDisable = linterDisableMode == LinterDisableMode.TsLint ? "tslint:disable" : "eslint-disable";
                return(new FilesGenerationContext("ts", marker => $"// {linterDisable}\n{marker}\n", javaScriptTypeChecker));

            default:
                throw new ArgumentOutOfRangeException(nameof(javaScriptTypeChecker), javaScriptTypeChecker, null);
            }
        }