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

This commit is contained in:
Kamil Rojewski
2018-12-06 20:12:06 +01:00
committed by Wouter van Oortmerssen
parent 80d148b175
commit 30c4948541
5 changed files with 22 additions and 22 deletions

2
BUILD
View File

@@ -86,7 +86,7 @@ cc_binary(
"src/idl_gen_general.cpp",
"src/idl_gen_go.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_lua.cpp",
"src/idl_gen_lobster.cpp",

View File

@@ -20,7 +20,7 @@ option(FLATBUFFERS_BUILD_SHAREDLIB
OFF)
option(FLATBUFFERS_LIBCXX_WITH_CLANG "Force libc++ when using Clang" ON)
# 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."
OFF)
@@ -72,7 +72,7 @@ set(FlatBuffers_Compiler_SRCS
src/idl_gen_dart.cpp
src/idl_gen_general.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_python.cpp
src/idl_gen_lobster.cpp
@@ -218,7 +218,7 @@ function(add_fsanitize_to_target _target _sanitizer)
# override default by user-defined sanitizer list
set(_sanitizer_flags ${_sanitizer})
endif()
target_compile_options(${_target} PRIVATE
target_compile_options(${_target} PRIVATE
-g -fsigned-char -fno-omit-frame-pointer
"-fsanitize${_sanitizer_flags}")
target_link_libraries(${_target} PRIVATE

View File

@@ -820,7 +820,7 @@ extern bool GenerateDart(const Parser &parser,
// Generate JavaScript or TypeScript code from the definitions in the Parser object.
// See idl_gen_js.
extern bool GenerateJS(const Parser &parser,
extern bool GenerateJSTS(const Parser &parser,
const std::string &path,
const std::string &file_name);
@@ -882,7 +882,7 @@ extern bool GenerateFBS(const Parser &parser,
// Generate a make rule for the generated JavaScript or TypeScript code.
// 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 &file_name);

View File

@@ -55,15 +55,15 @@ int main(int argc, const char *argv[]) {
flatbuffers::GenerateJavaGRPC, flatbuffers::IDLOptions::kJava,
"Generate Java classes for tables/structs",
flatbuffers::GeneralMakeRule },
{ flatbuffers::GenerateJS, "-s", "--js", "JavaScript", true, nullptr,
{ flatbuffers::GenerateJSTS, "-s", "--js", "JavaScript", true, nullptr,
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::IDLOptions::kDart,
"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,
"Generate TypeScript code for tables/structs", flatbuffers::JSMakeRule },
"Generate TypeScript code for tables/structs", flatbuffers::JSTSMakeRule },
{ flatbuffers::GenerateGeneral, "-n", "--csharp", "C#", true, nullptr,
flatbuffers::IDLOptions::kCSharp,
"Generate C# classes for tables/structs", flatbuffers::GeneralMakeRule },

View File

@@ -28,7 +28,7 @@ namespace flatbuffers {
const std::string kGeneratedFileNamePostfix = "_generated";
struct JsLanguageParameters {
struct JsTsLanguageParameters {
IDLOptions::Language language;
std::string file_extension;
};
@@ -41,8 +41,8 @@ struct ReexportDescription {
enum AnnotationType { kParam = 0, kType = 1, kReturns = 2 };
const JsLanguageParameters &GetJsLangParams(IDLOptions::Language lang) {
static JsLanguageParameters js_language_parameters[] = {
const JsTsLanguageParameters &GetJsLangParams(IDLOptions::Language lang) {
static JsTsLanguageParameters js_language_parameters[] = {
{
IDLOptions::kJs,
".js",
@@ -63,20 +63,20 @@ const JsLanguageParameters &GetJsLangParams(IDLOptions::Language lang) {
static std::string GeneratedFileName(const std::string &path,
const std::string &file_name,
const JsLanguageParameters &lang) {
const JsTsLanguageParameters &lang) {
return path + file_name + kGeneratedFileNamePostfix + lang.file_extension;
}
namespace js {
namespace jsts {
// Iterate through all definitions we haven't generate code for (enums, structs,
// and tables) and output them to a single file.
class JsGenerator : public BaseGenerator {
class JsTsGenerator : public BaseGenerator {
public:
typedef std::unordered_set<std::string> imported_fileset;
typedef std::unordered_multimap<std::string, ReexportDescription>
reexport_map;
JsGenerator(const Parser &parser, const std::string &path,
JsTsGenerator(const Parser &parser, const std::string &path,
const std::string &file_name)
: BaseGenerator(parser, path, file_name, "", "."),
lang_(GetJsLangParams(parser_.opts.lang)){};
@@ -117,7 +117,7 @@ class JsGenerator : public BaseGenerator {
}
private:
JsLanguageParameters lang_;
JsTsLanguageParameters lang_;
// Generate code for imports
void generateImportDependencies(std::string *code_ptr,
@@ -1308,15 +1308,15 @@ class JsGenerator : public BaseGenerator {
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) {
js::JsGenerator generator(parser, path, file_name);
jsts::JsTsGenerator generator(parser, path, file_name);
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) {
FLATBUFFERS_ASSERT(parser.opts.lang <= IDLOptions::kMAX);
const auto &lang = GetJsLangParams(parser.opts.lang);