JavaScriptExternalScanner constructor

JavaScriptExternalScanner(
  1. TreeSitterLanguageTable language
)

Implementation

JavaScriptExternalScanner(TreeSitterLanguageTable language)
  : symbols = List.unmodifiable(language.externalSymbols),
    _typed = language.name == 'typescript' || language.name == 'tsx',
    _modernJavaScript =
        language.name == 'javascript' && language.externalSymbols.length == 8,
    _typed025 =
        (language.name == 'typescript' || language.name == 'tsx') &&
        language.externalSymbols.length == 10 {
  if ((language.name != 'javascript' && !_typed) ||
      symbols.length !=
          (_typed
              ? (_typed025 ? 10 : 5)
              : _modernJavaScript
              ? 8
              : 3)) {
    throw ArgumentError.value(language.name, 'language');
  }
}