diff --git a/scripts/build/generate_protocol_externs.py b/scripts/build/generate_protocol_externs.py index 031caf42a2..c6471c2bd1 100644 --- a/scripts/build/generate_protocol_externs.py +++ b/scripts/build/generate_protocol_externs.py @@ -94,7 +94,7 @@ def param_type(domain_name, param, command=None): items = param["items"] return "!Array<%s>" % param_type(domain_name, items) else: - return type_traits[param["type"]] + return "Protocol.%s" % param["type"] if "$ref" in param: type_id = full_qualified_type_id(domain_name, param["$ref"]) if type_id in ref_types: @@ -122,8 +122,11 @@ def generate_protocol_externs(output_path, file1, file2): load_schema(file2, domains) output_file = open(output_path, "w") output_file.write("var ProtocolProxyApi = {};\n") - output_file.write("/** @typedef {string} */") - output_file.write("Protocol.binary;") + + # Add basic types from protocol to closure + for protocolName, closureName in type_traits.items(): + output_file.write("/** @typedef {%s} */\n" % closureName) + output_file.write("Protocol.%s;\n" % protocolName) for domain in domains: domain_name = domain["domain"]