diff --git a/cli/src/generate/templates/js-binding.cc b/cli/src/generate/templates/js-binding.cc index 8daca6f5..5b167cc8 100644 --- a/cli/src/generate/templates/js-binding.cc +++ b/cli/src/generate/templates/js-binding.cc @@ -4,9 +4,16 @@ typedef struct TSLanguage TSLanguage; extern "C" TSLanguage *tree_sitter_PARSER_NAME(); +// "tree-sitter", "language" hashed with BLAKE2 +const napi_type_tag LANGUAGE_TYPE_TAG = { + 0x8AF2E5212AD58ABF, 0xD5006CAD83ABBA16 +}; + Napi::Object Init(Napi::Env env, Napi::Object exports) { exports["name"] = Napi::String::New(env, "PARSER_NAME"); - exports["language"] = Napi::External::New(env, tree_sitter_PARSER_NAME()); + auto language = Napi::External::New(env, tree_sitter_PARSER_NAME()); + language.TypeTag(&LANGUAGE_TYPE_TAG); + exports["language"] = language; return exports; }