Commit 30c49485 authored by Kamil Rojewski's avatar Kamil Rojewski Committed by Wouter van Oortmerssen

Renamed JS generator to explicitly state it generates TS too (#5043)

parent 80d148b1
...@@ -86,7 +86,7 @@ cc_binary( ...@@ -86,7 +86,7 @@ cc_binary(
"src/idl_gen_general.cpp", "src/idl_gen_general.cpp",
"src/idl_gen_go.cpp", "src/idl_gen_go.cpp",
"src/idl_gen_grpc.cpp", "src/idl_gen_grpc.cpp",
"src/idl_gen_js.cpp", "src/idl_gen_js_ts.cpp",
"src/idl_gen_json_schema.cpp", "src/idl_gen_json_schema.cpp",
"src/idl_gen_lua.cpp", "src/idl_gen_lua.cpp",
"src/idl_gen_lobster.cpp", "src/idl_gen_lobster.cpp",
......
...@@ -20,7 +20,7 @@ option(FLATBUFFERS_BUILD_SHAREDLIB ...@@ -20,7 +20,7 @@ option(FLATBUFFERS_BUILD_SHAREDLIB
OFF) OFF)
option(FLATBUFFERS_LIBCXX_WITH_CLANG "Force libc++ when using Clang" ON) option(FLATBUFFERS_LIBCXX_WITH_CLANG "Force libc++ when using Clang" ON)
# NOTE: Sanitizer check only works on Linux & OSX (gcc & llvm). # NOTE: Sanitizer check only works on Linux & OSX (gcc & llvm).
option(FLATBUFFERS_CODE_SANITIZE option(FLATBUFFERS_CODE_SANITIZE
"Add '-fsanitize' flags to 'flattests' and 'flatc' targets." "Add '-fsanitize' flags to 'flattests' and 'flatc' targets."
OFF) OFF)
...@@ -72,7 +72,7 @@ set(FlatBuffers_Compiler_SRCS ...@@ -72,7 +72,7 @@ set(FlatBuffers_Compiler_SRCS
src/idl_gen_dart.cpp src/idl_gen_dart.cpp
src/idl_gen_general.cpp src/idl_gen_general.cpp
src/idl_gen_go.cpp src/idl_gen_go.cpp
src/idl_gen_js.cpp src/idl_gen_js_ts.cpp
src/idl_gen_php.cpp src/idl_gen_php.cpp
src/idl_gen_python.cpp src/idl_gen_python.cpp
src/idl_gen_lobster.cpp src/idl_gen_lobster.cpp
...@@ -218,7 +218,7 @@ function(add_fsanitize_to_target _target _sanitizer) ...@@ -218,7 +218,7 @@ function(add_fsanitize_to_target _target _sanitizer)
# override default by user-defined sanitizer list # override default by user-defined sanitizer list
set(_sanitizer_flags ${_sanitizer}) set(_sanitizer_flags ${_sanitizer})
endif() endif()
target_compile_options(${_target} PRIVATE target_compile_options(${_target} PRIVATE
-g -fsigned-char -fno-omit-frame-pointer -g -fsigned-char -fno-omit-frame-pointer
"-fsanitize${_sanitizer_flags}") "-fsanitize${_sanitizer_flags}")
target_link_libraries(${_target} PRIVATE target_link_libraries(${_target} PRIVATE
......
...@@ -820,7 +820,7 @@ extern bool GenerateDart(const Parser &parser, ...@@ -820,7 +820,7 @@ extern bool GenerateDart(const Parser &parser,
// Generate JavaScript or TypeScript code from the definitions in the Parser object. // Generate JavaScript or TypeScript code from the definitions in the Parser object.
// See idl_gen_js. // See idl_gen_js.
extern bool GenerateJS(const Parser &parser, extern bool GenerateJSTS(const Parser &parser,
const std::string &path, const std::string &path,
const std::string &file_name); const std::string &file_name);
...@@ -882,7 +882,7 @@ extern bool GenerateFBS(const Parser &parser, ...@@ -882,7 +882,7 @@ extern bool GenerateFBS(const Parser &parser,
// Generate a make rule for the generated JavaScript or TypeScript code. // Generate a make rule for the generated JavaScript or TypeScript code.
// See idl_gen_js.cpp. // See idl_gen_js.cpp.
extern std::string JSMakeRule(const Parser &parser, extern std::string JSTSMakeRule(const Parser &parser,
const std::string &path, const std::string &path,
const std::string &file_name); const std::string &file_name);
......
...@@ -55,15 +55,15 @@ int main(int argc, const char *argv[]) { ...@@ -55,15 +55,15 @@ int main(int argc, const char *argv[]) {
flatbuffers::GenerateJavaGRPC, flatbuffers::IDLOptions::kJava, flatbuffers::GenerateJavaGRPC, flatbuffers::IDLOptions::kJava,
"Generate Java classes for tables/structs", "Generate Java classes for tables/structs",
flatbuffers::GeneralMakeRule }, flatbuffers::GeneralMakeRule },
{ flatbuffers::GenerateJS, "-s", "--js", "JavaScript", true, nullptr, { flatbuffers::GenerateJSTS, "-s", "--js", "JavaScript", true, nullptr,
flatbuffers::IDLOptions::kJs, flatbuffers::IDLOptions::kJs,
"Generate JavaScript code for tables/structs", flatbuffers::JSMakeRule }, "Generate JavaScript code for tables/structs", flatbuffers::JSTSMakeRule },
{ flatbuffers::GenerateDart, "-d", "--dart", "Dart", true, nullptr, { flatbuffers::GenerateDart, "-d", "--dart", "Dart", true, nullptr,
flatbuffers::IDLOptions::kDart, flatbuffers::IDLOptions::kDart,
"Generate Dart classes for tables/structs", flatbuffers::DartMakeRule }, "Generate Dart classes for tables/structs", flatbuffers::DartMakeRule },
{ flatbuffers::GenerateJS, "-T", "--ts", "TypeScript", true, nullptr, { flatbuffers::GenerateJSTS, "-T", "--ts", "TypeScript", true, nullptr,
flatbuffers::IDLOptions::kTs, flatbuffers::IDLOptions::kTs,
"Generate TypeScript code for tables/structs", flatbuffers::JSMakeRule }, "Generate TypeScript code for tables/structs", flatbuffers::JSTSMakeRule },
{ flatbuffers::GenerateGeneral, "-n", "--csharp", "C#", true, nullptr, { flatbuffers::GenerateGeneral, "-n", "--csharp", "C#", true, nullptr,
flatbuffers::IDLOptions::kCSharp, flatbuffers::IDLOptions::kCSharp,
"Generate C# classes for tables/structs", flatbuffers::GeneralMakeRule }, "Generate C# classes for tables/structs", flatbuffers::GeneralMakeRule },
......
...@@ -28,7 +28,7 @@ namespace flatbuffers { ...@@ -28,7 +28,7 @@ namespace flatbuffers {
const std::string kGeneratedFileNamePostfix = "_generated"; const std::string kGeneratedFileNamePostfix = "_generated";
struct JsLanguageParameters { struct JsTsLanguageParameters {
IDLOptions::Language language; IDLOptions::Language language;
std::string file_extension; std::string file_extension;
}; };
...@@ -41,8 +41,8 @@ struct ReexportDescription { ...@@ -41,8 +41,8 @@ struct ReexportDescription {
enum AnnotationType { kParam = 0, kType = 1, kReturns = 2 }; enum AnnotationType { kParam = 0, kType = 1, kReturns = 2 };
const JsLanguageParameters &GetJsLangParams(IDLOptions::Language lang) { const JsTsLanguageParameters &GetJsLangParams(IDLOptions::Language lang) {
static JsLanguageParameters js_language_parameters[] = { static JsTsLanguageParameters js_language_parameters[] = {
{ {
IDLOptions::kJs, IDLOptions::kJs,
".js", ".js",
...@@ -63,20 +63,20 @@ const JsLanguageParameters &GetJsLangParams(IDLOptions::Language lang) { ...@@ -63,20 +63,20 @@ const JsLanguageParameters &GetJsLangParams(IDLOptions::Language lang) {
static std::string GeneratedFileName(const std::string &path, static std::string GeneratedFileName(const std::string &path,
const std::string &file_name, const std::string &file_name,
const JsLanguageParameters &lang) { const JsTsLanguageParameters &lang) {
return path + file_name + kGeneratedFileNamePostfix + lang.file_extension; return path + file_name + kGeneratedFileNamePostfix + lang.file_extension;
} }
namespace js { namespace jsts {
// Iterate through all definitions we haven't generate code for (enums, structs, // Iterate through all definitions we haven't generate code for (enums, structs,
// and tables) and output them to a single file. // and tables) and output them to a single file.
class JsGenerator : public BaseGenerator { class JsTsGenerator : public BaseGenerator {
public: public:
typedef std::unordered_set<std::string> imported_fileset; typedef std::unordered_set<std::string> imported_fileset;
typedef std::unordered_multimap<std::string, ReexportDescription> typedef std::unordered_multimap<std::string, ReexportDescription>
reexport_map; reexport_map;
JsGenerator(const Parser &parser, const std::string &path, JsTsGenerator(const Parser &parser, const std::string &path,
const std::string &file_name) const std::string &file_name)
: BaseGenerator(parser, path, file_name, "", "."), : BaseGenerator(parser, path, file_name, "", "."),
lang_(GetJsLangParams(parser_.opts.lang)){}; lang_(GetJsLangParams(parser_.opts.lang)){};
...@@ -117,7 +117,7 @@ class JsGenerator : public BaseGenerator { ...@@ -117,7 +117,7 @@ class JsGenerator : public BaseGenerator {
} }
private: private:
JsLanguageParameters lang_; JsTsLanguageParameters lang_;
// Generate code for imports // Generate code for imports
void generateImportDependencies(std::string *code_ptr, void generateImportDependencies(std::string *code_ptr,
...@@ -1308,15 +1308,15 @@ class JsGenerator : public BaseGenerator { ...@@ -1308,15 +1308,15 @@ class JsGenerator : public BaseGenerator {
return argname; return argname;
} }
}; };
} // namespace js } // namespace jsts
bool GenerateJS(const Parser &parser, const std::string &path, bool GenerateJSTS(const Parser &parser, const std::string &path,
const std::string &file_name) { const std::string &file_name) {
js::JsGenerator generator(parser, path, file_name); jsts::JsTsGenerator generator(parser, path, file_name);
return generator.generate(); return generator.generate();
} }
std::string JSMakeRule(const Parser &parser, const std::string &path, std::string JSTSMakeRule(const Parser &parser, const std::string &path,
const std::string &file_name) { const std::string &file_name) {
FLATBUFFERS_ASSERT(parser.opts.lang <= IDLOptions::kMAX); FLATBUFFERS_ASSERT(parser.opts.lang <= IDLOptions::kMAX);
const auto &lang = GetJsLangParams(parser.opts.lang); const auto &lang = GetJsLangParams(parser.opts.lang);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment