mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-04 20:48:59 +00:00
Add flag to make short names in JS/TS. (#5152)
* Add flag to make short names in JS/TS. * Synced all missing docs in Compiler.md <-> flatc.cpp. * Review changes.
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
78fdce28c7
commit
e1defaae5e
@@ -695,11 +695,11 @@ class JsTsGenerator : public BaseGenerator {
|
||||
GenTypeAnnotation(kParam, object_name + "=", "obj") +
|
||||
GenTypeAnnotation(kReturns, object_name, "", false));
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
code += "static getRootAs" + struct_def.name;
|
||||
code += "static getRoot" + Verbose(struct_def,"As");
|
||||
code += "(bb:flatbuffers.ByteBuffer, obj?:" + object_name +
|
||||
"):" + object_name + " {\n";
|
||||
} else {
|
||||
code += object_name + ".getRootAs" + struct_def.name;
|
||||
code += object_name + ".getRoot" + Verbose(struct_def, "As");
|
||||
code += " = function(bb, obj) {\n";
|
||||
}
|
||||
code += " return (obj || new " + object_name;
|
||||
@@ -1083,12 +1083,11 @@ class JsTsGenerator : public BaseGenerator {
|
||||
"", false));
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
code +=
|
||||
"static create" + struct_def.name + "(builder:flatbuffers.Builder";
|
||||
code += "static create" + Verbose(struct_def) + "(builder:flatbuffers.Builder";
|
||||
code += arguments + "):flatbuffers.Offset {\n";
|
||||
} else {
|
||||
code +=
|
||||
object_name + ".create" + struct_def.name + " = function(builder";
|
||||
code += object_name + ".create" + Verbose(struct_def);
|
||||
code += " = function(builder";
|
||||
code += arguments + ") {\n";
|
||||
}
|
||||
|
||||
@@ -1100,10 +1099,9 @@ class JsTsGenerator : public BaseGenerator {
|
||||
"builder", false));
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
code += "static start" + struct_def.name;
|
||||
code += "(builder:flatbuffers.Builder) {\n";
|
||||
code += "static start" + Verbose(struct_def) + "(builder:flatbuffers.Builder) {\n";
|
||||
} else {
|
||||
code += object_name + ".start" + struct_def.name;
|
||||
code += object_name + ".start" + Verbose(struct_def);
|
||||
code += " = function(builder) {\n";
|
||||
}
|
||||
|
||||
@@ -1213,10 +1211,10 @@ class JsTsGenerator : public BaseGenerator {
|
||||
GenTypeAnnotation(kReturns, "flatbuffers.Offset", "", false));
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
code += "static end" + struct_def.name;
|
||||
code += "static end" + Verbose(struct_def);
|
||||
code += "(builder:flatbuffers.Builder):flatbuffers.Offset {\n";
|
||||
} else {
|
||||
code += object_name + ".end" + struct_def.name;
|
||||
code += object_name + ".end" + Verbose(struct_def);
|
||||
code += " = function(builder) {\n";
|
||||
}
|
||||
|
||||
@@ -1242,11 +1240,10 @@ class JsTsGenerator : public BaseGenerator {
|
||||
false));
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
code += "static finish" + struct_def.name + "Buffer";
|
||||
code +=
|
||||
"(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {\n";
|
||||
code += "static finish" + Verbose(struct_def) + "Buffer";
|
||||
code += "(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {\n";
|
||||
} else {
|
||||
code += object_name + ".finish" + struct_def.name + "Buffer";
|
||||
code += object_name + ".finish" + Verbose(struct_def) + "Buffer";
|
||||
code += " = function(builder, offset) {\n";
|
||||
}
|
||||
|
||||
@@ -1260,7 +1257,9 @@ class JsTsGenerator : public BaseGenerator {
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
// Generate a convenient CreateX function
|
||||
code += "static create" + struct_def.name + "(builder:flatbuffers.Builder";
|
||||
code += "static create" + Verbose(struct_def);
|
||||
code += "(builder:flatbuffers.Builder";
|
||||
|
||||
for (auto it = struct_def.fields.vec.begin();
|
||||
it != struct_def.fields.vec.end(); ++it) {
|
||||
const auto &field = **it;
|
||||
@@ -1271,7 +1270,7 @@ class JsTsGenerator : public BaseGenerator {
|
||||
}
|
||||
|
||||
code += "):flatbuffers.Offset {\n";
|
||||
code += " " + struct_def.name + ".start" + struct_def.name + "(builder);\n";
|
||||
code += " " + struct_def.name + ".start" + Verbose(struct_def) + "(builder);\n";
|
||||
|
||||
for (auto it = struct_def.fields.vec.begin();
|
||||
it != struct_def.fields.vec.end(); ++it) {
|
||||
@@ -1283,7 +1282,7 @@ class JsTsGenerator : public BaseGenerator {
|
||||
code += "builder, " + GetArgName(field) + ");\n";
|
||||
}
|
||||
|
||||
code += " return " + struct_def.name + ".end" + struct_def.name + "(builder);\n";
|
||||
code += " return " + struct_def.name + ".end" + Verbose(struct_def) + "(builder);\n";
|
||||
code += "}\n";
|
||||
}
|
||||
}
|
||||
@@ -1307,6 +1306,12 @@ class JsTsGenerator : public BaseGenerator {
|
||||
|
||||
return argname;
|
||||
}
|
||||
|
||||
std::string Verbose(const StructDef &struct_def,
|
||||
const char* prefix = "")
|
||||
{
|
||||
return parser_.opts.js_ts_short_names ? "" : prefix + struct_def.name;
|
||||
}
|
||||
};
|
||||
} // namespace jsts
|
||||
|
||||
|
||||
Reference in New Issue
Block a user