mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-04 12:43:24 +00:00
Changed the JavaScript generation to emit createX helper functions just like the TypeScript code generation. I also added code so that the create methods have documentation in both JavaScript and TypeScript. (#5168)
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
b650dfba49
commit
9d483a3f0b
@@ -77,7 +77,7 @@ class JsTsGenerator : public BaseGenerator {
|
||||
reexport_map;
|
||||
|
||||
JsTsGenerator(const Parser &parser, const std::string &path,
|
||||
const std::string &file_name)
|
||||
const std::string &file_name)
|
||||
: BaseGenerator(parser, path, file_name, "", "."),
|
||||
lang_(GetJsLangParams(parser_.opts.lang)){};
|
||||
// Iterate through all definitions we haven't generate code for (enums,
|
||||
@@ -105,10 +105,10 @@ class JsTsGenerator : public BaseGenerator {
|
||||
|
||||
if (lang_.language == IDLOptions::kJs && !exports_code.empty() &&
|
||||
!parser_.opts.skip_js_exports) {
|
||||
if( parser_.opts.use_ES6_js_export_format )
|
||||
code += "// Exports for ECMAScript6 Modules\n";
|
||||
else
|
||||
code += "// Exports for Node.js and RequireJS\n";
|
||||
if (parser_.opts.use_ES6_js_export_format)
|
||||
code += "// Exports for ECMAScript6 Modules\n";
|
||||
else
|
||||
code += "// Exports for Node.js and RequireJS\n";
|
||||
code += exports_code;
|
||||
}
|
||||
|
||||
@@ -127,8 +127,8 @@ class JsTsGenerator : public BaseGenerator {
|
||||
const auto &file = *it;
|
||||
const auto basename =
|
||||
flatbuffers::StripPath(flatbuffers::StripExtension(file));
|
||||
if (basename != file_name_) {
|
||||
code += GenPrefixedImport(file, basename);
|
||||
if (basename != file_name_) {
|
||||
code += GenPrefixedImport(file, basename);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -225,7 +225,7 @@ class JsTsGenerator : public BaseGenerator {
|
||||
code += "var ";
|
||||
if (parser_.opts.use_goog_js_export_format) {
|
||||
exports += "goog.exportSymbol('" + *it + "', " + *it + ");\n";
|
||||
} else if( parser_.opts.use_ES6_js_export_format){
|
||||
} else if (parser_.opts.use_ES6_js_export_format) {
|
||||
exports += "export {" + *it + "};\n";
|
||||
} else {
|
||||
exports += "this." + *it + " = " + *it + ";\n";
|
||||
@@ -310,8 +310,8 @@ class JsTsGenerator : public BaseGenerator {
|
||||
}
|
||||
default: { result += " {" + type_name + "}"; }
|
||||
}
|
||||
if (!arg_name.empty()) {
|
||||
result += " " + arg_name;
|
||||
if (!arg_name.empty()) {
|
||||
result += " " + arg_name;
|
||||
}
|
||||
if (include_newline) {
|
||||
result += "\n";
|
||||
@@ -548,7 +548,9 @@ class JsTsGenerator : public BaseGenerator {
|
||||
const std::string &file) {
|
||||
const auto basename =
|
||||
flatbuffers::StripPath(flatbuffers::StripExtension(file));
|
||||
if (basename == file_name_ || parser_.opts.generate_all) { return typeName; }
|
||||
if (basename == file_name_ || parser_.opts.generate_all) {
|
||||
return typeName;
|
||||
}
|
||||
return GenFileNamespacePrefix(file) + "." + typeName;
|
||||
}
|
||||
|
||||
@@ -695,7 +697,7 @@ class JsTsGenerator : public BaseGenerator {
|
||||
GenTypeAnnotation(kParam, object_name + "=", "obj") +
|
||||
GenTypeAnnotation(kReturns, object_name, "", false));
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
code += "static getRoot" + Verbose(struct_def,"As");
|
||||
code += "static getRoot" + Verbose(struct_def, "As");
|
||||
code += "(bb:flatbuffers.ByteBuffer, obj?:" + object_name +
|
||||
"):" + object_name + " {\n";
|
||||
} else {
|
||||
@@ -880,7 +882,7 @@ class JsTsGenerator : public BaseGenerator {
|
||||
code += prefix + ", obj?:" + vectortypename;
|
||||
|
||||
if (!parser_.opts.generate_all) {
|
||||
imported_files.insert(vectortype.struct_def->file);
|
||||
imported_files.insert(vectortype.struct_def->file);
|
||||
}
|
||||
} else if (vectortype.base_type == BASE_TYPE_STRING) {
|
||||
code += prefix + "):string\n";
|
||||
@@ -1087,7 +1089,8 @@ class JsTsGenerator : public BaseGenerator {
|
||||
"", false));
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
code += "static create" + Verbose(struct_def) + "(builder:flatbuffers.Builder";
|
||||
code += "static create" + Verbose(struct_def) +
|
||||
"(builder:flatbuffers.Builder";
|
||||
code += arguments + "):flatbuffers.Offset {\n";
|
||||
} else {
|
||||
code += object_name + ".create" + Verbose(struct_def);
|
||||
@@ -1103,7 +1106,8 @@ class JsTsGenerator : public BaseGenerator {
|
||||
"builder", false));
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
code += "static start" + Verbose(struct_def) + "(builder:flatbuffers.Builder) {\n";
|
||||
code += "static start" + Verbose(struct_def) +
|
||||
"(builder:flatbuffers.Builder) {\n";
|
||||
} else {
|
||||
code += object_name + ".start" + Verbose(struct_def);
|
||||
code += " = function(builder) {\n";
|
||||
@@ -1129,8 +1133,8 @@ class JsTsGenerator : public BaseGenerator {
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
code += "static add" + MakeCamel(field.name);
|
||||
code += "(builder:flatbuffers.Builder, " + argname + ":" + GetArgType(field) +
|
||||
") {\n";
|
||||
code += "(builder:flatbuffers.Builder, " + argname + ":" +
|
||||
GetArgType(field) + ") {\n";
|
||||
} else {
|
||||
code += object_name + ".add" + MakeCamel(field.name);
|
||||
code += " = function(builder, " + argname + ") {\n";
|
||||
@@ -1245,7 +1249,8 @@ class JsTsGenerator : public BaseGenerator {
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
code += "static finish" + Verbose(struct_def) + "Buffer";
|
||||
code += "(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {\n";
|
||||
code +=
|
||||
"(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {\n";
|
||||
} else {
|
||||
code += object_name + ".finish" + Verbose(struct_def) + "Buffer";
|
||||
code += " = function(builder, offset) {\n";
|
||||
@@ -1259,40 +1264,77 @@ class JsTsGenerator : public BaseGenerator {
|
||||
code += "};\n\n";
|
||||
}
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
// Generate a convenient CreateX function
|
||||
code += "static create" + Verbose(struct_def);
|
||||
code += "(builder:flatbuffers.Builder";
|
||||
// Generate a convenient CreateX function
|
||||
if (lang_.language == IDLOptions::kJs) {
|
||||
std::string paramDoc =
|
||||
GenTypeAnnotation(kParam, "flatbuffers.Builder", "builder");
|
||||
for (auto it = struct_def.fields.vec.begin();
|
||||
it != struct_def.fields.vec.end(); ++it) {
|
||||
const auto &field = **it;
|
||||
if (field.deprecated)
|
||||
continue;
|
||||
paramDoc +=
|
||||
GenTypeAnnotation(kParam, GetArgType(field), GetArgName(field));
|
||||
}
|
||||
paramDoc +=
|
||||
GenTypeAnnotation(kReturns, "flatbuffers.Offset", "", false);
|
||||
|
||||
for (auto it = struct_def.fields.vec.begin();
|
||||
it != struct_def.fields.vec.end(); ++it) {
|
||||
const auto &field = **it;
|
||||
if (field.deprecated)
|
||||
continue;
|
||||
|
||||
code += ", " + GetArgName(field) + ":" + GetArgType(field);
|
||||
}
|
||||
|
||||
code += "):flatbuffers.Offset {\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) {
|
||||
const auto &field = **it;
|
||||
if (field.deprecated)
|
||||
continue;
|
||||
|
||||
code += " " + struct_def.name + ".add" + MakeCamel(field.name) +"(";
|
||||
code += "builder, " + GetArgName(field) + ");\n";
|
||||
}
|
||||
|
||||
code += " return " + struct_def.name + ".end" + Verbose(struct_def) + "(builder);\n";
|
||||
code += "}\n";
|
||||
GenDocComment(code_ptr, paramDoc);
|
||||
}
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
code += "static create" + Verbose(struct_def);
|
||||
code += "(builder:flatbuffers.Builder";
|
||||
} else {
|
||||
code += object_name + ".create" + Verbose(struct_def);
|
||||
code += " = function(builder";
|
||||
}
|
||||
for (auto it = struct_def.fields.vec.begin();
|
||||
it != struct_def.fields.vec.end(); ++it) {
|
||||
const auto &field = **it;
|
||||
if (field.deprecated)
|
||||
continue;
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
code += ", " + GetArgName(field) + ":" + GetArgType(field);
|
||||
} else {
|
||||
code += ", " + GetArgName(field);
|
||||
}
|
||||
}
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
code += "):flatbuffers.Offset {\n";
|
||||
code += " " + struct_def.name + ".start" + Verbose(struct_def) +
|
||||
"(builder);\n";
|
||||
} else {
|
||||
code += ") {\n";
|
||||
code += " " + object_name + ".start" + Verbose(struct_def) +
|
||||
"(builder);\n";
|
||||
}
|
||||
|
||||
std::string methodPrefix =
|
||||
lang_.language == IDLOptions::kTs ? struct_def.name : object_name;
|
||||
for (auto it = struct_def.fields.vec.begin();
|
||||
it != struct_def.fields.vec.end(); ++it) {
|
||||
const auto &field = **it;
|
||||
if (field.deprecated)
|
||||
continue;
|
||||
|
||||
code += " " + methodPrefix + ".add" + MakeCamel(field.name) + "(";
|
||||
code += "builder, " + GetArgName(field) + ");\n";
|
||||
}
|
||||
|
||||
code += " return " + methodPrefix + ".end" + Verbose(struct_def) +
|
||||
"(builder);\n";
|
||||
code += "}\n";
|
||||
if (lang_.language == IDLOptions::kJs)
|
||||
code += "\n";
|
||||
}
|
||||
|
||||
if (lang_.language == IDLOptions::kTs) {
|
||||
if (!object_namespace.empty()) { code += "}\n"; }
|
||||
if (!object_namespace.empty()) {
|
||||
code += "}\n";
|
||||
}
|
||||
code += "}\n";
|
||||
}
|
||||
}
|
||||
@@ -1305,10 +1347,10 @@ class JsTsGenerator : public BaseGenerator {
|
||||
}
|
||||
|
||||
static std::string GetArgName(const FieldDef &field) {
|
||||
auto argname = MakeCamel(field.name, false);
|
||||
if (!IsScalar(field.value.type.base_type)) { argname += "Offset"; }
|
||||
auto argname = MakeCamel(field.name, false);
|
||||
if (!IsScalar(field.value.type.base_type)) { argname += "Offset"; }
|
||||
|
||||
return argname;
|
||||
return argname;
|
||||
}
|
||||
|
||||
std::string Verbose(const StructDef &struct_def,
|
||||
@@ -1320,13 +1362,13 @@ class JsTsGenerator : public BaseGenerator {
|
||||
} // namespace jsts
|
||||
|
||||
bool GenerateJSTS(const Parser &parser, const std::string &path,
|
||||
const std::string &file_name) {
|
||||
const std::string &file_name) {
|
||||
jsts::JsTsGenerator generator(parser, path, file_name);
|
||||
return generator.generate();
|
||||
}
|
||||
|
||||
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);
|
||||
const auto &lang = GetJsLangParams(parser.opts.lang);
|
||||
|
||||
|
||||
@@ -114,6 +114,15 @@ MyGame.InParentNamespace.endInParentNamespace = function(builder) {
|
||||
return offset;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {flatbuffers.Builder} builder
|
||||
* @returns {flatbuffers.Offset}
|
||||
*/
|
||||
MyGame.InParentNamespace.createInParentNamespace = function(builder) {
|
||||
MyGame.InParentNamespace.startInParentNamespace(builder);
|
||||
return MyGame.InParentNamespace.endInParentNamespace(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
@@ -165,6 +174,15 @@ MyGame.Example2.Monster.endMonster = function(builder) {
|
||||
return offset;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {flatbuffers.Builder} builder
|
||||
* @returns {flatbuffers.Offset}
|
||||
*/
|
||||
MyGame.Example2.Monster.createMonster = function(builder) {
|
||||
MyGame.Example2.Monster.startMonster(builder);
|
||||
return MyGame.Example2.Monster.endMonster(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
@@ -331,6 +349,17 @@ MyGame.Example.TestSimpleTableWithEnum.endTestSimpleTableWithEnum = function(bui
|
||||
return offset;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {flatbuffers.Builder} builder
|
||||
* @param {MyGame.Example.Color} color
|
||||
* @returns {flatbuffers.Offset}
|
||||
*/
|
||||
MyGame.Example.TestSimpleTableWithEnum.createTestSimpleTableWithEnum = function(builder, color) {
|
||||
MyGame.Example.TestSimpleTableWithEnum.startTestSimpleTableWithEnum(builder);
|
||||
MyGame.Example.TestSimpleTableWithEnum.addColor(builder, color);
|
||||
return MyGame.Example.TestSimpleTableWithEnum.endTestSimpleTableWithEnum(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
@@ -716,6 +745,21 @@ MyGame.Example.Stat.endStat = function(builder) {
|
||||
return offset;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {flatbuffers.Builder} builder
|
||||
* @param {flatbuffers.Offset} idOffset
|
||||
* @param {flatbuffers.Long} val
|
||||
* @param {number} count
|
||||
* @returns {flatbuffers.Offset}
|
||||
*/
|
||||
MyGame.Example.Stat.createStat = function(builder, idOffset, val, count) {
|
||||
MyGame.Example.Stat.startStat(builder);
|
||||
MyGame.Example.Stat.addId(builder, idOffset);
|
||||
MyGame.Example.Stat.addVal(builder, val);
|
||||
MyGame.Example.Stat.addCount(builder, count);
|
||||
return MyGame.Example.Stat.endStat(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
@@ -798,6 +842,17 @@ MyGame.Example.Referrable.endReferrable = function(builder) {
|
||||
return offset;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {flatbuffers.Builder} builder
|
||||
* @param {flatbuffers.Long} id
|
||||
* @returns {flatbuffers.Offset}
|
||||
*/
|
||||
MyGame.Example.Referrable.createReferrable = function(builder, id) {
|
||||
MyGame.Example.Referrable.startReferrable(builder);
|
||||
MyGame.Example.Referrable.addId(builder, id);
|
||||
return MyGame.Example.Referrable.endReferrable(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* an example documentation comment: monster object
|
||||
*
|
||||
@@ -2503,6 +2558,109 @@ MyGame.Example.Monster.finishMonsterBuffer = function(builder, offset) {
|
||||
builder.finish(offset, 'MONS');
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {flatbuffers.Builder} builder
|
||||
* @param {flatbuffers.Offset} posOffset
|
||||
* @param {number} mana
|
||||
* @param {number} hp
|
||||
* @param {flatbuffers.Offset} nameOffset
|
||||
* @param {flatbuffers.Offset} inventoryOffset
|
||||
* @param {MyGame.Example.Color} color
|
||||
* @param {MyGame.Example.Any} testType
|
||||
* @param {flatbuffers.Offset} testOffset
|
||||
* @param {flatbuffers.Offset} test4Offset
|
||||
* @param {flatbuffers.Offset} testarrayofstringOffset
|
||||
* @param {flatbuffers.Offset} testarrayoftablesOffset
|
||||
* @param {flatbuffers.Offset} enemyOffset
|
||||
* @param {flatbuffers.Offset} testnestedflatbufferOffset
|
||||
* @param {flatbuffers.Offset} testemptyOffset
|
||||
* @param {boolean} testbool
|
||||
* @param {number} testhashs32Fnv1
|
||||
* @param {number} testhashu32Fnv1
|
||||
* @param {flatbuffers.Long} testhashs64Fnv1
|
||||
* @param {flatbuffers.Long} testhashu64Fnv1
|
||||
* @param {number} testhashs32Fnv1a
|
||||
* @param {number} testhashu32Fnv1a
|
||||
* @param {flatbuffers.Long} testhashs64Fnv1a
|
||||
* @param {flatbuffers.Long} testhashu64Fnv1a
|
||||
* @param {flatbuffers.Offset} testarrayofboolsOffset
|
||||
* @param {number} testf
|
||||
* @param {number} testf2
|
||||
* @param {number} testf3
|
||||
* @param {flatbuffers.Offset} testarrayofstring2Offset
|
||||
* @param {flatbuffers.Offset} testarrayofsortedstructOffset
|
||||
* @param {flatbuffers.Offset} flexOffset
|
||||
* @param {flatbuffers.Offset} test5Offset
|
||||
* @param {flatbuffers.Offset} vectorOfLongsOffset
|
||||
* @param {flatbuffers.Offset} vectorOfDoublesOffset
|
||||
* @param {flatbuffers.Offset} parentNamespaceTestOffset
|
||||
* @param {flatbuffers.Offset} vectorOfReferrablesOffset
|
||||
* @param {flatbuffers.Long} singleWeakReference
|
||||
* @param {flatbuffers.Offset} vectorOfWeakReferencesOffset
|
||||
* @param {flatbuffers.Offset} vectorOfStrongReferrablesOffset
|
||||
* @param {flatbuffers.Long} coOwningReference
|
||||
* @param {flatbuffers.Offset} vectorOfCoOwningReferencesOffset
|
||||
* @param {flatbuffers.Long} nonOwningReference
|
||||
* @param {flatbuffers.Offset} vectorOfNonOwningReferencesOffset
|
||||
* @param {MyGame.Example.AnyUniqueAliases} anyUniqueType
|
||||
* @param {flatbuffers.Offset} anyUniqueOffset
|
||||
* @param {MyGame.Example.AnyAmbiguousAliases} anyAmbiguousType
|
||||
* @param {flatbuffers.Offset} anyAmbiguousOffset
|
||||
* @param {flatbuffers.Offset} vectorOfEnumsOffset
|
||||
* @returns {flatbuffers.Offset}
|
||||
*/
|
||||
MyGame.Example.Monster.createMonster = function(builder, posOffset, mana, hp, nameOffset, inventoryOffset, color, testType, testOffset, test4Offset, testarrayofstringOffset, testarrayoftablesOffset, enemyOffset, testnestedflatbufferOffset, testemptyOffset, testbool, testhashs32Fnv1, testhashu32Fnv1, testhashs64Fnv1, testhashu64Fnv1, testhashs32Fnv1a, testhashu32Fnv1a, testhashs64Fnv1a, testhashu64Fnv1a, testarrayofboolsOffset, testf, testf2, testf3, testarrayofstring2Offset, testarrayofsortedstructOffset, flexOffset, test5Offset, vectorOfLongsOffset, vectorOfDoublesOffset, parentNamespaceTestOffset, vectorOfReferrablesOffset, singleWeakReference, vectorOfWeakReferencesOffset, vectorOfStrongReferrablesOffset, coOwningReference, vectorOfCoOwningReferencesOffset, nonOwningReference, vectorOfNonOwningReferencesOffset, anyUniqueType, anyUniqueOffset, anyAmbiguousType, anyAmbiguousOffset, vectorOfEnumsOffset) {
|
||||
MyGame.Example.Monster.startMonster(builder);
|
||||
MyGame.Example.Monster.addPos(builder, posOffset);
|
||||
MyGame.Example.Monster.addMana(builder, mana);
|
||||
MyGame.Example.Monster.addHp(builder, hp);
|
||||
MyGame.Example.Monster.addName(builder, nameOffset);
|
||||
MyGame.Example.Monster.addInventory(builder, inventoryOffset);
|
||||
MyGame.Example.Monster.addColor(builder, color);
|
||||
MyGame.Example.Monster.addTestType(builder, testType);
|
||||
MyGame.Example.Monster.addTest(builder, testOffset);
|
||||
MyGame.Example.Monster.addTest4(builder, test4Offset);
|
||||
MyGame.Example.Monster.addTestarrayofstring(builder, testarrayofstringOffset);
|
||||
MyGame.Example.Monster.addTestarrayoftables(builder, testarrayoftablesOffset);
|
||||
MyGame.Example.Monster.addEnemy(builder, enemyOffset);
|
||||
MyGame.Example.Monster.addTestnestedflatbuffer(builder, testnestedflatbufferOffset);
|
||||
MyGame.Example.Monster.addTestempty(builder, testemptyOffset);
|
||||
MyGame.Example.Monster.addTestbool(builder, testbool);
|
||||
MyGame.Example.Monster.addTesthashs32Fnv1(builder, testhashs32Fnv1);
|
||||
MyGame.Example.Monster.addTesthashu32Fnv1(builder, testhashu32Fnv1);
|
||||
MyGame.Example.Monster.addTesthashs64Fnv1(builder, testhashs64Fnv1);
|
||||
MyGame.Example.Monster.addTesthashu64Fnv1(builder, testhashu64Fnv1);
|
||||
MyGame.Example.Monster.addTesthashs32Fnv1a(builder, testhashs32Fnv1a);
|
||||
MyGame.Example.Monster.addTesthashu32Fnv1a(builder, testhashu32Fnv1a);
|
||||
MyGame.Example.Monster.addTesthashs64Fnv1a(builder, testhashs64Fnv1a);
|
||||
MyGame.Example.Monster.addTesthashu64Fnv1a(builder, testhashu64Fnv1a);
|
||||
MyGame.Example.Monster.addTestarrayofbools(builder, testarrayofboolsOffset);
|
||||
MyGame.Example.Monster.addTestf(builder, testf);
|
||||
MyGame.Example.Monster.addTestf2(builder, testf2);
|
||||
MyGame.Example.Monster.addTestf3(builder, testf3);
|
||||
MyGame.Example.Monster.addTestarrayofstring2(builder, testarrayofstring2Offset);
|
||||
MyGame.Example.Monster.addTestarrayofsortedstruct(builder, testarrayofsortedstructOffset);
|
||||
MyGame.Example.Monster.addFlex(builder, flexOffset);
|
||||
MyGame.Example.Monster.addTest5(builder, test5Offset);
|
||||
MyGame.Example.Monster.addVectorOfLongs(builder, vectorOfLongsOffset);
|
||||
MyGame.Example.Monster.addVectorOfDoubles(builder, vectorOfDoublesOffset);
|
||||
MyGame.Example.Monster.addParentNamespaceTest(builder, parentNamespaceTestOffset);
|
||||
MyGame.Example.Monster.addVectorOfReferrables(builder, vectorOfReferrablesOffset);
|
||||
MyGame.Example.Monster.addSingleWeakReference(builder, singleWeakReference);
|
||||
MyGame.Example.Monster.addVectorOfWeakReferences(builder, vectorOfWeakReferencesOffset);
|
||||
MyGame.Example.Monster.addVectorOfStrongReferrables(builder, vectorOfStrongReferrablesOffset);
|
||||
MyGame.Example.Monster.addCoOwningReference(builder, coOwningReference);
|
||||
MyGame.Example.Monster.addVectorOfCoOwningReferences(builder, vectorOfCoOwningReferencesOffset);
|
||||
MyGame.Example.Monster.addNonOwningReference(builder, nonOwningReference);
|
||||
MyGame.Example.Monster.addVectorOfNonOwningReferences(builder, vectorOfNonOwningReferencesOffset);
|
||||
MyGame.Example.Monster.addAnyUniqueType(builder, anyUniqueType);
|
||||
MyGame.Example.Monster.addAnyUnique(builder, anyUniqueOffset);
|
||||
MyGame.Example.Monster.addAnyAmbiguousType(builder, anyAmbiguousType);
|
||||
MyGame.Example.Monster.addAnyAmbiguous(builder, anyAmbiguousOffset);
|
||||
MyGame.Example.Monster.addVectorOfEnums(builder, vectorOfEnumsOffset);
|
||||
return MyGame.Example.Monster.endMonster(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
@@ -2972,5 +3130,38 @@ MyGame.Example.TypeAliases.endTypeAliases = function(builder) {
|
||||
return offset;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {flatbuffers.Builder} builder
|
||||
* @param {number} i8
|
||||
* @param {number} u8
|
||||
* @param {number} i16
|
||||
* @param {number} u16
|
||||
* @param {number} i32
|
||||
* @param {number} u32
|
||||
* @param {flatbuffers.Long} i64
|
||||
* @param {flatbuffers.Long} u64
|
||||
* @param {number} f32
|
||||
* @param {number} f64
|
||||
* @param {flatbuffers.Offset} v8Offset
|
||||
* @param {flatbuffers.Offset} vf64Offset
|
||||
* @returns {flatbuffers.Offset}
|
||||
*/
|
||||
MyGame.Example.TypeAliases.createTypeAliases = function(builder, i8, u8, i16, u16, i32, u32, i64, u64, f32, f64, v8Offset, vf64Offset) {
|
||||
MyGame.Example.TypeAliases.startTypeAliases(builder);
|
||||
MyGame.Example.TypeAliases.addI8(builder, i8);
|
||||
MyGame.Example.TypeAliases.addU8(builder, u8);
|
||||
MyGame.Example.TypeAliases.addI16(builder, i16);
|
||||
MyGame.Example.TypeAliases.addU16(builder, u16);
|
||||
MyGame.Example.TypeAliases.addI32(builder, i32);
|
||||
MyGame.Example.TypeAliases.addU32(builder, u32);
|
||||
MyGame.Example.TypeAliases.addI64(builder, i64);
|
||||
MyGame.Example.TypeAliases.addU64(builder, u64);
|
||||
MyGame.Example.TypeAliases.addF32(builder, f32);
|
||||
MyGame.Example.TypeAliases.addF64(builder, f64);
|
||||
MyGame.Example.TypeAliases.addV8(builder, v8Offset);
|
||||
MyGame.Example.TypeAliases.addVf64(builder, vf64Offset);
|
||||
return MyGame.Example.TypeAliases.endTypeAliases(builder);
|
||||
}
|
||||
|
||||
// Exports for Node.js and RequireJS
|
||||
this.MyGame = MyGame;
|
||||
|
||||
@@ -103,6 +103,17 @@ NamespaceA.NamespaceB.TableInNestedNS.endTableInNestedNS = function(builder) {
|
||||
return offset;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {flatbuffers.Builder} builder
|
||||
* @param {number} foo
|
||||
* @returns {flatbuffers.Offset}
|
||||
*/
|
||||
NamespaceA.NamespaceB.TableInNestedNS.createTableInNestedNS = function(builder, foo) {
|
||||
NamespaceA.NamespaceB.TableInNestedNS.startTableInNestedNS(builder);
|
||||
NamespaceA.NamespaceB.TableInNestedNS.addFoo(builder, foo);
|
||||
return NamespaceA.NamespaceB.TableInNestedNS.endTableInNestedNS(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
|
||||
@@ -134,6 +134,21 @@ NamespaceA.TableInFirstNS.endTableInFirstNS = function(builder) {
|
||||
return offset;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {flatbuffers.Builder} builder
|
||||
* @param {flatbuffers.Offset} fooTableOffset
|
||||
* @param {NS8755221360535654258.NamespaceA.NamespaceB.EnumInNestedNS} fooEnum
|
||||
* @param {flatbuffers.Offset} fooStructOffset
|
||||
* @returns {flatbuffers.Offset}
|
||||
*/
|
||||
NamespaceA.TableInFirstNS.createTableInFirstNS = function(builder, fooTableOffset, fooEnum, fooStructOffset) {
|
||||
NamespaceA.TableInFirstNS.startTableInFirstNS(builder);
|
||||
NamespaceA.TableInFirstNS.addFooTable(builder, fooTableOffset);
|
||||
NamespaceA.TableInFirstNS.addFooEnum(builder, fooEnum);
|
||||
NamespaceA.TableInFirstNS.addFooStruct(builder, fooStructOffset);
|
||||
return NamespaceA.TableInFirstNS.endTableInFirstNS(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
@@ -219,6 +234,19 @@ NamespaceC.TableInC.endTableInC = function(builder) {
|
||||
return offset;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {flatbuffers.Builder} builder
|
||||
* @param {flatbuffers.Offset} referToA1Offset
|
||||
* @param {flatbuffers.Offset} referToA2Offset
|
||||
* @returns {flatbuffers.Offset}
|
||||
*/
|
||||
NamespaceC.TableInC.createTableInC = function(builder, referToA1Offset, referToA2Offset) {
|
||||
NamespaceC.TableInC.startTableInC(builder);
|
||||
NamespaceC.TableInC.addReferToA1(builder, referToA1Offset);
|
||||
NamespaceC.TableInC.addReferToA2(builder, referToA2Offset);
|
||||
return NamespaceC.TableInC.endTableInC(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
@@ -287,6 +315,17 @@ NamespaceA.SecondTableInA.endSecondTableInA = function(builder) {
|
||||
return offset;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {flatbuffers.Builder} builder
|
||||
* @param {flatbuffers.Offset} referToCOffset
|
||||
* @returns {flatbuffers.Offset}
|
||||
*/
|
||||
NamespaceA.SecondTableInA.createSecondTableInA = function(builder, referToCOffset) {
|
||||
NamespaceA.SecondTableInA.startSecondTableInA(builder);
|
||||
NamespaceA.SecondTableInA.addReferToC(builder, referToCOffset);
|
||||
return NamespaceA.SecondTableInA.endSecondTableInA(builder);
|
||||
}
|
||||
|
||||
// Exports for Node.js and RequireJS
|
||||
this.NamespaceA = NamespaceA;
|
||||
this.NamespaceC = NamespaceC;
|
||||
|
||||
@@ -95,6 +95,17 @@ Attacker.endAttacker = function(builder) {
|
||||
return offset;
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {flatbuffers.Builder} builder
|
||||
* @param {number} swordAttackDamage
|
||||
* @returns {flatbuffers.Offset}
|
||||
*/
|
||||
Attacker.createAttacker = function(builder, swordAttackDamage) {
|
||||
Attacker.startAttacker(builder);
|
||||
Attacker.addSwordAttackDamage(builder, swordAttackDamage);
|
||||
return Attacker.endAttacker(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
@@ -429,6 +440,23 @@ Movie.finishMovieBuffer = function(builder, offset) {
|
||||
builder.finish(offset, 'MOVI');
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {flatbuffers.Builder} builder
|
||||
* @param {Character} mainCharacterType
|
||||
* @param {flatbuffers.Offset} mainCharacterOffset
|
||||
* @param {flatbuffers.Offset} charactersTypeOffset
|
||||
* @param {flatbuffers.Offset} charactersOffset
|
||||
* @returns {flatbuffers.Offset}
|
||||
*/
|
||||
Movie.createMovie = function(builder, mainCharacterType, mainCharacterOffset, charactersTypeOffset, charactersOffset) {
|
||||
Movie.startMovie(builder);
|
||||
Movie.addMainCharacterType(builder, mainCharacterType);
|
||||
Movie.addMainCharacter(builder, mainCharacterOffset);
|
||||
Movie.addCharactersType(builder, charactersTypeOffset);
|
||||
Movie.addCharacters(builder, charactersOffset);
|
||||
return Movie.endMovie(builder);
|
||||
}
|
||||
|
||||
// Exports for Node.js and RequireJS
|
||||
this.Character = Character;
|
||||
this.Attacker = Attacker;
|
||||
|
||||
Reference in New Issue
Block a user