@xylabs/ts-scripts-yarn3 6.1.14 → 6.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/actions/index.mjs +2 -36283
  2. package/dist/actions/index.mjs.map +1 -1
  3. package/dist/actions/package/compile/compile.mjs +1 -0
  4. package/dist/actions/package/compile/compile.mjs.map +1 -1
  5. package/dist/actions/package/compile/compileTypes.mjs +1 -0
  6. package/dist/actions/package/compile/compileTypes.mjs.map +1 -1
  7. package/dist/actions/package/compile/index.mjs +1 -0
  8. package/dist/actions/package/compile/index.mjs.map +1 -1
  9. package/dist/actions/package/compile/packageCompileTsup.mjs +1 -0
  10. package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
  11. package/dist/actions/package/index.mjs +2 -36283
  12. package/dist/actions/package/index.mjs.map +1 -1
  13. package/dist/actions/package/lint.mjs +1 -36283
  14. package/dist/actions/package/lint.mjs.map +1 -1
  15. package/dist/actions/package/recompile.mjs +1 -0
  16. package/dist/actions/package/recompile.mjs.map +1 -1
  17. package/dist/bin/package/build-only.mjs +1 -0
  18. package/dist/bin/package/build-only.mjs.map +1 -1
  19. package/dist/bin/package/build.mjs +1 -0
  20. package/dist/bin/package/build.mjs.map +1 -1
  21. package/dist/bin/package/compile-only.mjs +1 -0
  22. package/dist/bin/package/compile-only.mjs.map +1 -1
  23. package/dist/bin/package/compile-tsup.mjs +1 -0
  24. package/dist/bin/package/compile-tsup.mjs.map +1 -1
  25. package/dist/bin/package/compile-types.mjs +1 -0
  26. package/dist/bin/package/compile-types.mjs.map +1 -1
  27. package/dist/bin/package/compile.mjs +1 -0
  28. package/dist/bin/package/compile.mjs.map +1 -1
  29. package/dist/bin/package/fix.mjs +1 -36283
  30. package/dist/bin/package/fix.mjs.map +1 -1
  31. package/dist/bin/package/lint.mjs +1 -36283
  32. package/dist/bin/package/lint.mjs.map +1 -1
  33. package/dist/bin/package/recompile.mjs +1 -0
  34. package/dist/bin/package/recompile.mjs.map +1 -1
  35. package/dist/bin/package/relint.mjs +1 -36283
  36. package/dist/bin/package/relint.mjs.map +1 -1
  37. package/dist/index.mjs +2 -36283
  38. package/dist/index.mjs.map +1 -1
  39. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs","../../../../../node_modules/@typescript-eslint/visitor-keys/dist/get-keys.js","../../../../../node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js","../../../../../node_modules/@typescript-eslint/visitor-keys/dist/index.js","../../../../../node_modules/@typescript-eslint/types/dist/generated/ast-spec.js","../../../../../node_modules/@typescript-eslint/types/dist/lib.js","../../../../../node_modules/@typescript-eslint/types/dist/parser-options.js","../../../../../node_modules/@typescript-eslint/types/dist/ts-estree.js","../../../../../node_modules/@typescript-eslint/types/dist/index.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/assert.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/ID.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionBase.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionType.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/CatchClauseDefinition.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/ClassNameDefinition.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/FunctionNameDefinition.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/ImplicitGlobalVariableDefinition.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/ImportBindingDefinition.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/ParameterDefinition.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumMemberDefinition.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumNameDefinition.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/TSModuleNameDefinition.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/TypeDefinition.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/VariableDefinition.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/definition/index.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/decorators.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/decorators.legacy.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/dom.asynciterable.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es5.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.collection.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.core.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.iterable.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.generator.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.promise.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.proxy.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.reflect.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.symbol.wellknown.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es6.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2015.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.array.include.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.intl.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es7.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/scripthost.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.importscripts.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2016.full.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.arraybuffer.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.date.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.intl.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.object.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.sharedmemory.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.string.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.typedarrays.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2017.full.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asynciterable.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.asyncgenerator.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.intl.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.promise.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.regexp.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2018.full.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.array.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.intl.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.object.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.string.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.symbol.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2019.full.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.intl.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.date.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.number.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.promise.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.sharedmemory.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.symbol.wellknown.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.string.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.full.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.intl.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.promise.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.string.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.weakref.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2021.full.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.array.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.error.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.intl.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.object.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.regexp.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.string.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.full.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.array.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.collection.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.intl.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2023.full.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.arraybuffer.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.collection.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.object.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.promise.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.regexp.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.sharedmemory.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.string.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/es2024.full.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.array.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.collection.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.decorators.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.disposable.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.float16.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.intl.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.iterator.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.promise.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.asynciterable.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.full.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.object.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.regexp.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.string.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.symbol.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.weakref.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/lib.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.asynciterable.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.iterable.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/lib/index.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/variable/VariableBase.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/variable/ESLintScopeVariable.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/variable/Variable.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/variable/index.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeType.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/BlockScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/CatchScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/ClassFieldInitializerScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/ClassScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/ConditionalTypeScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/ForScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionExpressionNameScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionTypeScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/MappedTypeScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/ModuleScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/SwitchScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/TSEnumScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/TSModuleScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/TypeScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/WithScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/index.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/referencer/ExportVisitor.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/referencer/ImportVisitor.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/referencer/index.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/scope/ClassStaticBlockScope.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/analyze.js","../../../../../node_modules/@typescript-eslint/scope-manager/dist/index.js","../../../../../node_modules/ms/index.js","../../../../../node_modules/debug/src/common.js","../../../../../node_modules/debug/src/browser.js","../../../../../node_modules/has-flag/index.js","../../../../../node_modules/supports-color/index.js","../../../../../node_modules/debug/src/node.js","../../../../../node_modules/debug/src/index.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/source-files.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js","../../../../../node_modules/semver/internal/constants.js","../../../../../node_modules/semver/internal/debug.js","../../../../../node_modules/semver/internal/re.js","../../../../../node_modules/semver/internal/parse-options.js","../../../../../node_modules/semver/internal/identifiers.js","../../../../../node_modules/semver/classes/semver.js","../../../../../node_modules/semver/functions/parse.js","../../../../../node_modules/semver/functions/valid.js","../../../../../node_modules/semver/functions/clean.js","../../../../../node_modules/semver/functions/inc.js","../../../../../node_modules/semver/functions/diff.js","../../../../../node_modules/semver/functions/major.js","../../../../../node_modules/semver/functions/minor.js","../../../../../node_modules/semver/functions/patch.js","../../../../../node_modules/semver/functions/prerelease.js","../../../../../node_modules/semver/functions/compare.js","../../../../../node_modules/semver/functions/rcompare.js","../../../../../node_modules/semver/functions/compare-loose.js","../../../../../node_modules/semver/functions/compare-build.js","../../../../../node_modules/semver/functions/sort.js","../../../../../node_modules/semver/functions/rsort.js","../../../../../node_modules/semver/functions/gt.js","../../../../../node_modules/semver/functions/lt.js","../../../../../node_modules/semver/functions/eq.js","../../../../../node_modules/semver/functions/neq.js","../../../../../node_modules/semver/functions/gte.js","../../../../../node_modules/semver/functions/lte.js","../../../../../node_modules/semver/functions/cmp.js","../../../../../node_modules/semver/functions/coerce.js","../../../../../node_modules/semver/internal/lrucache.js","../../../../../node_modules/semver/classes/range.js","../../../../../node_modules/semver/classes/comparator.js","../../../../../node_modules/semver/functions/satisfies.js","../../../../../node_modules/semver/ranges/to-comparators.js","../../../../../node_modules/semver/ranges/max-satisfying.js","../../../../../node_modules/semver/ranges/min-satisfying.js","../../../../../node_modules/semver/ranges/min-version.js","../../../../../node_modules/semver/ranges/valid.js","../../../../../node_modules/semver/ranges/outside.js","../../../../../node_modules/semver/ranges/gtr.js","../../../../../node_modules/semver/ranges/ltr.js","../../../../../node_modules/semver/ranges/intersects.js","../../../../../node_modules/semver/ranges/simplify.js","../../../../../node_modules/semver/ranges/subset.js","../../../../../node_modules/semver/index.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/version-check.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/index.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/convert.js","../../../../../node_modules/ts-api-utils/lib/index.cjs","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/create-program/getScriptKind.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgramError.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/create-program/createSourceFile.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/create-program/getParsedConfigFile.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/createParserServices.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectService.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/getProjectConfigFiles.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/inferSingleRun.js","../../../../../node_modules/fast-glob/out/utils/array.js","../../../../../node_modules/fast-glob/out/utils/errno.js","../../../../../node_modules/fast-glob/out/utils/fs.js","../../../../../node_modules/fast-glob/out/utils/path.js","../../../../../node_modules/is-extglob/index.js","../../../../../node_modules/is-glob/index.js","../../../../../node_modules/fast-glob/node_modules/glob-parent/index.js","../../../../../node_modules/braces/lib/utils.js","../../../../../node_modules/braces/lib/stringify.js","../../../../../node_modules/is-number/index.js","../../../../../node_modules/to-regex-range/index.js","../../../../../node_modules/fill-range/index.js","../../../../../node_modules/braces/lib/compile.js","../../../../../node_modules/braces/lib/expand.js","../../../../../node_modules/braces/lib/constants.js","../../../../../node_modules/braces/lib/parse.js","../../../../../node_modules/braces/index.js","../../../../../node_modules/micromatch/index.js","../../../../../node_modules/fast-glob/out/utils/pattern.js","../../../../../node_modules/merge2/index.js","../../../../../node_modules/fast-glob/out/utils/stream.js","../../../../../node_modules/fast-glob/out/utils/string.js","../../../../../node_modules/fast-glob/out/utils/index.js","../../../../../node_modules/fast-glob/out/managers/tasks.js","../../../../../node_modules/@nodelib/fs.stat/out/providers/async.js","../../../../../node_modules/@nodelib/fs.stat/out/providers/sync.js","../../../../../node_modules/@nodelib/fs.stat/out/adapters/fs.js","../../../../../node_modules/@nodelib/fs.stat/out/settings.js","../../../../../node_modules/@nodelib/fs.stat/out/index.js","../../../../../node_modules/queue-microtask/index.js","../../../../../node_modules/run-parallel/index.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.scandir/out/constants.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.scandir/out/utils/fs.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.scandir/out/utils/index.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.scandir/out/providers/common.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.scandir/out/providers/async.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.scandir/out/providers/sync.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.scandir/out/adapters/fs.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.scandir/out/settings.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.scandir/out/index.js","../../../../../node_modules/reusify/reusify.js","../../../../../node_modules/fastq/queue.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.walk/out/readers/common.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.walk/out/readers/reader.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.walk/out/readers/async.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.walk/out/providers/async.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.walk/out/providers/stream.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.walk/out/readers/sync.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.walk/out/providers/sync.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.walk/out/settings.js","../../../../../node_modules/fast-glob/node_modules/@nodelib/fs.walk/out/index.js","../../../../../node_modules/fast-glob/out/readers/reader.js","../../../../../node_modules/fast-glob/out/readers/stream.js","../../../../../node_modules/fast-glob/out/readers/async.js","../../../../../node_modules/fast-glob/out/providers/matchers/matcher.js","../../../../../node_modules/fast-glob/out/providers/matchers/partial.js","../../../../../node_modules/fast-glob/out/providers/filters/deep.js","../../../../../node_modules/fast-glob/out/providers/filters/entry.js","../../../../../node_modules/fast-glob/out/providers/filters/error.js","../../../../../node_modules/fast-glob/out/providers/transformers/entry.js","../../../../../node_modules/fast-glob/out/providers/provider.js","../../../../../node_modules/fast-glob/out/providers/async.js","../../../../../node_modules/fast-glob/out/providers/stream.js","../../../../../node_modules/fast-glob/out/readers/sync.js","../../../../../node_modules/fast-glob/out/providers/sync.js","../../../../../node_modules/fast-glob/out/settings.js","../../../../../node_modules/fast-glob/out/index.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/resolveProjectList.js","../../../../../node_modules/@typescript-eslint/typescript-estree/package.json","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/version.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/semantic-or-syntactic-errors.js","../../../../../node_modules/balanced-match/index.js","../../../../../node_modules/brace-expansion/index.js","../../../../../node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch/src/assert-valid-pattern.ts","../../../../../node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch/src/brace-expressions.ts","../../../../../node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch/src/unescape.ts","../../../../../node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch/src/ast.ts","../../../../../node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch/src/escape.ts","../../../../../node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch/src/index.ts","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/useProgramFromProjectService.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/parser.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/withoutProjectParserOptions.js","../../../../../node_modules/@typescript-eslint/typescript-estree/dist/index.js","../../../../../node_modules/@typescript-eslint/parser/dist/parser.js","../../../../../node_modules/@typescript-eslint/parser/package.json","../../../../../node_modules/@typescript-eslint/parser/dist/index.js","../../../src/bin/package/fix.ts","../../../src/actions/package/lint.ts"],"sourcesContent":["'use strict';\n\n/* eslint-disable jsdoc/valid-types -- doesn't allow `readonly`.\n TODO: remove eslint-disable when https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/164 is fixed\n*/\n/**\n * @typedef {{ readonly [type: string]: ReadonlyArray<string> }} VisitorKeys\n */\n/* eslint-enable jsdoc/valid-types -- doesn't allow `readonly string[]`. TODO: check why */\n\n/**\n * @type {VisitorKeys}\n */\nconst KEYS = {\n ArrayExpression: [\n \"elements\"\n ],\n ArrayPattern: [\n \"elements\"\n ],\n ArrowFunctionExpression: [\n \"params\",\n \"body\"\n ],\n AssignmentExpression: [\n \"left\",\n \"right\"\n ],\n AssignmentPattern: [\n \"left\",\n \"right\"\n ],\n AwaitExpression: [\n \"argument\"\n ],\n BinaryExpression: [\n \"left\",\n \"right\"\n ],\n BlockStatement: [\n \"body\"\n ],\n BreakStatement: [\n \"label\"\n ],\n CallExpression: [\n \"callee\",\n \"arguments\"\n ],\n CatchClause: [\n \"param\",\n \"body\"\n ],\n ChainExpression: [\n \"expression\"\n ],\n ClassBody: [\n \"body\"\n ],\n ClassDeclaration: [\n \"id\",\n \"superClass\",\n \"body\"\n ],\n ClassExpression: [\n \"id\",\n \"superClass\",\n \"body\"\n ],\n ConditionalExpression: [\n \"test\",\n \"consequent\",\n \"alternate\"\n ],\n ContinueStatement: [\n \"label\"\n ],\n DebuggerStatement: [],\n DoWhileStatement: [\n \"body\",\n \"test\"\n ],\n EmptyStatement: [],\n ExperimentalRestProperty: [\n \"argument\"\n ],\n ExperimentalSpreadProperty: [\n \"argument\"\n ],\n ExportAllDeclaration: [\n \"exported\",\n \"source\",\n \"attributes\"\n ],\n ExportDefaultDeclaration: [\n \"declaration\"\n ],\n ExportNamedDeclaration: [\n \"declaration\",\n \"specifiers\",\n \"source\",\n \"attributes\"\n ],\n ExportSpecifier: [\n \"exported\",\n \"local\"\n ],\n ExpressionStatement: [\n \"expression\"\n ],\n ForInStatement: [\n \"left\",\n \"right\",\n \"body\"\n ],\n ForOfStatement: [\n \"left\",\n \"right\",\n \"body\"\n ],\n ForStatement: [\n \"init\",\n \"test\",\n \"update\",\n \"body\"\n ],\n FunctionDeclaration: [\n \"id\",\n \"params\",\n \"body\"\n ],\n FunctionExpression: [\n \"id\",\n \"params\",\n \"body\"\n ],\n Identifier: [],\n IfStatement: [\n \"test\",\n \"consequent\",\n \"alternate\"\n ],\n ImportAttribute: [\n \"key\",\n \"value\"\n ],\n ImportDeclaration: [\n \"specifiers\",\n \"source\",\n \"attributes\"\n ],\n ImportDefaultSpecifier: [\n \"local\"\n ],\n ImportExpression: [\n \"source\",\n \"options\"\n ],\n ImportNamespaceSpecifier: [\n \"local\"\n ],\n ImportSpecifier: [\n \"imported\",\n \"local\"\n ],\n JSXAttribute: [\n \"name\",\n \"value\"\n ],\n JSXClosingElement: [\n \"name\"\n ],\n JSXClosingFragment: [],\n JSXElement: [\n \"openingElement\",\n \"children\",\n \"closingElement\"\n ],\n JSXEmptyExpression: [],\n JSXExpressionContainer: [\n \"expression\"\n ],\n JSXFragment: [\n \"openingFragment\",\n \"children\",\n \"closingFragment\"\n ],\n JSXIdentifier: [],\n JSXMemberExpression: [\n \"object\",\n \"property\"\n ],\n JSXNamespacedName: [\n \"namespace\",\n \"name\"\n ],\n JSXOpeningElement: [\n \"name\",\n \"attributes\"\n ],\n JSXOpeningFragment: [],\n JSXSpreadAttribute: [\n \"argument\"\n ],\n JSXSpreadChild: [\n \"expression\"\n ],\n JSXText: [],\n LabeledStatement: [\n \"label\",\n \"body\"\n ],\n Literal: [],\n LogicalExpression: [\n \"left\",\n \"right\"\n ],\n MemberExpression: [\n \"object\",\n \"property\"\n ],\n MetaProperty: [\n \"meta\",\n \"property\"\n ],\n MethodDefinition: [\n \"key\",\n \"value\"\n ],\n NewExpression: [\n \"callee\",\n \"arguments\"\n ],\n ObjectExpression: [\n \"properties\"\n ],\n ObjectPattern: [\n \"properties\"\n ],\n PrivateIdentifier: [],\n Program: [\n \"body\"\n ],\n Property: [\n \"key\",\n \"value\"\n ],\n PropertyDefinition: [\n \"key\",\n \"value\"\n ],\n RestElement: [\n \"argument\"\n ],\n ReturnStatement: [\n \"argument\"\n ],\n SequenceExpression: [\n \"expressions\"\n ],\n SpreadElement: [\n \"argument\"\n ],\n StaticBlock: [\n \"body\"\n ],\n Super: [],\n SwitchCase: [\n \"test\",\n \"consequent\"\n ],\n SwitchStatement: [\n \"discriminant\",\n \"cases\"\n ],\n TaggedTemplateExpression: [\n \"tag\",\n \"quasi\"\n ],\n TemplateElement: [],\n TemplateLiteral: [\n \"quasis\",\n \"expressions\"\n ],\n ThisExpression: [],\n ThrowStatement: [\n \"argument\"\n ],\n TryStatement: [\n \"block\",\n \"handler\",\n \"finalizer\"\n ],\n UnaryExpression: [\n \"argument\"\n ],\n UpdateExpression: [\n \"argument\"\n ],\n VariableDeclaration: [\n \"declarations\"\n ],\n VariableDeclarator: [\n \"id\",\n \"init\"\n ],\n WhileStatement: [\n \"test\",\n \"body\"\n ],\n WithStatement: [\n \"object\",\n \"body\"\n ],\n YieldExpression: [\n \"argument\"\n ]\n};\n\n// Types.\nconst NODE_TYPES = Object.keys(KEYS);\n\n// Freeze the keys.\nfor (const type of NODE_TYPES) {\n Object.freeze(KEYS[type]);\n}\nObject.freeze(KEYS);\n\n/**\n * @author Toru Nagashima <https://github.com/mysticatea>\n * See LICENSE file in root directory for full license.\n */\n\n/**\n * @typedef {import('./visitor-keys.js').VisitorKeys} VisitorKeys\n */\n\n// List to ignore keys.\nconst KEY_BLACKLIST = new Set([\n \"parent\",\n \"leadingComments\",\n \"trailingComments\"\n]);\n\n/**\n * Check whether a given key should be used or not.\n * @param {string} key The key to check.\n * @returns {boolean} `true` if the key should be used.\n */\nfunction filterKey(key) {\n return !KEY_BLACKLIST.has(key) && key[0] !== \"_\";\n}\n\n\n/* eslint-disable jsdoc/valid-types -- doesn't allow `readonly`.\n TODO: remove eslint-disable when https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/164 is fixed\n*/\n/**\n * Get visitor keys of a given node.\n * @param {Object} node The AST node to get keys.\n * @returns {readonly string[]} Visitor keys of the node.\n */\nfunction getKeys(node) {\n return Object.keys(node).filter(filterKey);\n}\n/* eslint-enable jsdoc/valid-types -- doesn't allow `readonly` */\n\n/**\n * Make the union set with `KEYS` and given keys.\n * @param {VisitorKeys} additionalKeys The additional keys.\n * @returns {VisitorKeys} The union set.\n */\nfunction unionWith(additionalKeys) {\n const retv = /** @type {{ [type: string]: ReadonlyArray<string> }} */\n (Object.assign({}, KEYS));\n\n for (const type of Object.keys(additionalKeys)) {\n if (Object.hasOwn(retv, type)) {\n const keys = new Set(additionalKeys[type]);\n\n for (const key of retv[type]) {\n keys.add(key);\n }\n\n retv[type] = Object.freeze(Array.from(keys));\n } else {\n retv[type] = Object.freeze(Array.from(additionalKeys[type]));\n }\n }\n\n return Object.freeze(retv);\n}\n\nexports.KEYS = KEYS;\nexports.getKeys = getKeys;\nexports.unionWith = unionWith;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getKeys = void 0;\nconst eslint_visitor_keys_1 = require(\"eslint-visitor-keys\");\nexports.getKeys = eslint_visitor_keys_1.getKeys;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.visitorKeys = void 0;\nconst eslintVisitorKeys = __importStar(require(\"eslint-visitor-keys\"));\n/*\n ********************************** IMPORTANT NOTE ********************************\n * *\n * The key arrays should be sorted in the order in which you would want to visit *\n * the child keys. *\n * *\n * DO NOT SORT THEM ALPHABETICALLY! *\n * *\n * They should be sorted in the order that they appear in the source code. *\n * For example: *\n * *\n * class Foo extends Bar { prop: 1 } *\n * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ClassDeclaration *\n * ^^^ id ^^^ superClass *\n * ^^^^^^^^^^^ body *\n * *\n * It would be incorrect to provide the visitor keys ['body', 'id', 'superClass'] *\n * because the body comes AFTER everything else in the source code. *\n * Instead the correct ordering would be ['id', 'superClass', 'body']. *\n * *\n **********************************************************************************\n */\nconst SharedVisitorKeys = (() => {\n const FunctionType = ['typeParameters', 'params', 'returnType'];\n const AnonymousFunction = [...FunctionType, 'body'];\n const AbstractPropertyDefinition = [\n 'decorators',\n 'key',\n 'typeAnnotation',\n ];\n return {\n AbstractPropertyDefinition: ['decorators', 'key', 'typeAnnotation'],\n AnonymousFunction,\n AsExpression: ['expression', 'typeAnnotation'],\n ClassDeclaration: [\n 'decorators',\n 'id',\n 'typeParameters',\n 'superClass',\n 'superTypeArguments',\n 'implements',\n 'body',\n ],\n Function: ['id', ...AnonymousFunction],\n FunctionType,\n PropertyDefinition: [...AbstractPropertyDefinition, 'value'],\n };\n})();\nconst additionalKeys = {\n AccessorProperty: SharedVisitorKeys.PropertyDefinition,\n ArrayPattern: ['decorators', 'elements', 'typeAnnotation'],\n ArrowFunctionExpression: SharedVisitorKeys.AnonymousFunction,\n AssignmentPattern: ['decorators', 'left', 'right', 'typeAnnotation'],\n CallExpression: ['callee', 'typeArguments', 'arguments'],\n ClassDeclaration: SharedVisitorKeys.ClassDeclaration,\n ClassExpression: SharedVisitorKeys.ClassDeclaration,\n Decorator: ['expression'],\n ExportAllDeclaration: ['exported', 'source', 'attributes'],\n ExportNamedDeclaration: ['declaration', 'specifiers', 'source', 'attributes'],\n FunctionDeclaration: SharedVisitorKeys.Function,\n FunctionExpression: SharedVisitorKeys.Function,\n Identifier: ['decorators', 'typeAnnotation'],\n ImportAttribute: ['key', 'value'],\n ImportDeclaration: ['specifiers', 'source', 'attributes'],\n ImportExpression: ['source', 'options'],\n JSXClosingFragment: [],\n JSXOpeningElement: ['name', 'typeArguments', 'attributes'],\n JSXOpeningFragment: [],\n JSXSpreadChild: ['expression'],\n MethodDefinition: ['decorators', 'key', 'value'],\n NewExpression: ['callee', 'typeArguments', 'arguments'],\n ObjectPattern: ['decorators', 'properties', 'typeAnnotation'],\n PropertyDefinition: SharedVisitorKeys.PropertyDefinition,\n RestElement: ['decorators', 'argument', 'typeAnnotation'],\n StaticBlock: ['body'],\n TaggedTemplateExpression: ['tag', 'typeArguments', 'quasi'],\n TSAbstractAccessorProperty: SharedVisitorKeys.AbstractPropertyDefinition,\n TSAbstractKeyword: [],\n TSAbstractMethodDefinition: ['key', 'value'],\n TSAbstractPropertyDefinition: SharedVisitorKeys.AbstractPropertyDefinition,\n TSAnyKeyword: [],\n TSArrayType: ['elementType'],\n TSAsExpression: SharedVisitorKeys.AsExpression,\n TSAsyncKeyword: [],\n TSBigIntKeyword: [],\n TSBooleanKeyword: [],\n TSCallSignatureDeclaration: SharedVisitorKeys.FunctionType,\n TSClassImplements: ['expression', 'typeArguments'],\n TSConditionalType: ['checkType', 'extendsType', 'trueType', 'falseType'],\n TSConstructorType: SharedVisitorKeys.FunctionType,\n TSConstructSignatureDeclaration: SharedVisitorKeys.FunctionType,\n TSDeclareFunction: SharedVisitorKeys.Function,\n TSDeclareKeyword: [],\n TSEmptyBodyFunctionExpression: ['id', ...SharedVisitorKeys.FunctionType],\n TSEnumBody: ['members'],\n TSEnumDeclaration: ['id', 'body'],\n TSEnumMember: ['id', 'initializer'],\n TSExportAssignment: ['expression'],\n TSExportKeyword: [],\n TSExternalModuleReference: ['expression'],\n TSFunctionType: SharedVisitorKeys.FunctionType,\n TSImportEqualsDeclaration: ['id', 'moduleReference'],\n TSImportType: ['argument', 'qualifier', 'typeArguments', 'options'],\n TSIndexedAccessType: ['indexType', 'objectType'],\n TSIndexSignature: ['parameters', 'typeAnnotation'],\n TSInferType: ['typeParameter'],\n TSInstantiationExpression: ['expression', 'typeArguments'],\n TSInterfaceBody: ['body'],\n TSInterfaceDeclaration: ['id', 'typeParameters', 'extends', 'body'],\n TSInterfaceHeritage: ['expression', 'typeArguments'],\n TSIntersectionType: ['types'],\n TSIntrinsicKeyword: [],\n TSLiteralType: ['literal'],\n TSMappedType: ['key', 'constraint', 'nameType', 'typeAnnotation'],\n TSMethodSignature: ['typeParameters', 'key', 'params', 'returnType'],\n TSModuleBlock: ['body'],\n TSModuleDeclaration: ['id', 'body'],\n TSNamedTupleMember: ['label', 'elementType'],\n TSNamespaceExportDeclaration: ['id'],\n TSNeverKeyword: [],\n TSNonNullExpression: ['expression'],\n TSNullKeyword: [],\n TSNumberKeyword: [],\n TSObjectKeyword: [],\n TSOptionalType: ['typeAnnotation'],\n TSParameterProperty: ['decorators', 'parameter'],\n TSPrivateKeyword: [],\n TSPropertySignature: ['typeAnnotation', 'key'],\n TSProtectedKeyword: [],\n TSPublicKeyword: [],\n TSQualifiedName: ['left', 'right'],\n TSReadonlyKeyword: [],\n TSRestType: ['typeAnnotation'],\n TSSatisfiesExpression: SharedVisitorKeys.AsExpression,\n TSStaticKeyword: [],\n TSStringKeyword: [],\n TSSymbolKeyword: [],\n TSTemplateLiteralType: ['quasis', 'types'],\n TSThisType: [],\n TSTupleType: ['elementTypes'],\n TSTypeAliasDeclaration: ['id', 'typeParameters', 'typeAnnotation'],\n TSTypeAnnotation: ['typeAnnotation'],\n TSTypeAssertion: ['typeAnnotation', 'expression'],\n TSTypeLiteral: ['members'],\n TSTypeOperator: ['typeAnnotation'],\n TSTypeParameter: ['name', 'constraint', 'default'],\n TSTypeParameterDeclaration: ['params'],\n TSTypeParameterInstantiation: ['params'],\n TSTypePredicate: ['typeAnnotation', 'parameterName'],\n TSTypeQuery: ['exprName', 'typeArguments'],\n TSTypeReference: ['typeName', 'typeArguments'],\n TSUndefinedKeyword: [],\n TSUnionType: ['types'],\n TSUnknownKeyword: [],\n TSVoidKeyword: [],\n};\nexports.visitorKeys = eslintVisitorKeys.unionWith(additionalKeys);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.visitorKeys = exports.getKeys = void 0;\nvar get_keys_1 = require(\"./get-keys\");\nObject.defineProperty(exports, \"getKeys\", { enumerable: true, get: function () { return get_keys_1.getKeys; } });\nvar visitor_keys_1 = require(\"./visitor-keys\");\nObject.defineProperty(exports, \"visitorKeys\", { enumerable: true, get: function () { return visitor_keys_1.visitorKeys; } });\n","\"use strict\";\n/**********************************************\n * DO NOT MODIFY THIS FILE MANUALLY *\n * *\n * THIS FILE HAS BEEN COPIED FROM ast-spec. *\n * ANY CHANGES WILL BE LOST ON THE NEXT BUILD *\n * *\n * MAKE CHANGES TO ast-spec AND THEN RUN *\n * yarn build *\n **********************************************/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0;\nvar AST_NODE_TYPES;\n(function (AST_NODE_TYPES) {\n AST_NODE_TYPES[\"AccessorProperty\"] = \"AccessorProperty\";\n AST_NODE_TYPES[\"ArrayExpression\"] = \"ArrayExpression\";\n AST_NODE_TYPES[\"ArrayPattern\"] = \"ArrayPattern\";\n AST_NODE_TYPES[\"ArrowFunctionExpression\"] = \"ArrowFunctionExpression\";\n AST_NODE_TYPES[\"AssignmentExpression\"] = \"AssignmentExpression\";\n AST_NODE_TYPES[\"AssignmentPattern\"] = \"AssignmentPattern\";\n AST_NODE_TYPES[\"AwaitExpression\"] = \"AwaitExpression\";\n AST_NODE_TYPES[\"BinaryExpression\"] = \"BinaryExpression\";\n AST_NODE_TYPES[\"BlockStatement\"] = \"BlockStatement\";\n AST_NODE_TYPES[\"BreakStatement\"] = \"BreakStatement\";\n AST_NODE_TYPES[\"CallExpression\"] = \"CallExpression\";\n AST_NODE_TYPES[\"CatchClause\"] = \"CatchClause\";\n AST_NODE_TYPES[\"ChainExpression\"] = \"ChainExpression\";\n AST_NODE_TYPES[\"ClassBody\"] = \"ClassBody\";\n AST_NODE_TYPES[\"ClassDeclaration\"] = \"ClassDeclaration\";\n AST_NODE_TYPES[\"ClassExpression\"] = \"ClassExpression\";\n AST_NODE_TYPES[\"ConditionalExpression\"] = \"ConditionalExpression\";\n AST_NODE_TYPES[\"ContinueStatement\"] = \"ContinueStatement\";\n AST_NODE_TYPES[\"DebuggerStatement\"] = \"DebuggerStatement\";\n AST_NODE_TYPES[\"Decorator\"] = \"Decorator\";\n AST_NODE_TYPES[\"DoWhileStatement\"] = \"DoWhileStatement\";\n AST_NODE_TYPES[\"EmptyStatement\"] = \"EmptyStatement\";\n AST_NODE_TYPES[\"ExportAllDeclaration\"] = \"ExportAllDeclaration\";\n AST_NODE_TYPES[\"ExportDefaultDeclaration\"] = \"ExportDefaultDeclaration\";\n AST_NODE_TYPES[\"ExportNamedDeclaration\"] = \"ExportNamedDeclaration\";\n AST_NODE_TYPES[\"ExportSpecifier\"] = \"ExportSpecifier\";\n AST_NODE_TYPES[\"ExpressionStatement\"] = \"ExpressionStatement\";\n AST_NODE_TYPES[\"ForInStatement\"] = \"ForInStatement\";\n AST_NODE_TYPES[\"ForOfStatement\"] = \"ForOfStatement\";\n AST_NODE_TYPES[\"ForStatement\"] = \"ForStatement\";\n AST_NODE_TYPES[\"FunctionDeclaration\"] = \"FunctionDeclaration\";\n AST_NODE_TYPES[\"FunctionExpression\"] = \"FunctionExpression\";\n AST_NODE_TYPES[\"Identifier\"] = \"Identifier\";\n AST_NODE_TYPES[\"IfStatement\"] = \"IfStatement\";\n AST_NODE_TYPES[\"ImportAttribute\"] = \"ImportAttribute\";\n AST_NODE_TYPES[\"ImportDeclaration\"] = \"ImportDeclaration\";\n AST_NODE_TYPES[\"ImportDefaultSpecifier\"] = \"ImportDefaultSpecifier\";\n AST_NODE_TYPES[\"ImportExpression\"] = \"ImportExpression\";\n AST_NODE_TYPES[\"ImportNamespaceSpecifier\"] = \"ImportNamespaceSpecifier\";\n AST_NODE_TYPES[\"ImportSpecifier\"] = \"ImportSpecifier\";\n AST_NODE_TYPES[\"JSXAttribute\"] = \"JSXAttribute\";\n AST_NODE_TYPES[\"JSXClosingElement\"] = \"JSXClosingElement\";\n AST_NODE_TYPES[\"JSXClosingFragment\"] = \"JSXClosingFragment\";\n AST_NODE_TYPES[\"JSXElement\"] = \"JSXElement\";\n AST_NODE_TYPES[\"JSXEmptyExpression\"] = \"JSXEmptyExpression\";\n AST_NODE_TYPES[\"JSXExpressionContainer\"] = \"JSXExpressionContainer\";\n AST_NODE_TYPES[\"JSXFragment\"] = \"JSXFragment\";\n AST_NODE_TYPES[\"JSXIdentifier\"] = \"JSXIdentifier\";\n AST_NODE_TYPES[\"JSXMemberExpression\"] = \"JSXMemberExpression\";\n AST_NODE_TYPES[\"JSXNamespacedName\"] = \"JSXNamespacedName\";\n AST_NODE_TYPES[\"JSXOpeningElement\"] = \"JSXOpeningElement\";\n AST_NODE_TYPES[\"JSXOpeningFragment\"] = \"JSXOpeningFragment\";\n AST_NODE_TYPES[\"JSXSpreadAttribute\"] = \"JSXSpreadAttribute\";\n AST_NODE_TYPES[\"JSXSpreadChild\"] = \"JSXSpreadChild\";\n AST_NODE_TYPES[\"JSXText\"] = \"JSXText\";\n AST_NODE_TYPES[\"LabeledStatement\"] = \"LabeledStatement\";\n AST_NODE_TYPES[\"Literal\"] = \"Literal\";\n AST_NODE_TYPES[\"LogicalExpression\"] = \"LogicalExpression\";\n AST_NODE_TYPES[\"MemberExpression\"] = \"MemberExpression\";\n AST_NODE_TYPES[\"MetaProperty\"] = \"MetaProperty\";\n AST_NODE_TYPES[\"MethodDefinition\"] = \"MethodDefinition\";\n AST_NODE_TYPES[\"NewExpression\"] = \"NewExpression\";\n AST_NODE_TYPES[\"ObjectExpression\"] = \"ObjectExpression\";\n AST_NODE_TYPES[\"ObjectPattern\"] = \"ObjectPattern\";\n AST_NODE_TYPES[\"PrivateIdentifier\"] = \"PrivateIdentifier\";\n AST_NODE_TYPES[\"Program\"] = \"Program\";\n AST_NODE_TYPES[\"Property\"] = \"Property\";\n AST_NODE_TYPES[\"PropertyDefinition\"] = \"PropertyDefinition\";\n AST_NODE_TYPES[\"RestElement\"] = \"RestElement\";\n AST_NODE_TYPES[\"ReturnStatement\"] = \"ReturnStatement\";\n AST_NODE_TYPES[\"SequenceExpression\"] = \"SequenceExpression\";\n AST_NODE_TYPES[\"SpreadElement\"] = \"SpreadElement\";\n AST_NODE_TYPES[\"StaticBlock\"] = \"StaticBlock\";\n AST_NODE_TYPES[\"Super\"] = \"Super\";\n AST_NODE_TYPES[\"SwitchCase\"] = \"SwitchCase\";\n AST_NODE_TYPES[\"SwitchStatement\"] = \"SwitchStatement\";\n AST_NODE_TYPES[\"TaggedTemplateExpression\"] = \"TaggedTemplateExpression\";\n AST_NODE_TYPES[\"TemplateElement\"] = \"TemplateElement\";\n AST_NODE_TYPES[\"TemplateLiteral\"] = \"TemplateLiteral\";\n AST_NODE_TYPES[\"ThisExpression\"] = \"ThisExpression\";\n AST_NODE_TYPES[\"ThrowStatement\"] = \"ThrowStatement\";\n AST_NODE_TYPES[\"TryStatement\"] = \"TryStatement\";\n AST_NODE_TYPES[\"UnaryExpression\"] = \"UnaryExpression\";\n AST_NODE_TYPES[\"UpdateExpression\"] = \"UpdateExpression\";\n AST_NODE_TYPES[\"VariableDeclaration\"] = \"VariableDeclaration\";\n AST_NODE_TYPES[\"VariableDeclarator\"] = \"VariableDeclarator\";\n AST_NODE_TYPES[\"WhileStatement\"] = \"WhileStatement\";\n AST_NODE_TYPES[\"WithStatement\"] = \"WithStatement\";\n AST_NODE_TYPES[\"YieldExpression\"] = \"YieldExpression\";\n AST_NODE_TYPES[\"TSAbstractAccessorProperty\"] = \"TSAbstractAccessorProperty\";\n AST_NODE_TYPES[\"TSAbstractKeyword\"] = \"TSAbstractKeyword\";\n AST_NODE_TYPES[\"TSAbstractMethodDefinition\"] = \"TSAbstractMethodDefinition\";\n AST_NODE_TYPES[\"TSAbstractPropertyDefinition\"] = \"TSAbstractPropertyDefinition\";\n AST_NODE_TYPES[\"TSAnyKeyword\"] = \"TSAnyKeyword\";\n AST_NODE_TYPES[\"TSArrayType\"] = \"TSArrayType\";\n AST_NODE_TYPES[\"TSAsExpression\"] = \"TSAsExpression\";\n AST_NODE_TYPES[\"TSAsyncKeyword\"] = \"TSAsyncKeyword\";\n AST_NODE_TYPES[\"TSBigIntKeyword\"] = \"TSBigIntKeyword\";\n AST_NODE_TYPES[\"TSBooleanKeyword\"] = \"TSBooleanKeyword\";\n AST_NODE_TYPES[\"TSCallSignatureDeclaration\"] = \"TSCallSignatureDeclaration\";\n AST_NODE_TYPES[\"TSClassImplements\"] = \"TSClassImplements\";\n AST_NODE_TYPES[\"TSConditionalType\"] = \"TSConditionalType\";\n AST_NODE_TYPES[\"TSConstructorType\"] = \"TSConstructorType\";\n AST_NODE_TYPES[\"TSConstructSignatureDeclaration\"] = \"TSConstructSignatureDeclaration\";\n AST_NODE_TYPES[\"TSDeclareFunction\"] = \"TSDeclareFunction\";\n AST_NODE_TYPES[\"TSDeclareKeyword\"] = \"TSDeclareKeyword\";\n AST_NODE_TYPES[\"TSEmptyBodyFunctionExpression\"] = \"TSEmptyBodyFunctionExpression\";\n AST_NODE_TYPES[\"TSEnumBody\"] = \"TSEnumBody\";\n AST_NODE_TYPES[\"TSEnumDeclaration\"] = \"TSEnumDeclaration\";\n AST_NODE_TYPES[\"TSEnumMember\"] = \"TSEnumMember\";\n AST_NODE_TYPES[\"TSExportAssignment\"] = \"TSExportAssignment\";\n AST_NODE_TYPES[\"TSExportKeyword\"] = \"TSExportKeyword\";\n AST_NODE_TYPES[\"TSExternalModuleReference\"] = \"TSExternalModuleReference\";\n AST_NODE_TYPES[\"TSFunctionType\"] = \"TSFunctionType\";\n AST_NODE_TYPES[\"TSImportEqualsDeclaration\"] = \"TSImportEqualsDeclaration\";\n AST_NODE_TYPES[\"TSImportType\"] = \"TSImportType\";\n AST_NODE_TYPES[\"TSIndexedAccessType\"] = \"TSIndexedAccessType\";\n AST_NODE_TYPES[\"TSIndexSignature\"] = \"TSIndexSignature\";\n AST_NODE_TYPES[\"TSInferType\"] = \"TSInferType\";\n AST_NODE_TYPES[\"TSInstantiationExpression\"] = \"TSInstantiationExpression\";\n AST_NODE_TYPES[\"TSInterfaceBody\"] = \"TSInterfaceBody\";\n AST_NODE_TYPES[\"TSInterfaceDeclaration\"] = \"TSInterfaceDeclaration\";\n AST_NODE_TYPES[\"TSInterfaceHeritage\"] = \"TSInterfaceHeritage\";\n AST_NODE_TYPES[\"TSIntersectionType\"] = \"TSIntersectionType\";\n AST_NODE_TYPES[\"TSIntrinsicKeyword\"] = \"TSIntrinsicKeyword\";\n AST_NODE_TYPES[\"TSLiteralType\"] = \"TSLiteralType\";\n AST_NODE_TYPES[\"TSMappedType\"] = \"TSMappedType\";\n AST_NODE_TYPES[\"TSMethodSignature\"] = \"TSMethodSignature\";\n AST_NODE_TYPES[\"TSModuleBlock\"] = \"TSModuleBlock\";\n AST_NODE_TYPES[\"TSModuleDeclaration\"] = \"TSModuleDeclaration\";\n AST_NODE_TYPES[\"TSNamedTupleMember\"] = \"TSNamedTupleMember\";\n AST_NODE_TYPES[\"TSNamespaceExportDeclaration\"] = \"TSNamespaceExportDeclaration\";\n AST_NODE_TYPES[\"TSNeverKeyword\"] = \"TSNeverKeyword\";\n AST_NODE_TYPES[\"TSNonNullExpression\"] = \"TSNonNullExpression\";\n AST_NODE_TYPES[\"TSNullKeyword\"] = \"TSNullKeyword\";\n AST_NODE_TYPES[\"TSNumberKeyword\"] = \"TSNumberKeyword\";\n AST_NODE_TYPES[\"TSObjectKeyword\"] = \"TSObjectKeyword\";\n AST_NODE_TYPES[\"TSOptionalType\"] = \"TSOptionalType\";\n AST_NODE_TYPES[\"TSParameterProperty\"] = \"TSParameterProperty\";\n AST_NODE_TYPES[\"TSPrivateKeyword\"] = \"TSPrivateKeyword\";\n AST_NODE_TYPES[\"TSPropertySignature\"] = \"TSPropertySignature\";\n AST_NODE_TYPES[\"TSProtectedKeyword\"] = \"TSProtectedKeyword\";\n AST_NODE_TYPES[\"TSPublicKeyword\"] = \"TSPublicKeyword\";\n AST_NODE_TYPES[\"TSQualifiedName\"] = \"TSQualifiedName\";\n AST_NODE_TYPES[\"TSReadonlyKeyword\"] = \"TSReadonlyKeyword\";\n AST_NODE_TYPES[\"TSRestType\"] = \"TSRestType\";\n AST_NODE_TYPES[\"TSSatisfiesExpression\"] = \"TSSatisfiesExpression\";\n AST_NODE_TYPES[\"TSStaticKeyword\"] = \"TSStaticKeyword\";\n AST_NODE_TYPES[\"TSStringKeyword\"] = \"TSStringKeyword\";\n AST_NODE_TYPES[\"TSSymbolKeyword\"] = \"TSSymbolKeyword\";\n AST_NODE_TYPES[\"TSTemplateLiteralType\"] = \"TSTemplateLiteralType\";\n AST_NODE_TYPES[\"TSThisType\"] = \"TSThisType\";\n AST_NODE_TYPES[\"TSTupleType\"] = \"TSTupleType\";\n AST_NODE_TYPES[\"TSTypeAliasDeclaration\"] = \"TSTypeAliasDeclaration\";\n AST_NODE_TYPES[\"TSTypeAnnotation\"] = \"TSTypeAnnotation\";\n AST_NODE_TYPES[\"TSTypeAssertion\"] = \"TSTypeAssertion\";\n AST_NODE_TYPES[\"TSTypeLiteral\"] = \"TSTypeLiteral\";\n AST_NODE_TYPES[\"TSTypeOperator\"] = \"TSTypeOperator\";\n AST_NODE_TYPES[\"TSTypeParameter\"] = \"TSTypeParameter\";\n AST_NODE_TYPES[\"TSTypeParameterDeclaration\"] = \"TSTypeParameterDeclaration\";\n AST_NODE_TYPES[\"TSTypeParameterInstantiation\"] = \"TSTypeParameterInstantiation\";\n AST_NODE_TYPES[\"TSTypePredicate\"] = \"TSTypePredicate\";\n AST_NODE_TYPES[\"TSTypeQuery\"] = \"TSTypeQuery\";\n AST_NODE_TYPES[\"TSTypeReference\"] = \"TSTypeReference\";\n AST_NODE_TYPES[\"TSUndefinedKeyword\"] = \"TSUndefinedKeyword\";\n AST_NODE_TYPES[\"TSUnionType\"] = \"TSUnionType\";\n AST_NODE_TYPES[\"TSUnknownKeyword\"] = \"TSUnknownKeyword\";\n AST_NODE_TYPES[\"TSVoidKeyword\"] = \"TSVoidKeyword\";\n})(AST_NODE_TYPES || (exports.AST_NODE_TYPES = AST_NODE_TYPES = {}));\nvar AST_TOKEN_TYPES;\n(function (AST_TOKEN_TYPES) {\n AST_TOKEN_TYPES[\"Boolean\"] = \"Boolean\";\n AST_TOKEN_TYPES[\"Identifier\"] = \"Identifier\";\n AST_TOKEN_TYPES[\"JSXIdentifier\"] = \"JSXIdentifier\";\n AST_TOKEN_TYPES[\"JSXText\"] = \"JSXText\";\n AST_TOKEN_TYPES[\"Keyword\"] = \"Keyword\";\n AST_TOKEN_TYPES[\"Null\"] = \"Null\";\n AST_TOKEN_TYPES[\"Numeric\"] = \"Numeric\";\n AST_TOKEN_TYPES[\"Punctuator\"] = \"Punctuator\";\n AST_TOKEN_TYPES[\"RegularExpression\"] = \"RegularExpression\";\n AST_TOKEN_TYPES[\"String\"] = \"String\";\n AST_TOKEN_TYPES[\"Template\"] = \"Template\";\n AST_TOKEN_TYPES[\"Block\"] = \"Block\";\n AST_TOKEN_TYPES[\"Line\"] = \"Line\";\n})(AST_TOKEN_TYPES || (exports.AST_TOKEN_TYPES = AST_TOKEN_TYPES = {}));\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TSESTree = void 0;\nexports.TSESTree = __importStar(require(\"./generated/ast-spec\"));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0;\nvar ast_spec_1 = require(\"./generated/ast-spec\");\nObject.defineProperty(exports, \"AST_NODE_TYPES\", { enumerable: true, get: function () { return ast_spec_1.AST_NODE_TYPES; } });\nObject.defineProperty(exports, \"AST_TOKEN_TYPES\", { enumerable: true, get: function () { return ast_spec_1.AST_TOKEN_TYPES; } });\n__exportStar(require(\"./lib\"), exports);\n__exportStar(require(\"./parser-options\"), exports);\n__exportStar(require(\"./ts-estree\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assert = assert;\n// the base assert module doesn't use ts assertion syntax\nfunction assert(value, message) {\n if (value == null) {\n throw new Error(message);\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createIdGenerator = createIdGenerator;\nexports.resetIds = resetIds;\nconst ID_CACHE = new Map();\nlet NEXT_KEY = 0;\nfunction createIdGenerator() {\n const key = (NEXT_KEY += 1);\n ID_CACHE.set(key, 0);\n return () => {\n const current = ID_CACHE.get(key) ?? 0;\n const next = current + 1;\n ID_CACHE.set(key, next);\n return next;\n };\n}\nfunction resetIds() {\n ID_CACHE.clear();\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefinitionBase = void 0;\nconst ID_1 = require(\"../ID\");\nconst generator = (0, ID_1.createIdGenerator)();\nclass DefinitionBase {\n /**\n * A unique ID for this instance - primarily used to help debugging and testing\n */\n $id = generator();\n type;\n /**\n * The `Identifier` node of this definition\n * @public\n */\n name;\n /**\n * The enclosing node of the name.\n * @public\n */\n node;\n /**\n * the enclosing statement node of the identifier.\n * @public\n */\n parent;\n constructor(type, name, node, parent) {\n this.type = type;\n this.name = name;\n this.node = node;\n this.parent = parent;\n }\n}\nexports.DefinitionBase = DefinitionBase;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefinitionType = void 0;\nvar DefinitionType;\n(function (DefinitionType) {\n DefinitionType[\"CatchClause\"] = \"CatchClause\";\n DefinitionType[\"ClassName\"] = \"ClassName\";\n DefinitionType[\"FunctionName\"] = \"FunctionName\";\n DefinitionType[\"ImplicitGlobalVariable\"] = \"ImplicitGlobalVariable\";\n DefinitionType[\"ImportBinding\"] = \"ImportBinding\";\n DefinitionType[\"Parameter\"] = \"Parameter\";\n DefinitionType[\"TSEnumName\"] = \"TSEnumName\";\n DefinitionType[\"TSEnumMember\"] = \"TSEnumMemberName\";\n DefinitionType[\"TSModuleName\"] = \"TSModuleName\";\n DefinitionType[\"Type\"] = \"Type\";\n DefinitionType[\"Variable\"] = \"Variable\";\n})(DefinitionType || (exports.DefinitionType = DefinitionType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CatchClauseDefinition = void 0;\nconst DefinitionBase_1 = require(\"./DefinitionBase\");\nconst DefinitionType_1 = require(\"./DefinitionType\");\nclass CatchClauseDefinition extends DefinitionBase_1.DefinitionBase {\n isTypeDefinition = false;\n isVariableDefinition = true;\n constructor(name, node) {\n super(DefinitionType_1.DefinitionType.CatchClause, name, node, null);\n }\n}\nexports.CatchClauseDefinition = CatchClauseDefinition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ClassNameDefinition = void 0;\nconst DefinitionBase_1 = require(\"./DefinitionBase\");\nconst DefinitionType_1 = require(\"./DefinitionType\");\nclass ClassNameDefinition extends DefinitionBase_1.DefinitionBase {\n isTypeDefinition = true;\n isVariableDefinition = true;\n constructor(name, node) {\n super(DefinitionType_1.DefinitionType.ClassName, name, node, null);\n }\n}\nexports.ClassNameDefinition = ClassNameDefinition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FunctionNameDefinition = void 0;\nconst DefinitionBase_1 = require(\"./DefinitionBase\");\nconst DefinitionType_1 = require(\"./DefinitionType\");\nclass FunctionNameDefinition extends DefinitionBase_1.DefinitionBase {\n isTypeDefinition = false;\n isVariableDefinition = true;\n constructor(name, node) {\n super(DefinitionType_1.DefinitionType.FunctionName, name, node, null);\n }\n}\nexports.FunctionNameDefinition = FunctionNameDefinition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImplicitGlobalVariableDefinition = void 0;\nconst DefinitionBase_1 = require(\"./DefinitionBase\");\nconst DefinitionType_1 = require(\"./DefinitionType\");\nclass ImplicitGlobalVariableDefinition extends DefinitionBase_1.DefinitionBase {\n isTypeDefinition = false;\n isVariableDefinition = true;\n constructor(name, node) {\n super(DefinitionType_1.DefinitionType.ImplicitGlobalVariable, name, node, null);\n }\n}\nexports.ImplicitGlobalVariableDefinition = ImplicitGlobalVariableDefinition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImportBindingDefinition = void 0;\nconst DefinitionBase_1 = require(\"./DefinitionBase\");\nconst DefinitionType_1 = require(\"./DefinitionType\");\nclass ImportBindingDefinition extends DefinitionBase_1.DefinitionBase {\n isTypeDefinition = true;\n isVariableDefinition = true;\n constructor(name, node, decl) {\n super(DefinitionType_1.DefinitionType.ImportBinding, name, node, decl);\n }\n}\nexports.ImportBindingDefinition = ImportBindingDefinition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ParameterDefinition = void 0;\nconst DefinitionBase_1 = require(\"./DefinitionBase\");\nconst DefinitionType_1 = require(\"./DefinitionType\");\nclass ParameterDefinition extends DefinitionBase_1.DefinitionBase {\n /**\n * Whether the parameter definition is a part of a rest parameter.\n */\n isTypeDefinition = false;\n isVariableDefinition = true;\n rest;\n constructor(name, node, rest) {\n super(DefinitionType_1.DefinitionType.Parameter, name, node, null);\n this.rest = rest;\n }\n}\nexports.ParameterDefinition = ParameterDefinition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TSEnumMemberDefinition = void 0;\nconst DefinitionBase_1 = require(\"./DefinitionBase\");\nconst DefinitionType_1 = require(\"./DefinitionType\");\nclass TSEnumMemberDefinition extends DefinitionBase_1.DefinitionBase {\n isTypeDefinition = true;\n isVariableDefinition = true;\n constructor(name, node) {\n super(DefinitionType_1.DefinitionType.TSEnumMember, name, node, null);\n }\n}\nexports.TSEnumMemberDefinition = TSEnumMemberDefinition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TSEnumNameDefinition = void 0;\nconst DefinitionBase_1 = require(\"./DefinitionBase\");\nconst DefinitionType_1 = require(\"./DefinitionType\");\nclass TSEnumNameDefinition extends DefinitionBase_1.DefinitionBase {\n isTypeDefinition = true;\n isVariableDefinition = true;\n constructor(name, node) {\n super(DefinitionType_1.DefinitionType.TSEnumName, name, node, null);\n }\n}\nexports.TSEnumNameDefinition = TSEnumNameDefinition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TSModuleNameDefinition = void 0;\nconst DefinitionBase_1 = require(\"./DefinitionBase\");\nconst DefinitionType_1 = require(\"./DefinitionType\");\nclass TSModuleNameDefinition extends DefinitionBase_1.DefinitionBase {\n isTypeDefinition = true;\n isVariableDefinition = true;\n constructor(name, node) {\n super(DefinitionType_1.DefinitionType.TSModuleName, name, node, null);\n }\n}\nexports.TSModuleNameDefinition = TSModuleNameDefinition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeDefinition = void 0;\nconst DefinitionBase_1 = require(\"./DefinitionBase\");\nconst DefinitionType_1 = require(\"./DefinitionType\");\nclass TypeDefinition extends DefinitionBase_1.DefinitionBase {\n isTypeDefinition = true;\n isVariableDefinition = false;\n constructor(name, node) {\n super(DefinitionType_1.DefinitionType.Type, name, node, null);\n }\n}\nexports.TypeDefinition = TypeDefinition;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VariableDefinition = void 0;\nconst DefinitionBase_1 = require(\"./DefinitionBase\");\nconst DefinitionType_1 = require(\"./DefinitionType\");\nclass VariableDefinition extends DefinitionBase_1.DefinitionBase {\n isTypeDefinition = false;\n isVariableDefinition = true;\n constructor(name, node, decl) {\n super(DefinitionType_1.DefinitionType.Variable, name, node, decl);\n }\n}\nexports.VariableDefinition = VariableDefinition;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./CatchClauseDefinition\"), exports);\n__exportStar(require(\"./ClassNameDefinition\"), exports);\n__exportStar(require(\"./Definition\"), exports);\n__exportStar(require(\"./DefinitionType\"), exports);\n__exportStar(require(\"./FunctionNameDefinition\"), exports);\n__exportStar(require(\"./ImplicitGlobalVariableDefinition\"), exports);\n__exportStar(require(\"./ImportBindingDefinition\"), exports);\n__exportStar(require(\"./ParameterDefinition\"), exports);\n__exportStar(require(\"./TSEnumMemberDefinition\"), exports);\n__exportStar(require(\"./TSEnumNameDefinition\"), exports);\n__exportStar(require(\"./TSModuleNameDefinition\"), exports);\n__exportStar(require(\"./TypeDefinition\"), exports);\n__exportStar(require(\"./VariableDefinition\"), exports);\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TYPE_VALUE = exports.VALUE = exports.TYPE = void 0;\nexports.TYPE = Object.freeze({\n eslintImplicitGlobalSetting: 'readonly',\n isTypeVariable: true,\n isValueVariable: false,\n});\nexports.VALUE = Object.freeze({\n eslintImplicitGlobalSetting: 'readonly',\n isTypeVariable: false,\n isValueVariable: true,\n});\nexports.TYPE_VALUE = Object.freeze({\n eslintImplicitGlobalSetting: 'readonly',\n isTypeVariable: true,\n isValueVariable: true,\n});\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decorators = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.decorators = {\n libs: [],\n variables: [\n ['ClassMemberDecoratorContext', base_config_1.TYPE],\n ['DecoratorContext', base_config_1.TYPE],\n ['DecoratorMetadataObject', base_config_1.TYPE],\n ['DecoratorMetadata', base_config_1.TYPE],\n ['ClassDecoratorContext', base_config_1.TYPE],\n ['ClassMethodDecoratorContext', base_config_1.TYPE],\n ['ClassGetterDecoratorContext', base_config_1.TYPE],\n ['ClassSetterDecoratorContext', base_config_1.TYPE],\n ['ClassAccessorDecoratorContext', base_config_1.TYPE],\n ['ClassAccessorDecoratorTarget', base_config_1.TYPE],\n ['ClassAccessorDecoratorResult', base_config_1.TYPE],\n ['ClassFieldDecoratorContext', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decorators_legacy = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.decorators_legacy = {\n libs: [],\n variables: [\n ['ClassDecorator', base_config_1.TYPE],\n ['PropertyDecorator', base_config_1.TYPE],\n ['MethodDecorator', base_config_1.TYPE],\n ['ParameterDecorator', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.dom = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.dom = {\n libs: [],\n variables: [\n ['AddEventListenerOptions', base_config_1.TYPE],\n ['AddressErrors', base_config_1.TYPE],\n ['AesCbcParams', base_config_1.TYPE],\n ['AesCtrParams', base_config_1.TYPE],\n ['AesDerivedKeyParams', base_config_1.TYPE],\n ['AesGcmParams', base_config_1.TYPE],\n ['AesKeyAlgorithm', base_config_1.TYPE],\n ['AesKeyGenParams', base_config_1.TYPE],\n ['Algorithm', base_config_1.TYPE],\n ['AnalyserOptions', base_config_1.TYPE],\n ['AnimationEventInit', base_config_1.TYPE],\n ['AnimationPlaybackEventInit', base_config_1.TYPE],\n ['AssignedNodesOptions', base_config_1.TYPE],\n ['AudioBufferOptions', base_config_1.TYPE],\n ['AudioBufferSourceOptions', base_config_1.TYPE],\n ['AudioConfiguration', base_config_1.TYPE],\n ['AudioContextOptions', base_config_1.TYPE],\n ['AudioDataCopyToOptions', base_config_1.TYPE],\n ['AudioDataInit', base_config_1.TYPE],\n ['AudioDecoderConfig', base_config_1.TYPE],\n ['AudioDecoderInit', base_config_1.TYPE],\n ['AudioDecoderSupport', base_config_1.TYPE],\n ['AudioEncoderConfig', base_config_1.TYPE],\n ['AudioEncoderInit', base_config_1.TYPE],\n ['AudioEncoderSupport', base_config_1.TYPE],\n ['AudioNodeOptions', base_config_1.TYPE],\n ['AudioProcessingEventInit', base_config_1.TYPE],\n ['AudioTimestamp', base_config_1.TYPE],\n ['AudioWorkletNodeOptions', base_config_1.TYPE],\n ['AuthenticationExtensionsClientInputs', base_config_1.TYPE],\n ['AuthenticationExtensionsClientInputsJSON', base_config_1.TYPE],\n ['AuthenticationExtensionsClientOutputs', base_config_1.TYPE],\n ['AuthenticationExtensionsPRFInputs', base_config_1.TYPE],\n ['AuthenticationExtensionsPRFOutputs', base_config_1.TYPE],\n ['AuthenticationExtensionsPRFValues', base_config_1.TYPE],\n ['AuthenticatorSelectionCriteria', base_config_1.TYPE],\n ['AvcEncoderConfig', base_config_1.TYPE],\n ['BiquadFilterOptions', base_config_1.TYPE],\n ['BlobEventInit', base_config_1.TYPE],\n ['BlobPropertyBag', base_config_1.TYPE],\n ['CSSMatrixComponentOptions', base_config_1.TYPE],\n ['CSSNumericType', base_config_1.TYPE],\n ['CSSStyleSheetInit', base_config_1.TYPE],\n ['CacheQueryOptions', base_config_1.TYPE],\n ['CanvasRenderingContext2DSettings', base_config_1.TYPE],\n ['CaretPositionFromPointOptions', base_config_1.TYPE],\n ['ChannelMergerOptions', base_config_1.TYPE],\n ['ChannelSplitterOptions', base_config_1.TYPE],\n ['CheckVisibilityOptions', base_config_1.TYPE],\n ['ClientQueryOptions', base_config_1.TYPE],\n ['ClipboardEventInit', base_config_1.TYPE],\n ['ClipboardItemOptions', base_config_1.TYPE],\n ['CloseEventInit', base_config_1.TYPE],\n ['CompositionEventInit', base_config_1.TYPE],\n ['ComputedEffectTiming', base_config_1.TYPE],\n ['ComputedKeyframe', base_config_1.TYPE],\n ['ConstantSourceOptions', base_config_1.TYPE],\n ['ConstrainBooleanParameters', base_config_1.TYPE],\n ['ConstrainDOMStringParameters', base_config_1.TYPE],\n ['ConstrainDoubleRange', base_config_1.TYPE],\n ['ConstrainULongRange', base_config_1.TYPE],\n ['ContentVisibilityAutoStateChangeEventInit', base_config_1.TYPE],\n ['ConvolverOptions', base_config_1.TYPE],\n ['CredentialCreationOptions', base_config_1.TYPE],\n ['CredentialPropertiesOutput', base_config_1.TYPE],\n ['CredentialRequestOptions', base_config_1.TYPE],\n ['CryptoKeyPair', base_config_1.TYPE],\n ['CustomEventInit', base_config_1.TYPE],\n ['DOMMatrix2DInit', base_config_1.TYPE],\n ['DOMMatrixInit', base_config_1.TYPE],\n ['DOMPointInit', base_config_1.TYPE],\n ['DOMQuadInit', base_config_1.TYPE],\n ['DOMRectInit', base_config_1.TYPE],\n ['DelayOptions', base_config_1.TYPE],\n ['DeviceMotionEventAccelerationInit', base_config_1.TYPE],\n ['DeviceMotionEventInit', base_config_1.TYPE],\n ['DeviceMotionEventRotationRateInit', base_config_1.TYPE],\n ['DeviceOrientationEventInit', base_config_1.TYPE],\n ['DisplayMediaStreamOptions', base_config_1.TYPE],\n ['DocumentTimelineOptions', base_config_1.TYPE],\n ['DoubleRange', base_config_1.TYPE],\n ['DragEventInit', base_config_1.TYPE],\n ['DynamicsCompressorOptions', base_config_1.TYPE],\n ['EcKeyAlgorithm', base_config_1.TYPE],\n ['EcKeyGenParams', base_config_1.TYPE],\n ['EcKeyImportParams', base_config_1.TYPE],\n ['EcdhKeyDeriveParams', base_config_1.TYPE],\n ['EcdsaParams', base_config_1.TYPE],\n ['EffectTiming', base_config_1.TYPE],\n ['ElementCreationOptions', base_config_1.TYPE],\n ['ElementDefinitionOptions', base_config_1.TYPE],\n ['EncodedAudioChunkInit', base_config_1.TYPE],\n ['EncodedAudioChunkMetadata', base_config_1.TYPE],\n ['EncodedVideoChunkInit', base_config_1.TYPE],\n ['EncodedVideoChunkMetadata', base_config_1.TYPE],\n ['ErrorEventInit', base_config_1.TYPE],\n ['EventInit', base_config_1.TYPE],\n ['EventListenerOptions', base_config_1.TYPE],\n ['EventModifierInit', base_config_1.TYPE],\n ['EventSourceInit', base_config_1.TYPE],\n ['FilePropertyBag', base_config_1.TYPE],\n ['FileSystemCreateWritableOptions', base_config_1.TYPE],\n ['FileSystemFlags', base_config_1.TYPE],\n ['FileSystemGetDirectoryOptions', base_config_1.TYPE],\n ['FileSystemGetFileOptions', base_config_1.TYPE],\n ['FileSystemRemoveOptions', base_config_1.TYPE],\n ['FocusEventInit', base_config_1.TYPE],\n ['FocusOptions', base_config_1.TYPE],\n ['FontFaceDescriptors', base_config_1.TYPE],\n ['FontFaceSetLoadEventInit', base_config_1.TYPE],\n ['FormDataEventInit', base_config_1.TYPE],\n ['FullscreenOptions', base_config_1.TYPE],\n ['GainOptions', base_config_1.TYPE],\n ['GamepadEffectParameters', base_config_1.TYPE],\n ['GamepadEventInit', base_config_1.TYPE],\n ['GetAnimationsOptions', base_config_1.TYPE],\n ['GetHTMLOptions', base_config_1.TYPE],\n ['GetNotificationOptions', base_config_1.TYPE],\n ['GetRootNodeOptions', base_config_1.TYPE],\n ['HashChangeEventInit', base_config_1.TYPE],\n ['HkdfParams', base_config_1.TYPE],\n ['HmacImportParams', base_config_1.TYPE],\n ['HmacKeyAlgorithm', base_config_1.TYPE],\n ['HmacKeyGenParams', base_config_1.TYPE],\n ['IDBDatabaseInfo', base_config_1.TYPE],\n ['IDBIndexParameters', base_config_1.TYPE],\n ['IDBObjectStoreParameters', base_config_1.TYPE],\n ['IDBTransactionOptions', base_config_1.TYPE],\n ['IDBVersionChangeEventInit', base_config_1.TYPE],\n ['IIRFilterOptions', base_config_1.TYPE],\n ['IdleRequestOptions', base_config_1.TYPE],\n ['ImageBitmapOptions', base_config_1.TYPE],\n ['ImageBitmapRenderingContextSettings', base_config_1.TYPE],\n ['ImageDataSettings', base_config_1.TYPE],\n ['ImageDecodeOptions', base_config_1.TYPE],\n ['ImageDecodeResult', base_config_1.TYPE],\n ['ImageDecoderInit', base_config_1.TYPE],\n ['ImageEncodeOptions', base_config_1.TYPE],\n ['InputEventInit', base_config_1.TYPE],\n ['IntersectionObserverInit', base_config_1.TYPE],\n ['JsonWebKey', base_config_1.TYPE],\n ['KeyAlgorithm', base_config_1.TYPE],\n ['KeyboardEventInit', base_config_1.TYPE],\n ['Keyframe', base_config_1.TYPE],\n ['KeyframeAnimationOptions', base_config_1.TYPE],\n ['KeyframeEffectOptions', base_config_1.TYPE],\n ['LockInfo', base_config_1.TYPE],\n ['LockManagerSnapshot', base_config_1.TYPE],\n ['LockOptions', base_config_1.TYPE],\n ['MIDIConnectionEventInit', base_config_1.TYPE],\n ['MIDIMessageEventInit', base_config_1.TYPE],\n ['MIDIOptions', base_config_1.TYPE],\n ['MediaCapabilitiesDecodingInfo', base_config_1.TYPE],\n ['MediaCapabilitiesEncodingInfo', base_config_1.TYPE],\n ['MediaCapabilitiesInfo', base_config_1.TYPE],\n ['MediaConfiguration', base_config_1.TYPE],\n ['MediaDecodingConfiguration', base_config_1.TYPE],\n ['MediaElementAudioSourceOptions', base_config_1.TYPE],\n ['MediaEncodingConfiguration', base_config_1.TYPE],\n ['MediaEncryptedEventInit', base_config_1.TYPE],\n ['MediaImage', base_config_1.TYPE],\n ['MediaKeyMessageEventInit', base_config_1.TYPE],\n ['MediaKeySystemConfiguration', base_config_1.TYPE],\n ['MediaKeySystemMediaCapability', base_config_1.TYPE],\n ['MediaKeysPolicy', base_config_1.TYPE],\n ['MediaMetadataInit', base_config_1.TYPE],\n ['MediaPositionState', base_config_1.TYPE],\n ['MediaQueryListEventInit', base_config_1.TYPE],\n ['MediaRecorderOptions', base_config_1.TYPE],\n ['MediaSessionActionDetails', base_config_1.TYPE],\n ['MediaStreamAudioSourceOptions', base_config_1.TYPE],\n ['MediaStreamConstraints', base_config_1.TYPE],\n ['MediaStreamTrackEventInit', base_config_1.TYPE],\n ['MediaTrackCapabilities', base_config_1.TYPE],\n ['MediaTrackConstraintSet', base_config_1.TYPE],\n ['MediaTrackConstraints', base_config_1.TYPE],\n ['MediaTrackSettings', base_config_1.TYPE],\n ['MediaTrackSupportedConstraints', base_config_1.TYPE],\n ['MessageEventInit', base_config_1.TYPE],\n ['MouseEventInit', base_config_1.TYPE],\n ['MultiCacheQueryOptions', base_config_1.TYPE],\n ['MutationObserverInit', base_config_1.TYPE],\n ['NavigationPreloadState', base_config_1.TYPE],\n ['NotificationOptions', base_config_1.TYPE],\n ['OfflineAudioCompletionEventInit', base_config_1.TYPE],\n ['OfflineAudioContextOptions', base_config_1.TYPE],\n ['OptionalEffectTiming', base_config_1.TYPE],\n ['OpusEncoderConfig', base_config_1.TYPE],\n ['OscillatorOptions', base_config_1.TYPE],\n ['PageRevealEventInit', base_config_1.TYPE],\n ['PageSwapEventInit', base_config_1.TYPE],\n ['PageTransitionEventInit', base_config_1.TYPE],\n ['PannerOptions', base_config_1.TYPE],\n ['PayerErrors', base_config_1.TYPE],\n ['PaymentCurrencyAmount', base_config_1.TYPE],\n ['PaymentDetailsBase', base_config_1.TYPE],\n ['PaymentDetailsInit', base_config_1.TYPE],\n ['PaymentDetailsModifier', base_config_1.TYPE],\n ['PaymentDetailsUpdate', base_config_1.TYPE],\n ['PaymentItem', base_config_1.TYPE],\n ['PaymentMethodChangeEventInit', base_config_1.TYPE],\n ['PaymentMethodData', base_config_1.TYPE],\n ['PaymentOptions', base_config_1.TYPE],\n ['PaymentRequestUpdateEventInit', base_config_1.TYPE],\n ['PaymentShippingOption', base_config_1.TYPE],\n ['PaymentValidationErrors', base_config_1.TYPE],\n ['Pbkdf2Params', base_config_1.TYPE],\n ['PerformanceMarkOptions', base_config_1.TYPE],\n ['PerformanceMeasureOptions', base_config_1.TYPE],\n ['PerformanceObserverInit', base_config_1.TYPE],\n ['PeriodicWaveConstraints', base_config_1.TYPE],\n ['PeriodicWaveOptions', base_config_1.TYPE],\n ['PermissionDescriptor', base_config_1.TYPE],\n ['PictureInPictureEventInit', base_config_1.TYPE],\n ['PlaneLayout', base_config_1.TYPE],\n ['PointerEventInit', base_config_1.TYPE],\n ['PointerLockOptions', base_config_1.TYPE],\n ['PopStateEventInit', base_config_1.TYPE],\n ['PositionOptions', base_config_1.TYPE],\n ['ProgressEventInit', base_config_1.TYPE],\n ['PromiseRejectionEventInit', base_config_1.TYPE],\n ['PropertyDefinition', base_config_1.TYPE],\n ['PropertyIndexedKeyframes', base_config_1.TYPE],\n ['PublicKeyCredentialCreationOptions', base_config_1.TYPE],\n ['PublicKeyCredentialCreationOptionsJSON', base_config_1.TYPE],\n ['PublicKeyCredentialDescriptor', base_config_1.TYPE],\n ['PublicKeyCredentialDescriptorJSON', base_config_1.TYPE],\n ['PublicKeyCredentialEntity', base_config_1.TYPE],\n ['PublicKeyCredentialParameters', base_config_1.TYPE],\n ['PublicKeyCredentialRequestOptions', base_config_1.TYPE],\n ['PublicKeyCredentialRequestOptionsJSON', base_config_1.TYPE],\n ['PublicKeyCredentialRpEntity', base_config_1.TYPE],\n ['PublicKeyCredentialUserEntity', base_config_1.TYPE],\n ['PublicKeyCredentialUserEntityJSON', base_config_1.TYPE],\n ['PushSubscriptionJSON', base_config_1.TYPE],\n ['PushSubscriptionOptionsInit', base_config_1.TYPE],\n ['QueuingStrategy', base_config_1.TYPE],\n ['QueuingStrategyInit', base_config_1.TYPE],\n ['RTCAnswerOptions', base_config_1.TYPE],\n ['RTCCertificateExpiration', base_config_1.TYPE],\n ['RTCConfiguration', base_config_1.TYPE],\n ['RTCDTMFToneChangeEventInit', base_config_1.TYPE],\n ['RTCDataChannelEventInit', base_config_1.TYPE],\n ['RTCDataChannelInit', base_config_1.TYPE],\n ['RTCDtlsFingerprint', base_config_1.TYPE],\n ['RTCEncodedAudioFrameMetadata', base_config_1.TYPE],\n ['RTCEncodedVideoFrameMetadata', base_config_1.TYPE],\n ['RTCErrorEventInit', base_config_1.TYPE],\n ['RTCErrorInit', base_config_1.TYPE],\n ['RTCIceCandidateInit', base_config_1.TYPE],\n ['RTCIceCandidatePairStats', base_config_1.TYPE],\n ['RTCIceServer', base_config_1.TYPE],\n ['RTCInboundRtpStreamStats', base_config_1.TYPE],\n ['RTCLocalSessionDescriptionInit', base_config_1.TYPE],\n ['RTCOfferAnswerOptions', base_config_1.TYPE],\n ['RTCOfferOptions', base_config_1.TYPE],\n ['RTCOutboundRtpStreamStats', base_config_1.TYPE],\n ['RTCPeerConnectionIceErrorEventInit', base_config_1.TYPE],\n ['RTCPeerConnectionIceEventInit', base_config_1.TYPE],\n ['RTCReceivedRtpStreamStats', base_config_1.TYPE],\n ['RTCRtcpParameters', base_config_1.TYPE],\n ['RTCRtpCapabilities', base_config_1.TYPE],\n ['RTCRtpCodec', base_config_1.TYPE],\n ['RTCRtpCodecParameters', base_config_1.TYPE],\n ['RTCRtpCodingParameters', base_config_1.TYPE],\n ['RTCRtpContributingSource', base_config_1.TYPE],\n ['RTCRtpEncodingParameters', base_config_1.TYPE],\n ['RTCRtpHeaderExtensionCapability', base_config_1.TYPE],\n ['RTCRtpHeaderExtensionParameters', base_config_1.TYPE],\n ['RTCRtpParameters', base_config_1.TYPE],\n ['RTCRtpReceiveParameters', base_config_1.TYPE],\n ['RTCRtpSendParameters', base_config_1.TYPE],\n ['RTCRtpStreamStats', base_config_1.TYPE],\n ['RTCRtpSynchronizationSource', base_config_1.TYPE],\n ['RTCRtpTransceiverInit', base_config_1.TYPE],\n ['RTCSentRtpStreamStats', base_config_1.TYPE],\n ['RTCSessionDescriptionInit', base_config_1.TYPE],\n ['RTCSetParameterOptions', base_config_1.TYPE],\n ['RTCStats', base_config_1.TYPE],\n ['RTCTrackEventInit', base_config_1.TYPE],\n ['RTCTransportStats', base_config_1.TYPE],\n ['ReadableStreamGetReaderOptions', base_config_1.TYPE],\n ['ReadableStreamIteratorOptions', base_config_1.TYPE],\n ['ReadableStreamReadDoneResult', base_config_1.TYPE],\n ['ReadableStreamReadValueResult', base_config_1.TYPE],\n ['ReadableWritablePair', base_config_1.TYPE],\n ['RegistrationOptions', base_config_1.TYPE],\n ['ReportingObserverOptions', base_config_1.TYPE],\n ['RequestInit', base_config_1.TYPE],\n ['ResizeObserverOptions', base_config_1.TYPE],\n ['ResponseInit', base_config_1.TYPE],\n ['RsaHashedImportParams', base_config_1.TYPE],\n ['RsaHashedKeyAlgorithm', base_config_1.TYPE],\n ['RsaHashedKeyGenParams', base_config_1.TYPE],\n ['RsaKeyAlgorithm', base_config_1.TYPE],\n ['RsaKeyGenParams', base_config_1.TYPE],\n ['RsaOaepParams', base_config_1.TYPE],\n ['RsaOtherPrimesInfo', base_config_1.TYPE],\n ['RsaPssParams', base_config_1.TYPE],\n ['SVGBoundingBoxOptions', base_config_1.TYPE],\n ['ScrollIntoViewOptions', base_config_1.TYPE],\n ['ScrollOptions', base_config_1.TYPE],\n ['ScrollToOptions', base_config_1.TYPE],\n ['SecurityPolicyViolationEventInit', base_config_1.TYPE],\n ['ShadowRootInit', base_config_1.TYPE],\n ['ShareData', base_config_1.TYPE],\n ['SpeechSynthesisErrorEventInit', base_config_1.TYPE],\n ['SpeechSynthesisEventInit', base_config_1.TYPE],\n ['StaticRangeInit', base_config_1.TYPE],\n ['StereoPannerOptions', base_config_1.TYPE],\n ['StorageEstimate', base_config_1.TYPE],\n ['StorageEventInit', base_config_1.TYPE],\n ['StreamPipeOptions', base_config_1.TYPE],\n ['StructuredSerializeOptions', base_config_1.TYPE],\n ['SubmitEventInit', base_config_1.TYPE],\n ['TextDecodeOptions', base_config_1.TYPE],\n ['TextDecoderOptions', base_config_1.TYPE],\n ['TextEncoderEncodeIntoResult', base_config_1.TYPE],\n ['ToggleEventInit', base_config_1.TYPE],\n ['TouchEventInit', base_config_1.TYPE],\n ['TouchInit', base_config_1.TYPE],\n ['TrackEventInit', base_config_1.TYPE],\n ['Transformer', base_config_1.TYPE],\n ['TransitionEventInit', base_config_1.TYPE],\n ['UIEventInit', base_config_1.TYPE],\n ['ULongRange', base_config_1.TYPE],\n ['UnderlyingByteSource', base_config_1.TYPE],\n ['UnderlyingDefaultSource', base_config_1.TYPE],\n ['UnderlyingSink', base_config_1.TYPE],\n ['UnderlyingSource', base_config_1.TYPE],\n ['ValidityStateFlags', base_config_1.TYPE],\n ['VideoColorSpaceInit', base_config_1.TYPE],\n ['VideoConfiguration', base_config_1.TYPE],\n ['VideoDecoderConfig', base_config_1.TYPE],\n ['VideoDecoderInit', base_config_1.TYPE],\n ['VideoDecoderSupport', base_config_1.TYPE],\n ['VideoEncoderConfig', base_config_1.TYPE],\n ['VideoEncoderEncodeOptions', base_config_1.TYPE],\n ['VideoEncoderEncodeOptionsForAvc', base_config_1.TYPE],\n ['VideoEncoderInit', base_config_1.TYPE],\n ['VideoEncoderSupport', base_config_1.TYPE],\n ['VideoFrameBufferInit', base_config_1.TYPE],\n ['VideoFrameCallbackMetadata', base_config_1.TYPE],\n ['VideoFrameCopyToOptions', base_config_1.TYPE],\n ['VideoFrameInit', base_config_1.TYPE],\n ['WaveShaperOptions', base_config_1.TYPE],\n ['WebGLContextAttributes', base_config_1.TYPE],\n ['WebGLContextEventInit', base_config_1.TYPE],\n ['WebTransportCloseInfo', base_config_1.TYPE],\n ['WebTransportErrorOptions', base_config_1.TYPE],\n ['WebTransportHash', base_config_1.TYPE],\n ['WebTransportOptions', base_config_1.TYPE],\n ['WebTransportSendStreamOptions', base_config_1.TYPE],\n ['WheelEventInit', base_config_1.TYPE],\n ['WindowPostMessageOptions', base_config_1.TYPE],\n ['WorkerOptions', base_config_1.TYPE],\n ['WorkletOptions', base_config_1.TYPE],\n ['WriteParams', base_config_1.TYPE],\n ['NodeFilter', base_config_1.TYPE_VALUE],\n ['XPathNSResolver', base_config_1.TYPE],\n ['ANGLE_instanced_arrays', base_config_1.TYPE],\n ['ARIAMixin', base_config_1.TYPE],\n ['AbortController', base_config_1.TYPE_VALUE],\n ['AbortSignalEventMap', base_config_1.TYPE],\n ['AbortSignal', base_config_1.TYPE_VALUE],\n ['AbstractRange', base_config_1.TYPE_VALUE],\n ['AbstractWorkerEventMap', base_config_1.TYPE],\n ['AbstractWorker', base_config_1.TYPE],\n ['AnalyserNode', base_config_1.TYPE_VALUE],\n ['Animatable', base_config_1.TYPE],\n ['AnimationEventMap', base_config_1.TYPE],\n ['Animation', base_config_1.TYPE_VALUE],\n ['AnimationEffect', base_config_1.TYPE_VALUE],\n ['AnimationEvent', base_config_1.TYPE_VALUE],\n ['AnimationFrameProvider', base_config_1.TYPE],\n ['AnimationPlaybackEvent', base_config_1.TYPE_VALUE],\n ['AnimationTimeline', base_config_1.TYPE_VALUE],\n ['Attr', base_config_1.TYPE_VALUE],\n ['AudioBuffer', base_config_1.TYPE_VALUE],\n ['AudioBufferSourceNode', base_config_1.TYPE_VALUE],\n ['AudioContext', base_config_1.TYPE_VALUE],\n ['AudioData', base_config_1.TYPE_VALUE],\n ['AudioDecoderEventMap', base_config_1.TYPE],\n ['AudioDecoder', base_config_1.TYPE_VALUE],\n ['AudioDestinationNode', base_config_1.TYPE_VALUE],\n ['AudioEncoderEventMap', base_config_1.TYPE],\n ['AudioEncoder', base_config_1.TYPE_VALUE],\n ['AudioListener', base_config_1.TYPE_VALUE],\n ['AudioNode', base_config_1.TYPE_VALUE],\n ['AudioParam', base_config_1.TYPE_VALUE],\n ['AudioParamMap', base_config_1.TYPE_VALUE],\n ['AudioProcessingEvent', base_config_1.TYPE_VALUE],\n ['AudioScheduledSourceNodeEventMap', base_config_1.TYPE],\n ['AudioScheduledSourceNode', base_config_1.TYPE_VALUE],\n ['AudioWorklet', base_config_1.TYPE_VALUE],\n ['AudioWorkletNodeEventMap', base_config_1.TYPE],\n ['AudioWorkletNode', base_config_1.TYPE_VALUE],\n ['AuthenticatorAssertionResponse', base_config_1.TYPE_VALUE],\n ['AuthenticatorAttestationResponse', base_config_1.TYPE_VALUE],\n ['AuthenticatorResponse', base_config_1.TYPE_VALUE],\n ['BarProp', base_config_1.TYPE_VALUE],\n ['BaseAudioContextEventMap', base_config_1.TYPE],\n ['BaseAudioContext', base_config_1.TYPE_VALUE],\n ['BeforeUnloadEvent', base_config_1.TYPE_VALUE],\n ['BiquadFilterNode', base_config_1.TYPE_VALUE],\n ['Blob', base_config_1.TYPE_VALUE],\n ['BlobEvent', base_config_1.TYPE_VALUE],\n ['Body', base_config_1.TYPE],\n ['BroadcastChannelEventMap', base_config_1.TYPE],\n ['BroadcastChannel', base_config_1.TYPE_VALUE],\n ['ByteLengthQueuingStrategy', base_config_1.TYPE_VALUE],\n ['CDATASection', base_config_1.TYPE_VALUE],\n ['CSSAnimation', base_config_1.TYPE_VALUE],\n ['CSSConditionRule', base_config_1.TYPE_VALUE],\n ['CSSContainerRule', base_config_1.TYPE_VALUE],\n ['CSSCounterStyleRule', base_config_1.TYPE_VALUE],\n ['CSSFontFaceRule', base_config_1.TYPE_VALUE],\n ['CSSFontFeatureValuesRule', base_config_1.TYPE_VALUE],\n ['CSSFontPaletteValuesRule', base_config_1.TYPE_VALUE],\n ['CSSGroupingRule', base_config_1.TYPE_VALUE],\n ['CSSImageValue', base_config_1.TYPE_VALUE],\n ['CSSImportRule', base_config_1.TYPE_VALUE],\n ['CSSKeyframeRule', base_config_1.TYPE_VALUE],\n ['CSSKeyframesRule', base_config_1.TYPE_VALUE],\n ['CSSKeywordValue', base_config_1.TYPE_VALUE],\n ['CSSLayerBlockRule', base_config_1.TYPE_VALUE],\n ['CSSLayerStatementRule', base_config_1.TYPE_VALUE],\n ['CSSMathClamp', base_config_1.TYPE_VALUE],\n ['CSSMathInvert', base_config_1.TYPE_VALUE],\n ['CSSMathMax', base_config_1.TYPE_VALUE],\n ['CSSMathMin', base_config_1.TYPE_VALUE],\n ['CSSMathNegate', base_config_1.TYPE_VALUE],\n ['CSSMathProduct', base_config_1.TYPE_VALUE],\n ['CSSMathSum', base_config_1.TYPE_VALUE],\n ['CSSMathValue', base_config_1.TYPE_VALUE],\n ['CSSMatrixComponent', base_config_1.TYPE_VALUE],\n ['CSSMediaRule', base_config_1.TYPE_VALUE],\n ['CSSNamespaceRule', base_config_1.TYPE_VALUE],\n ['CSSNestedDeclarations', base_config_1.TYPE_VALUE],\n ['CSSNumericArray', base_config_1.TYPE_VALUE],\n ['CSSNumericValue', base_config_1.TYPE_VALUE],\n ['CSSPageRule', base_config_1.TYPE_VALUE],\n ['CSSPerspective', base_config_1.TYPE_VALUE],\n ['CSSPropertyRule', base_config_1.TYPE_VALUE],\n ['CSSRotate', base_config_1.TYPE_VALUE],\n ['CSSRule', base_config_1.TYPE_VALUE],\n ['CSSRuleList', base_config_1.TYPE_VALUE],\n ['CSSScale', base_config_1.TYPE_VALUE],\n ['CSSScopeRule', base_config_1.TYPE_VALUE],\n ['CSSSkew', base_config_1.TYPE_VALUE],\n ['CSSSkewX', base_config_1.TYPE_VALUE],\n ['CSSSkewY', base_config_1.TYPE_VALUE],\n ['CSSStartingStyleRule', base_config_1.TYPE_VALUE],\n ['CSSStyleDeclaration', base_config_1.TYPE_VALUE],\n ['CSSStyleRule', base_config_1.TYPE_VALUE],\n ['CSSStyleSheet', base_config_1.TYPE_VALUE],\n ['CSSStyleValue', base_config_1.TYPE_VALUE],\n ['CSSSupportsRule', base_config_1.TYPE_VALUE],\n ['CSSTransformComponent', base_config_1.TYPE_VALUE],\n ['CSSTransformValue', base_config_1.TYPE_VALUE],\n ['CSSTransition', base_config_1.TYPE_VALUE],\n ['CSSTranslate', base_config_1.TYPE_VALUE],\n ['CSSUnitValue', base_config_1.TYPE_VALUE],\n ['CSSUnparsedValue', base_config_1.TYPE_VALUE],\n ['CSSVariableReferenceValue', base_config_1.TYPE_VALUE],\n ['CSSViewTransitionRule', base_config_1.TYPE_VALUE],\n ['Cache', base_config_1.TYPE_VALUE],\n ['CacheStorage', base_config_1.TYPE_VALUE],\n ['CanvasCaptureMediaStreamTrack', base_config_1.TYPE_VALUE],\n ['CanvasCompositing', base_config_1.TYPE],\n ['CanvasDrawImage', base_config_1.TYPE],\n ['CanvasDrawPath', base_config_1.TYPE],\n ['CanvasFillStrokeStyles', base_config_1.TYPE],\n ['CanvasFilters', base_config_1.TYPE],\n ['CanvasGradient', base_config_1.TYPE_VALUE],\n ['CanvasImageData', base_config_1.TYPE],\n ['CanvasImageSmoothing', base_config_1.TYPE],\n ['CanvasPath', base_config_1.TYPE],\n ['CanvasPathDrawingStyles', base_config_1.TYPE],\n ['CanvasPattern', base_config_1.TYPE_VALUE],\n ['CanvasRect', base_config_1.TYPE],\n ['CanvasRenderingContext2D', base_config_1.TYPE_VALUE],\n ['CanvasSettings', base_config_1.TYPE],\n ['CanvasShadowStyles', base_config_1.TYPE],\n ['CanvasState', base_config_1.TYPE],\n ['CanvasText', base_config_1.TYPE],\n ['CanvasTextDrawingStyles', base_config_1.TYPE],\n ['CanvasTransform', base_config_1.TYPE],\n ['CanvasUserInterface', base_config_1.TYPE],\n ['CaretPosition', base_config_1.TYPE_VALUE],\n ['ChannelMergerNode', base_config_1.TYPE_VALUE],\n ['ChannelSplitterNode', base_config_1.TYPE_VALUE],\n ['CharacterData', base_config_1.TYPE_VALUE],\n ['ChildNode', base_config_1.TYPE],\n ['ClientRect', base_config_1.TYPE],\n ['Clipboard', base_config_1.TYPE_VALUE],\n ['ClipboardEvent', base_config_1.TYPE_VALUE],\n ['ClipboardItem', base_config_1.TYPE_VALUE],\n ['CloseEvent', base_config_1.TYPE_VALUE],\n ['Comment', base_config_1.TYPE_VALUE],\n ['CompositionEvent', base_config_1.TYPE_VALUE],\n ['CompressionStream', base_config_1.TYPE_VALUE],\n ['ConstantSourceNode', base_config_1.TYPE_VALUE],\n ['ContentVisibilityAutoStateChangeEvent', base_config_1.TYPE_VALUE],\n ['ConvolverNode', base_config_1.TYPE_VALUE],\n ['CountQueuingStrategy', base_config_1.TYPE_VALUE],\n ['Credential', base_config_1.TYPE_VALUE],\n ['CredentialsContainer', base_config_1.TYPE_VALUE],\n ['Crypto', base_config_1.TYPE_VALUE],\n ['CryptoKey', base_config_1.TYPE_VALUE],\n ['CustomElementRegistry', base_config_1.TYPE_VALUE],\n ['CustomEvent', base_config_1.TYPE_VALUE],\n ['CustomStateSet', base_config_1.TYPE_VALUE],\n ['DOMException', base_config_1.TYPE_VALUE],\n ['DOMImplementation', base_config_1.TYPE_VALUE],\n ['DOMMatrix', base_config_1.TYPE_VALUE],\n ['SVGMatrix', base_config_1.TYPE_VALUE],\n ['WebKitCSSMatrix', base_config_1.TYPE_VALUE],\n ['DOMMatrixReadOnly', base_config_1.TYPE_VALUE],\n ['DOMParser', base_config_1.TYPE_VALUE],\n ['DOMPoint', base_config_1.TYPE_VALUE],\n ['SVGPoint', base_config_1.TYPE_VALUE],\n ['DOMPointReadOnly', base_config_1.TYPE_VALUE],\n ['DOMQuad', base_config_1.TYPE_VALUE],\n ['DOMRect', base_config_1.TYPE_VALUE],\n ['SVGRect', base_config_1.TYPE_VALUE],\n ['DOMRectList', base_config_1.TYPE_VALUE],\n ['DOMRectReadOnly', base_config_1.TYPE_VALUE],\n ['DOMStringList', base_config_1.TYPE_VALUE],\n ['DOMStringMap', base_config_1.TYPE_VALUE],\n ['DOMTokenList', base_config_1.TYPE_VALUE],\n ['DataTransfer', base_config_1.TYPE_VALUE],\n ['DataTransferItem', base_config_1.TYPE_VALUE],\n ['DataTransferItemList', base_config_1.TYPE_VALUE],\n ['DecompressionStream', base_config_1.TYPE_VALUE],\n ['DelayNode', base_config_1.TYPE_VALUE],\n ['DeviceMotionEvent', base_config_1.TYPE_VALUE],\n ['DeviceMotionEventAcceleration', base_config_1.TYPE],\n ['DeviceMotionEventRotationRate', base_config_1.TYPE],\n ['DeviceOrientationEvent', base_config_1.TYPE_VALUE],\n ['DocumentEventMap', base_config_1.TYPE],\n ['Document', base_config_1.TYPE_VALUE],\n ['DocumentFragment', base_config_1.TYPE_VALUE],\n ['DocumentOrShadowRoot', base_config_1.TYPE],\n ['DocumentTimeline', base_config_1.TYPE_VALUE],\n ['DocumentType', base_config_1.TYPE_VALUE],\n ['DragEvent', base_config_1.TYPE_VALUE],\n ['DynamicsCompressorNode', base_config_1.TYPE_VALUE],\n ['EXT_blend_minmax', base_config_1.TYPE],\n ['EXT_color_buffer_float', base_config_1.TYPE],\n ['EXT_color_buffer_half_float', base_config_1.TYPE],\n ['EXT_float_blend', base_config_1.TYPE],\n ['EXT_frag_depth', base_config_1.TYPE],\n ['EXT_sRGB', base_config_1.TYPE],\n ['EXT_shader_texture_lod', base_config_1.TYPE],\n ['EXT_texture_compression_bptc', base_config_1.TYPE],\n ['EXT_texture_compression_rgtc', base_config_1.TYPE],\n ['EXT_texture_filter_anisotropic', base_config_1.TYPE],\n ['EXT_texture_norm16', base_config_1.TYPE],\n ['ElementEventMap', base_config_1.TYPE],\n ['Element', base_config_1.TYPE_VALUE],\n ['ElementCSSInlineStyle', base_config_1.TYPE],\n ['ElementContentEditable', base_config_1.TYPE],\n ['ElementInternals', base_config_1.TYPE_VALUE],\n ['EncodedAudioChunk', base_config_1.TYPE_VALUE],\n ['EncodedVideoChunk', base_config_1.TYPE_VALUE],\n ['ErrorEvent', base_config_1.TYPE_VALUE],\n ['Event', base_config_1.TYPE_VALUE],\n ['EventCounts', base_config_1.TYPE_VALUE],\n ['EventListener', base_config_1.TYPE],\n ['EventListenerObject', base_config_1.TYPE],\n ['EventSourceEventMap', base_config_1.TYPE],\n ['EventSource', base_config_1.TYPE_VALUE],\n ['EventTarget', base_config_1.TYPE_VALUE],\n ['External', base_config_1.TYPE_VALUE],\n ['File', base_config_1.TYPE_VALUE],\n ['FileList', base_config_1.TYPE_VALUE],\n ['FileReaderEventMap', base_config_1.TYPE],\n ['FileReader', base_config_1.TYPE_VALUE],\n ['FileSystem', base_config_1.TYPE_VALUE],\n ['FileSystemDirectoryEntry', base_config_1.TYPE_VALUE],\n ['FileSystemDirectoryHandle', base_config_1.TYPE_VALUE],\n ['FileSystemDirectoryReader', base_config_1.TYPE_VALUE],\n ['FileSystemEntry', base_config_1.TYPE_VALUE],\n ['FileSystemFileEntry', base_config_1.TYPE_VALUE],\n ['FileSystemFileHandle', base_config_1.TYPE_VALUE],\n ['FileSystemHandle', base_config_1.TYPE_VALUE],\n ['FileSystemWritableFileStream', base_config_1.TYPE_VALUE],\n ['FocusEvent', base_config_1.TYPE_VALUE],\n ['FontFace', base_config_1.TYPE_VALUE],\n ['FontFaceSetEventMap', base_config_1.TYPE],\n ['FontFaceSet', base_config_1.TYPE_VALUE],\n ['FontFaceSetLoadEvent', base_config_1.TYPE_VALUE],\n ['FontFaceSource', base_config_1.TYPE],\n ['FormData', base_config_1.TYPE_VALUE],\n ['FormDataEvent', base_config_1.TYPE_VALUE],\n ['FragmentDirective', base_config_1.TYPE_VALUE],\n ['GPUError', base_config_1.TYPE],\n ['GainNode', base_config_1.TYPE_VALUE],\n ['Gamepad', base_config_1.TYPE_VALUE],\n ['GamepadButton', base_config_1.TYPE_VALUE],\n ['GamepadEvent', base_config_1.TYPE_VALUE],\n ['GamepadHapticActuator', base_config_1.TYPE_VALUE],\n ['GenericTransformStream', base_config_1.TYPE],\n ['Geolocation', base_config_1.TYPE_VALUE],\n ['GeolocationCoordinates', base_config_1.TYPE_VALUE],\n ['GeolocationPosition', base_config_1.TYPE_VALUE],\n ['GeolocationPositionError', base_config_1.TYPE_VALUE],\n ['GlobalEventHandlersEventMap', base_config_1.TYPE],\n ['GlobalEventHandlers', base_config_1.TYPE],\n ['HTMLAllCollection', base_config_1.TYPE_VALUE],\n ['HTMLAnchorElement', base_config_1.TYPE_VALUE],\n ['HTMLAreaElement', base_config_1.TYPE_VALUE],\n ['HTMLAudioElement', base_config_1.TYPE_VALUE],\n ['HTMLBRElement', base_config_1.TYPE_VALUE],\n ['HTMLBaseElement', base_config_1.TYPE_VALUE],\n ['HTMLBodyElementEventMap', base_config_1.TYPE],\n ['HTMLBodyElement', base_config_1.TYPE_VALUE],\n ['HTMLButtonElement', base_config_1.TYPE_VALUE],\n ['HTMLCanvasElement', base_config_1.TYPE_VALUE],\n ['HTMLCollectionBase', base_config_1.TYPE],\n ['HTMLCollection', base_config_1.TYPE_VALUE],\n ['HTMLCollectionOf', base_config_1.TYPE],\n ['HTMLDListElement', base_config_1.TYPE_VALUE],\n ['HTMLDataElement', base_config_1.TYPE_VALUE],\n ['HTMLDataListElement', base_config_1.TYPE_VALUE],\n ['HTMLDetailsElement', base_config_1.TYPE_VALUE],\n ['HTMLDialogElement', base_config_1.TYPE_VALUE],\n ['HTMLDirectoryElement', base_config_1.TYPE_VALUE],\n ['HTMLDivElement', base_config_1.TYPE_VALUE],\n ['HTMLDocument', base_config_1.TYPE_VALUE],\n ['HTMLElementEventMap', base_config_1.TYPE],\n ['HTMLElement', base_config_1.TYPE_VALUE],\n ['HTMLEmbedElement', base_config_1.TYPE_VALUE],\n ['HTMLFieldSetElement', base_config_1.TYPE_VALUE],\n ['HTMLFontElement', base_config_1.TYPE_VALUE],\n ['HTMLFormControlsCollection', base_config_1.TYPE_VALUE],\n ['HTMLFormElement', base_config_1.TYPE_VALUE],\n ['HTMLFrameElement', base_config_1.TYPE_VALUE],\n ['HTMLFrameSetElementEventMap', base_config_1.TYPE],\n ['HTMLFrameSetElement', base_config_1.TYPE_VALUE],\n ['HTMLHRElement', base_config_1.TYPE_VALUE],\n ['HTMLHeadElement', base_config_1.TYPE_VALUE],\n ['HTMLHeadingElement', base_config_1.TYPE_VALUE],\n ['HTMLHtmlElement', base_config_1.TYPE_VALUE],\n ['HTMLHyperlinkElementUtils', base_config_1.TYPE],\n ['HTMLIFrameElement', base_config_1.TYPE_VALUE],\n ['HTMLImageElement', base_config_1.TYPE_VALUE],\n ['HTMLInputElement', base_config_1.TYPE_VALUE],\n ['HTMLLIElement', base_config_1.TYPE_VALUE],\n ['HTMLLabelElement', base_config_1.TYPE_VALUE],\n ['HTMLLegendElement', base_config_1.TYPE_VALUE],\n ['HTMLLinkElement', base_config_1.TYPE_VALUE],\n ['HTMLMapElement', base_config_1.TYPE_VALUE],\n ['HTMLMarqueeElement', base_config_1.TYPE_VALUE],\n ['HTMLMediaElementEventMap', base_config_1.TYPE],\n ['HTMLMediaElement', base_config_1.TYPE_VALUE],\n ['HTMLMenuElement', base_config_1.TYPE_VALUE],\n ['HTMLMetaElement', base_config_1.TYPE_VALUE],\n ['HTMLMeterElement', base_config_1.TYPE_VALUE],\n ['HTMLModElement', base_config_1.TYPE_VALUE],\n ['HTMLOListElement', base_config_1.TYPE_VALUE],\n ['HTMLObjectElement', base_config_1.TYPE_VALUE],\n ['HTMLOptGroupElement', base_config_1.TYPE_VALUE],\n ['HTMLOptionElement', base_config_1.TYPE_VALUE],\n ['HTMLOptionsCollection', base_config_1.TYPE_VALUE],\n ['HTMLOrSVGElement', base_config_1.TYPE],\n ['HTMLOutputElement', base_config_1.TYPE_VALUE],\n ['HTMLParagraphElement', base_config_1.TYPE_VALUE],\n ['HTMLParamElement', base_config_1.TYPE_VALUE],\n ['HTMLPictureElement', base_config_1.TYPE_VALUE],\n ['HTMLPreElement', base_config_1.TYPE_VALUE],\n ['HTMLProgressElement', base_config_1.TYPE_VALUE],\n ['HTMLQuoteElement', base_config_1.TYPE_VALUE],\n ['HTMLScriptElement', base_config_1.TYPE_VALUE],\n ['HTMLSelectElement', base_config_1.TYPE_VALUE],\n ['HTMLSlotElement', base_config_1.TYPE_VALUE],\n ['HTMLSourceElement', base_config_1.TYPE_VALUE],\n ['HTMLSpanElement', base_config_1.TYPE_VALUE],\n ['HTMLStyleElement', base_config_1.TYPE_VALUE],\n ['HTMLTableCaptionElement', base_config_1.TYPE_VALUE],\n ['HTMLTableCellElement', base_config_1.TYPE_VALUE],\n ['HTMLTableColElement', base_config_1.TYPE_VALUE],\n ['HTMLTableDataCellElement', base_config_1.TYPE],\n ['HTMLTableElement', base_config_1.TYPE_VALUE],\n ['HTMLTableHeaderCellElement', base_config_1.TYPE],\n ['HTMLTableRowElement', base_config_1.TYPE_VALUE],\n ['HTMLTableSectionElement', base_config_1.TYPE_VALUE],\n ['HTMLTemplateElement', base_config_1.TYPE_VALUE],\n ['HTMLTextAreaElement', base_config_1.TYPE_VALUE],\n ['HTMLTimeElement', base_config_1.TYPE_VALUE],\n ['HTMLTitleElement', base_config_1.TYPE_VALUE],\n ['HTMLTrackElement', base_config_1.TYPE_VALUE],\n ['HTMLUListElement', base_config_1.TYPE_VALUE],\n ['HTMLUnknownElement', base_config_1.TYPE_VALUE],\n ['HTMLVideoElementEventMap', base_config_1.TYPE],\n ['HTMLVideoElement', base_config_1.TYPE_VALUE],\n ['HashChangeEvent', base_config_1.TYPE_VALUE],\n ['Headers', base_config_1.TYPE_VALUE],\n ['Highlight', base_config_1.TYPE_VALUE],\n ['HighlightRegistry', base_config_1.TYPE_VALUE],\n ['History', base_config_1.TYPE_VALUE],\n ['IDBCursor', base_config_1.TYPE_VALUE],\n ['IDBCursorWithValue', base_config_1.TYPE_VALUE],\n ['IDBDatabaseEventMap', base_config_1.TYPE],\n ['IDBDatabase', base_config_1.TYPE_VALUE],\n ['IDBFactory', base_config_1.TYPE_VALUE],\n ['IDBIndex', base_config_1.TYPE_VALUE],\n ['IDBKeyRange', base_config_1.TYPE_VALUE],\n ['IDBObjectStore', base_config_1.TYPE_VALUE],\n ['IDBOpenDBRequestEventMap', base_config_1.TYPE],\n ['IDBOpenDBRequest', base_config_1.TYPE_VALUE],\n ['IDBRequestEventMap', base_config_1.TYPE],\n ['IDBRequest', base_config_1.TYPE_VALUE],\n ['IDBTransactionEventMap', base_config_1.TYPE],\n ['IDBTransaction', base_config_1.TYPE_VALUE],\n ['IDBVersionChangeEvent', base_config_1.TYPE_VALUE],\n ['IIRFilterNode', base_config_1.TYPE_VALUE],\n ['IdleDeadline', base_config_1.TYPE_VALUE],\n ['ImageBitmap', base_config_1.TYPE_VALUE],\n ['ImageBitmapRenderingContext', base_config_1.TYPE_VALUE],\n ['ImageData', base_config_1.TYPE_VALUE],\n ['ImageDecoder', base_config_1.TYPE_VALUE],\n ['ImageTrack', base_config_1.TYPE_VALUE],\n ['ImageTrackList', base_config_1.TYPE_VALUE],\n ['ImportMeta', base_config_1.TYPE],\n ['InputDeviceInfo', base_config_1.TYPE_VALUE],\n ['InputEvent', base_config_1.TYPE_VALUE],\n ['IntersectionObserver', base_config_1.TYPE_VALUE],\n ['IntersectionObserverEntry', base_config_1.TYPE_VALUE],\n ['KHR_parallel_shader_compile', base_config_1.TYPE],\n ['KeyboardEvent', base_config_1.TYPE_VALUE],\n ['KeyframeEffect', base_config_1.TYPE_VALUE],\n ['LargestContentfulPaint', base_config_1.TYPE_VALUE],\n ['LinkStyle', base_config_1.TYPE],\n ['Location', base_config_1.TYPE_VALUE],\n ['Lock', base_config_1.TYPE_VALUE],\n ['LockManager', base_config_1.TYPE_VALUE],\n ['MIDIAccessEventMap', base_config_1.TYPE],\n ['MIDIAccess', base_config_1.TYPE_VALUE],\n ['MIDIConnectionEvent', base_config_1.TYPE_VALUE],\n ['MIDIInputEventMap', base_config_1.TYPE],\n ['MIDIInput', base_config_1.TYPE_VALUE],\n ['MIDIInputMap', base_config_1.TYPE_VALUE],\n ['MIDIMessageEvent', base_config_1.TYPE_VALUE],\n ['MIDIOutput', base_config_1.TYPE_VALUE],\n ['MIDIOutputMap', base_config_1.TYPE_VALUE],\n ['MIDIPortEventMap', base_config_1.TYPE],\n ['MIDIPort', base_config_1.TYPE_VALUE],\n ['MathMLElementEventMap', base_config_1.TYPE],\n ['MathMLElement', base_config_1.TYPE_VALUE],\n ['MediaCapabilities', base_config_1.TYPE_VALUE],\n ['MediaDeviceInfo', base_config_1.TYPE_VALUE],\n ['MediaDevicesEventMap', base_config_1.TYPE],\n ['MediaDevices', base_config_1.TYPE_VALUE],\n ['MediaElementAudioSourceNode', base_config_1.TYPE_VALUE],\n ['MediaEncryptedEvent', base_config_1.TYPE_VALUE],\n ['MediaError', base_config_1.TYPE_VALUE],\n ['MediaKeyMessageEvent', base_config_1.TYPE_VALUE],\n ['MediaKeySessionEventMap', base_config_1.TYPE],\n ['MediaKeySession', base_config_1.TYPE_VALUE],\n ['MediaKeyStatusMap', base_config_1.TYPE_VALUE],\n ['MediaKeySystemAccess', base_config_1.TYPE_VALUE],\n ['MediaKeys', base_config_1.TYPE_VALUE],\n ['MediaList', base_config_1.TYPE_VALUE],\n ['MediaMetadata', base_config_1.TYPE_VALUE],\n ['MediaQueryListEventMap', base_config_1.TYPE],\n ['MediaQueryList', base_config_1.TYPE_VALUE],\n ['MediaQueryListEvent', base_config_1.TYPE_VALUE],\n ['MediaRecorderEventMap', base_config_1.TYPE],\n ['MediaRecorder', base_config_1.TYPE_VALUE],\n ['MediaSession', base_config_1.TYPE_VALUE],\n ['MediaSourceEventMap', base_config_1.TYPE],\n ['MediaSource', base_config_1.TYPE_VALUE],\n ['MediaSourceHandle', base_config_1.TYPE_VALUE],\n ['MediaStreamEventMap', base_config_1.TYPE],\n ['MediaStream', base_config_1.TYPE_VALUE],\n ['MediaStreamAudioDestinationNode', base_config_1.TYPE_VALUE],\n ['MediaStreamAudioSourceNode', base_config_1.TYPE_VALUE],\n ['MediaStreamTrackEventMap', base_config_1.TYPE],\n ['MediaStreamTrack', base_config_1.TYPE_VALUE],\n ['MediaStreamTrackEvent', base_config_1.TYPE_VALUE],\n ['MessageChannel', base_config_1.TYPE_VALUE],\n ['MessageEvent', base_config_1.TYPE_VALUE],\n ['MessageEventTargetEventMap', base_config_1.TYPE],\n ['MessageEventTarget', base_config_1.TYPE],\n ['MessagePortEventMap', base_config_1.TYPE],\n ['MessagePort', base_config_1.TYPE_VALUE],\n ['MimeType', base_config_1.TYPE_VALUE],\n ['MimeTypeArray', base_config_1.TYPE_VALUE],\n ['MouseEvent', base_config_1.TYPE_VALUE],\n ['MutationObserver', base_config_1.TYPE_VALUE],\n ['MutationRecord', base_config_1.TYPE_VALUE],\n ['NamedNodeMap', base_config_1.TYPE_VALUE],\n ['NavigationActivation', base_config_1.TYPE_VALUE],\n ['NavigationHistoryEntryEventMap', base_config_1.TYPE],\n ['NavigationHistoryEntry', base_config_1.TYPE_VALUE],\n ['NavigationPreloadManager', base_config_1.TYPE_VALUE],\n ['Navigator', base_config_1.TYPE_VALUE],\n ['NavigatorAutomationInformation', base_config_1.TYPE],\n ['NavigatorBadge', base_config_1.TYPE],\n ['NavigatorConcurrentHardware', base_config_1.TYPE],\n ['NavigatorContentUtils', base_config_1.TYPE],\n ['NavigatorCookies', base_config_1.TYPE],\n ['NavigatorID', base_config_1.TYPE],\n ['NavigatorLanguage', base_config_1.TYPE],\n ['NavigatorLocks', base_config_1.TYPE],\n ['NavigatorOnLine', base_config_1.TYPE],\n ['NavigatorPlugins', base_config_1.TYPE],\n ['NavigatorStorage', base_config_1.TYPE],\n ['Node', base_config_1.TYPE_VALUE],\n ['NodeIterator', base_config_1.TYPE_VALUE],\n ['NodeList', base_config_1.TYPE_VALUE],\n ['NodeListOf', base_config_1.TYPE],\n ['NonDocumentTypeChildNode', base_config_1.TYPE],\n ['NonElementParentNode', base_config_1.TYPE],\n ['NotificationEventMap', base_config_1.TYPE],\n ['Notification', base_config_1.TYPE_VALUE],\n ['OES_draw_buffers_indexed', base_config_1.TYPE],\n ['OES_element_index_uint', base_config_1.TYPE],\n ['OES_fbo_render_mipmap', base_config_1.TYPE],\n ['OES_standard_derivatives', base_config_1.TYPE],\n ['OES_texture_float', base_config_1.TYPE],\n ['OES_texture_float_linear', base_config_1.TYPE],\n ['OES_texture_half_float', base_config_1.TYPE],\n ['OES_texture_half_float_linear', base_config_1.TYPE],\n ['OES_vertex_array_object', base_config_1.TYPE],\n ['OVR_multiview2', base_config_1.TYPE],\n ['OfflineAudioCompletionEvent', base_config_1.TYPE_VALUE],\n ['OfflineAudioContextEventMap', base_config_1.TYPE],\n ['OfflineAudioContext', base_config_1.TYPE_VALUE],\n ['OffscreenCanvasEventMap', base_config_1.TYPE],\n ['OffscreenCanvas', base_config_1.TYPE_VALUE],\n ['OffscreenCanvasRenderingContext2D', base_config_1.TYPE_VALUE],\n ['OscillatorNode', base_config_1.TYPE_VALUE],\n ['OverconstrainedError', base_config_1.TYPE_VALUE],\n ['PageRevealEvent', base_config_1.TYPE_VALUE],\n ['PageSwapEvent', base_config_1.TYPE_VALUE],\n ['PageTransitionEvent', base_config_1.TYPE_VALUE],\n ['PannerNode', base_config_1.TYPE_VALUE],\n ['ParentNode', base_config_1.TYPE],\n ['Path2D', base_config_1.TYPE_VALUE],\n ['PaymentAddress', base_config_1.TYPE_VALUE],\n ['PaymentMethodChangeEvent', base_config_1.TYPE_VALUE],\n ['PaymentRequestEventMap', base_config_1.TYPE],\n ['PaymentRequest', base_config_1.TYPE_VALUE],\n ['PaymentRequestUpdateEvent', base_config_1.TYPE_VALUE],\n ['PaymentResponseEventMap', base_config_1.TYPE],\n ['PaymentResponse', base_config_1.TYPE_VALUE],\n ['PerformanceEventMap', base_config_1.TYPE],\n ['Performance', base_config_1.TYPE_VALUE],\n ['PerformanceEntry', base_config_1.TYPE_VALUE],\n ['PerformanceEventTiming', base_config_1.TYPE_VALUE],\n ['PerformanceMark', base_config_1.TYPE_VALUE],\n ['PerformanceMeasure', base_config_1.TYPE_VALUE],\n ['PerformanceNavigation', base_config_1.TYPE_VALUE],\n ['PerformanceNavigationTiming', base_config_1.TYPE_VALUE],\n ['PerformanceObserver', base_config_1.TYPE_VALUE],\n ['PerformanceObserverEntryList', base_config_1.TYPE_VALUE],\n ['PerformancePaintTiming', base_config_1.TYPE_VALUE],\n ['PerformanceResourceTiming', base_config_1.TYPE_VALUE],\n ['PerformanceServerTiming', base_config_1.TYPE_VALUE],\n ['PerformanceTiming', base_config_1.TYPE_VALUE],\n ['PeriodicWave', base_config_1.TYPE_VALUE],\n ['PermissionStatusEventMap', base_config_1.TYPE],\n ['PermissionStatus', base_config_1.TYPE_VALUE],\n ['Permissions', base_config_1.TYPE_VALUE],\n ['PictureInPictureEvent', base_config_1.TYPE_VALUE],\n ['PictureInPictureWindowEventMap', base_config_1.TYPE],\n ['PictureInPictureWindow', base_config_1.TYPE_VALUE],\n ['Plugin', base_config_1.TYPE_VALUE],\n ['PluginArray', base_config_1.TYPE_VALUE],\n ['PointerEvent', base_config_1.TYPE_VALUE],\n ['PopStateEvent', base_config_1.TYPE_VALUE],\n ['PopoverInvokerElement', base_config_1.TYPE],\n ['ProcessingInstruction', base_config_1.TYPE_VALUE],\n ['ProgressEvent', base_config_1.TYPE_VALUE],\n ['PromiseRejectionEvent', base_config_1.TYPE_VALUE],\n ['PublicKeyCredential', base_config_1.TYPE_VALUE],\n ['PushManager', base_config_1.TYPE_VALUE],\n ['PushSubscription', base_config_1.TYPE_VALUE],\n ['PushSubscriptionOptions', base_config_1.TYPE_VALUE],\n ['RTCCertificate', base_config_1.TYPE_VALUE],\n ['RTCDTMFSenderEventMap', base_config_1.TYPE],\n ['RTCDTMFSender', base_config_1.TYPE_VALUE],\n ['RTCDTMFToneChangeEvent', base_config_1.TYPE_VALUE],\n ['RTCDataChannelEventMap', base_config_1.TYPE],\n ['RTCDataChannel', base_config_1.TYPE_VALUE],\n ['RTCDataChannelEvent', base_config_1.TYPE_VALUE],\n ['RTCDtlsTransportEventMap', base_config_1.TYPE],\n ['RTCDtlsTransport', base_config_1.TYPE_VALUE],\n ['RTCEncodedAudioFrame', base_config_1.TYPE_VALUE],\n ['RTCEncodedVideoFrame', base_config_1.TYPE_VALUE],\n ['RTCError', base_config_1.TYPE_VALUE],\n ['RTCErrorEvent', base_config_1.TYPE_VALUE],\n ['RTCIceCandidate', base_config_1.TYPE_VALUE],\n ['RTCIceCandidatePair', base_config_1.TYPE],\n ['RTCIceTransportEventMap', base_config_1.TYPE],\n ['RTCIceTransport', base_config_1.TYPE_VALUE],\n ['RTCPeerConnectionEventMap', base_config_1.TYPE],\n ['RTCPeerConnection', base_config_1.TYPE_VALUE],\n ['RTCPeerConnectionIceErrorEvent', base_config_1.TYPE_VALUE],\n ['RTCPeerConnectionIceEvent', base_config_1.TYPE_VALUE],\n ['RTCRtpReceiver', base_config_1.TYPE_VALUE],\n ['RTCRtpScriptTransform', base_config_1.TYPE_VALUE],\n ['RTCRtpSender', base_config_1.TYPE_VALUE],\n ['RTCRtpTransceiver', base_config_1.TYPE_VALUE],\n ['RTCSctpTransportEventMap', base_config_1.TYPE],\n ['RTCSctpTransport', base_config_1.TYPE_VALUE],\n ['RTCSessionDescription', base_config_1.TYPE_VALUE],\n ['RTCStatsReport', base_config_1.TYPE_VALUE],\n ['RTCTrackEvent', base_config_1.TYPE_VALUE],\n ['RadioNodeList', base_config_1.TYPE_VALUE],\n ['Range', base_config_1.TYPE_VALUE],\n ['ReadableByteStreamController', base_config_1.TYPE_VALUE],\n ['ReadableStream', base_config_1.TYPE_VALUE],\n ['ReadableStreamBYOBReader', base_config_1.TYPE_VALUE],\n ['ReadableStreamBYOBRequest', base_config_1.TYPE_VALUE],\n ['ReadableStreamDefaultController', base_config_1.TYPE_VALUE],\n ['ReadableStreamDefaultReader', base_config_1.TYPE_VALUE],\n ['ReadableStreamGenericReader', base_config_1.TYPE],\n ['RemotePlaybackEventMap', base_config_1.TYPE],\n ['RemotePlayback', base_config_1.TYPE_VALUE],\n ['Report', base_config_1.TYPE_VALUE],\n ['ReportBody', base_config_1.TYPE_VALUE],\n ['ReportingObserver', base_config_1.TYPE_VALUE],\n ['Request', base_config_1.TYPE_VALUE],\n ['ResizeObserver', base_config_1.TYPE_VALUE],\n ['ResizeObserverEntry', base_config_1.TYPE_VALUE],\n ['ResizeObserverSize', base_config_1.TYPE_VALUE],\n ['Response', base_config_1.TYPE_VALUE],\n ['SVGAElement', base_config_1.TYPE_VALUE],\n ['SVGAngle', base_config_1.TYPE_VALUE],\n ['SVGAnimateElement', base_config_1.TYPE_VALUE],\n ['SVGAnimateMotionElement', base_config_1.TYPE_VALUE],\n ['SVGAnimateTransformElement', base_config_1.TYPE_VALUE],\n ['SVGAnimatedAngle', base_config_1.TYPE_VALUE],\n ['SVGAnimatedBoolean', base_config_1.TYPE_VALUE],\n ['SVGAnimatedEnumeration', base_config_1.TYPE_VALUE],\n ['SVGAnimatedInteger', base_config_1.TYPE_VALUE],\n ['SVGAnimatedLength', base_config_1.TYPE_VALUE],\n ['SVGAnimatedLengthList', base_config_1.TYPE_VALUE],\n ['SVGAnimatedNumber', base_config_1.TYPE_VALUE],\n ['SVGAnimatedNumberList', base_config_1.TYPE_VALUE],\n ['SVGAnimatedPoints', base_config_1.TYPE],\n ['SVGAnimatedPreserveAspectRatio', base_config_1.TYPE_VALUE],\n ['SVGAnimatedRect', base_config_1.TYPE_VALUE],\n ['SVGAnimatedString', base_config_1.TYPE_VALUE],\n ['SVGAnimatedTransformList', base_config_1.TYPE_VALUE],\n ['SVGAnimationElement', base_config_1.TYPE_VALUE],\n ['SVGCircleElement', base_config_1.TYPE_VALUE],\n ['SVGClipPathElement', base_config_1.TYPE_VALUE],\n ['SVGComponentTransferFunctionElement', base_config_1.TYPE_VALUE],\n ['SVGDefsElement', base_config_1.TYPE_VALUE],\n ['SVGDescElement', base_config_1.TYPE_VALUE],\n ['SVGElementEventMap', base_config_1.TYPE],\n ['SVGElement', base_config_1.TYPE_VALUE],\n ['SVGEllipseElement', base_config_1.TYPE_VALUE],\n ['SVGFEBlendElement', base_config_1.TYPE_VALUE],\n ['SVGFEColorMatrixElement', base_config_1.TYPE_VALUE],\n ['SVGFEComponentTransferElement', base_config_1.TYPE_VALUE],\n ['SVGFECompositeElement', base_config_1.TYPE_VALUE],\n ['SVGFEConvolveMatrixElement', base_config_1.TYPE_VALUE],\n ['SVGFEDiffuseLightingElement', base_config_1.TYPE_VALUE],\n ['SVGFEDisplacementMapElement', base_config_1.TYPE_VALUE],\n ['SVGFEDistantLightElement', base_config_1.TYPE_VALUE],\n ['SVGFEDropShadowElement', base_config_1.TYPE_VALUE],\n ['SVGFEFloodElement', base_config_1.TYPE_VALUE],\n ['SVGFEFuncAElement', base_config_1.TYPE_VALUE],\n ['SVGFEFuncBElement', base_config_1.TYPE_VALUE],\n ['SVGFEFuncGElement', base_config_1.TYPE_VALUE],\n ['SVGFEFuncRElement', base_config_1.TYPE_VALUE],\n ['SVGFEGaussianBlurElement', base_config_1.TYPE_VALUE],\n ['SVGFEImageElement', base_config_1.TYPE_VALUE],\n ['SVGFEMergeElement', base_config_1.TYPE_VALUE],\n ['SVGFEMergeNodeElement', base_config_1.TYPE_VALUE],\n ['SVGFEMorphologyElement', base_config_1.TYPE_VALUE],\n ['SVGFEOffsetElement', base_config_1.TYPE_VALUE],\n ['SVGFEPointLightElement', base_config_1.TYPE_VALUE],\n ['SVGFESpecularLightingElement', base_config_1.TYPE_VALUE],\n ['SVGFESpotLightElement', base_config_1.TYPE_VALUE],\n ['SVGFETileElement', base_config_1.TYPE_VALUE],\n ['SVGFETurbulenceElement', base_config_1.TYPE_VALUE],\n ['SVGFilterElement', base_config_1.TYPE_VALUE],\n ['SVGFilterPrimitiveStandardAttributes', base_config_1.TYPE],\n ['SVGFitToViewBox', base_config_1.TYPE],\n ['SVGForeignObjectElement', base_config_1.TYPE_VALUE],\n ['SVGGElement', base_config_1.TYPE_VALUE],\n ['SVGGeometryElement', base_config_1.TYPE_VALUE],\n ['SVGGradientElement', base_config_1.TYPE_VALUE],\n ['SVGGraphicsElement', base_config_1.TYPE_VALUE],\n ['SVGImageElement', base_config_1.TYPE_VALUE],\n ['SVGLength', base_config_1.TYPE_VALUE],\n ['SVGLengthList', base_config_1.TYPE_VALUE],\n ['SVGLineElement', base_config_1.TYPE_VALUE],\n ['SVGLinearGradientElement', base_config_1.TYPE_VALUE],\n ['SVGMPathElement', base_config_1.TYPE_VALUE],\n ['SVGMarkerElement', base_config_1.TYPE_VALUE],\n ['SVGMaskElement', base_config_1.TYPE_VALUE],\n ['SVGMetadataElement', base_config_1.TYPE_VALUE],\n ['SVGNumber', base_config_1.TYPE_VALUE],\n ['SVGNumberList', base_config_1.TYPE_VALUE],\n ['SVGPathElement', base_config_1.TYPE_VALUE],\n ['SVGPatternElement', base_config_1.TYPE_VALUE],\n ['SVGPointList', base_config_1.TYPE_VALUE],\n ['SVGPolygonElement', base_config_1.TYPE_VALUE],\n ['SVGPolylineElement', base_config_1.TYPE_VALUE],\n ['SVGPreserveAspectRatio', base_config_1.TYPE_VALUE],\n ['SVGRadialGradientElement', base_config_1.TYPE_VALUE],\n ['SVGRectElement', base_config_1.TYPE_VALUE],\n ['SVGSVGElementEventMap', base_config_1.TYPE],\n ['SVGSVGElement', base_config_1.TYPE_VALUE],\n ['SVGScriptElement', base_config_1.TYPE_VALUE],\n ['SVGSetElement', base_config_1.TYPE_VALUE],\n ['SVGStopElement', base_config_1.TYPE_VALUE],\n ['SVGStringList', base_config_1.TYPE_VALUE],\n ['SVGStyleElement', base_config_1.TYPE_VALUE],\n ['SVGSwitchElement', base_config_1.TYPE_VALUE],\n ['SVGSymbolElement', base_config_1.TYPE_VALUE],\n ['SVGTSpanElement', base_config_1.TYPE_VALUE],\n ['SVGTests', base_config_1.TYPE],\n ['SVGTextContentElement', base_config_1.TYPE_VALUE],\n ['SVGTextElement', base_config_1.TYPE_VALUE],\n ['SVGTextPathElement', base_config_1.TYPE_VALUE],\n ['SVGTextPositioningElement', base_config_1.TYPE_VALUE],\n ['SVGTitleElement', base_config_1.TYPE_VALUE],\n ['SVGTransform', base_config_1.TYPE_VALUE],\n ['SVGTransformList', base_config_1.TYPE_VALUE],\n ['SVGURIReference', base_config_1.TYPE],\n ['SVGUnitTypes', base_config_1.TYPE_VALUE],\n ['SVGUseElement', base_config_1.TYPE_VALUE],\n ['SVGViewElement', base_config_1.TYPE_VALUE],\n ['Screen', base_config_1.TYPE_VALUE],\n ['ScreenOrientationEventMap', base_config_1.TYPE],\n ['ScreenOrientation', base_config_1.TYPE_VALUE],\n ['ScriptProcessorNodeEventMap', base_config_1.TYPE],\n ['ScriptProcessorNode', base_config_1.TYPE_VALUE],\n ['SecurityPolicyViolationEvent', base_config_1.TYPE_VALUE],\n ['Selection', base_config_1.TYPE_VALUE],\n ['ServiceWorkerEventMap', base_config_1.TYPE],\n ['ServiceWorker', base_config_1.TYPE_VALUE],\n ['ServiceWorkerContainerEventMap', base_config_1.TYPE],\n ['ServiceWorkerContainer', base_config_1.TYPE_VALUE],\n ['ServiceWorkerRegistrationEventMap', base_config_1.TYPE],\n ['ServiceWorkerRegistration', base_config_1.TYPE_VALUE],\n ['ShadowRootEventMap', base_config_1.TYPE],\n ['ShadowRoot', base_config_1.TYPE_VALUE],\n ['SharedWorker', base_config_1.TYPE_VALUE],\n ['Slottable', base_config_1.TYPE],\n ['SourceBufferEventMap', base_config_1.TYPE],\n ['SourceBuffer', base_config_1.TYPE_VALUE],\n ['SourceBufferListEventMap', base_config_1.TYPE],\n ['SourceBufferList', base_config_1.TYPE_VALUE],\n ['SpeechRecognitionAlternative', base_config_1.TYPE_VALUE],\n ['SpeechRecognitionResult', base_config_1.TYPE_VALUE],\n ['SpeechRecognitionResultList', base_config_1.TYPE_VALUE],\n ['SpeechSynthesisEventMap', base_config_1.TYPE],\n ['SpeechSynthesis', base_config_1.TYPE_VALUE],\n ['SpeechSynthesisErrorEvent', base_config_1.TYPE_VALUE],\n ['SpeechSynthesisEvent', base_config_1.TYPE_VALUE],\n ['SpeechSynthesisUtteranceEventMap', base_config_1.TYPE],\n ['SpeechSynthesisUtterance', base_config_1.TYPE_VALUE],\n ['SpeechSynthesisVoice', base_config_1.TYPE_VALUE],\n ['StaticRange', base_config_1.TYPE_VALUE],\n ['StereoPannerNode', base_config_1.TYPE_VALUE],\n ['Storage', base_config_1.TYPE_VALUE],\n ['StorageEvent', base_config_1.TYPE_VALUE],\n ['StorageManager', base_config_1.TYPE_VALUE],\n ['StyleMedia', base_config_1.TYPE],\n ['StylePropertyMap', base_config_1.TYPE_VALUE],\n ['StylePropertyMapReadOnly', base_config_1.TYPE_VALUE],\n ['StyleSheet', base_config_1.TYPE_VALUE],\n ['StyleSheetList', base_config_1.TYPE_VALUE],\n ['SubmitEvent', base_config_1.TYPE_VALUE],\n ['SubtleCrypto', base_config_1.TYPE_VALUE],\n ['Text', base_config_1.TYPE_VALUE],\n ['TextDecoder', base_config_1.TYPE_VALUE],\n ['TextDecoderCommon', base_config_1.TYPE],\n ['TextDecoderStream', base_config_1.TYPE_VALUE],\n ['TextEncoder', base_config_1.TYPE_VALUE],\n ['TextEncoderCommon', base_config_1.TYPE],\n ['TextEncoderStream', base_config_1.TYPE_VALUE],\n ['TextEvent', base_config_1.TYPE_VALUE],\n ['TextMetrics', base_config_1.TYPE_VALUE],\n ['TextTrackEventMap', base_config_1.TYPE],\n ['TextTrack', base_config_1.TYPE_VALUE],\n ['TextTrackCueEventMap', base_config_1.TYPE],\n ['TextTrackCue', base_config_1.TYPE_VALUE],\n ['TextTrackCueList', base_config_1.TYPE_VALUE],\n ['TextTrackListEventMap', base_config_1.TYPE],\n ['TextTrackList', base_config_1.TYPE_VALUE],\n ['TimeRanges', base_config_1.TYPE_VALUE],\n ['ToggleEvent', base_config_1.TYPE_VALUE],\n ['Touch', base_config_1.TYPE_VALUE],\n ['TouchEvent', base_config_1.TYPE_VALUE],\n ['TouchList', base_config_1.TYPE_VALUE],\n ['TrackEvent', base_config_1.TYPE_VALUE],\n ['TransformStream', base_config_1.TYPE_VALUE],\n ['TransformStreamDefaultController', base_config_1.TYPE_VALUE],\n ['TransitionEvent', base_config_1.TYPE_VALUE],\n ['TreeWalker', base_config_1.TYPE_VALUE],\n ['UIEvent', base_config_1.TYPE_VALUE],\n ['URL', base_config_1.TYPE_VALUE],\n ['webkitURL', base_config_1.TYPE_VALUE],\n ['URLSearchParams', base_config_1.TYPE_VALUE],\n ['UserActivation', base_config_1.TYPE_VALUE],\n ['VTTCue', base_config_1.TYPE_VALUE],\n ['VTTRegion', base_config_1.TYPE_VALUE],\n ['ValidityState', base_config_1.TYPE_VALUE],\n ['VideoColorSpace', base_config_1.TYPE_VALUE],\n ['VideoDecoderEventMap', base_config_1.TYPE],\n ['VideoDecoder', base_config_1.TYPE_VALUE],\n ['VideoEncoderEventMap', base_config_1.TYPE],\n ['VideoEncoder', base_config_1.TYPE_VALUE],\n ['VideoFrame', base_config_1.TYPE_VALUE],\n ['VideoPlaybackQuality', base_config_1.TYPE_VALUE],\n ['ViewTransition', base_config_1.TYPE_VALUE],\n ['ViewTransitionTypeSet', base_config_1.TYPE_VALUE],\n ['VisualViewportEventMap', base_config_1.TYPE],\n ['VisualViewport', base_config_1.TYPE_VALUE],\n ['WEBGL_color_buffer_float', base_config_1.TYPE],\n ['WEBGL_compressed_texture_astc', base_config_1.TYPE],\n ['WEBGL_compressed_texture_etc', base_config_1.TYPE],\n ['WEBGL_compressed_texture_etc1', base_config_1.TYPE],\n ['WEBGL_compressed_texture_pvrtc', base_config_1.TYPE],\n ['WEBGL_compressed_texture_s3tc', base_config_1.TYPE],\n ['WEBGL_compressed_texture_s3tc_srgb', base_config_1.TYPE],\n ['WEBGL_debug_renderer_info', base_config_1.TYPE],\n ['WEBGL_debug_shaders', base_config_1.TYPE],\n ['WEBGL_depth_texture', base_config_1.TYPE],\n ['WEBGL_draw_buffers', base_config_1.TYPE],\n ['WEBGL_lose_context', base_config_1.TYPE],\n ['WEBGL_multi_draw', base_config_1.TYPE],\n ['WakeLock', base_config_1.TYPE_VALUE],\n ['WakeLockSentinelEventMap', base_config_1.TYPE],\n ['WakeLockSentinel', base_config_1.TYPE_VALUE],\n ['WaveShaperNode', base_config_1.TYPE_VALUE],\n ['WebGL2RenderingContext', base_config_1.TYPE_VALUE],\n ['WebGL2RenderingContextBase', base_config_1.TYPE],\n ['WebGL2RenderingContextOverloads', base_config_1.TYPE],\n ['WebGLActiveInfo', base_config_1.TYPE_VALUE],\n ['WebGLBuffer', base_config_1.TYPE_VALUE],\n ['WebGLContextEvent', base_config_1.TYPE_VALUE],\n ['WebGLFramebuffer', base_config_1.TYPE_VALUE],\n ['WebGLProgram', base_config_1.TYPE_VALUE],\n ['WebGLQuery', base_config_1.TYPE_VALUE],\n ['WebGLRenderbuffer', base_config_1.TYPE_VALUE],\n ['WebGLRenderingContext', base_config_1.TYPE_VALUE],\n ['WebGLRenderingContextBase', base_config_1.TYPE],\n ['WebGLRenderingContextOverloads', base_config_1.TYPE],\n ['WebGLSampler', base_config_1.TYPE_VALUE],\n ['WebGLShader', base_config_1.TYPE_VALUE],\n ['WebGLShaderPrecisionFormat', base_config_1.TYPE_VALUE],\n ['WebGLSync', base_config_1.TYPE_VALUE],\n ['WebGLTexture', base_config_1.TYPE_VALUE],\n ['WebGLTransformFeedback', base_config_1.TYPE_VALUE],\n ['WebGLUniformLocation', base_config_1.TYPE_VALUE],\n ['WebGLVertexArrayObject', base_config_1.TYPE_VALUE],\n ['WebGLVertexArrayObjectOES', base_config_1.TYPE],\n ['WebSocketEventMap', base_config_1.TYPE],\n ['WebSocket', base_config_1.TYPE_VALUE],\n ['WebTransport', base_config_1.TYPE_VALUE],\n ['WebTransportBidirectionalStream', base_config_1.TYPE_VALUE],\n ['WebTransportDatagramDuplexStream', base_config_1.TYPE_VALUE],\n ['WebTransportError', base_config_1.TYPE_VALUE],\n ['WheelEvent', base_config_1.TYPE_VALUE],\n ['WindowEventMap', base_config_1.TYPE],\n ['Window', base_config_1.TYPE_VALUE],\n ['WindowEventHandlersEventMap', base_config_1.TYPE],\n ['WindowEventHandlers', base_config_1.TYPE],\n ['WindowLocalStorage', base_config_1.TYPE],\n ['WindowOrWorkerGlobalScope', base_config_1.TYPE],\n ['WindowSessionStorage', base_config_1.TYPE],\n ['WorkerEventMap', base_config_1.TYPE],\n ['Worker', base_config_1.TYPE_VALUE],\n ['Worklet', base_config_1.TYPE_VALUE],\n ['WritableStream', base_config_1.TYPE_VALUE],\n ['WritableStreamDefaultController', base_config_1.TYPE_VALUE],\n ['WritableStreamDefaultWriter', base_config_1.TYPE_VALUE],\n ['XMLDocument', base_config_1.TYPE_VALUE],\n ['XMLHttpRequestEventMap', base_config_1.TYPE],\n ['XMLHttpRequest', base_config_1.TYPE_VALUE],\n ['XMLHttpRequestEventTargetEventMap', base_config_1.TYPE],\n ['XMLHttpRequestEventTarget', base_config_1.TYPE_VALUE],\n ['XMLHttpRequestUpload', base_config_1.TYPE_VALUE],\n ['XMLSerializer', base_config_1.TYPE_VALUE],\n ['XPathEvaluator', base_config_1.TYPE_VALUE],\n ['XPathEvaluatorBase', base_config_1.TYPE],\n ['XPathExpression', base_config_1.TYPE_VALUE],\n ['XPathResult', base_config_1.TYPE_VALUE],\n ['XSLTProcessor', base_config_1.TYPE_VALUE],\n ['Console', base_config_1.TYPE],\n ['CSS', base_config_1.TYPE_VALUE],\n ['WebAssembly', base_config_1.TYPE_VALUE],\n ['AudioDataOutputCallback', base_config_1.TYPE],\n ['BlobCallback', base_config_1.TYPE],\n ['CustomElementConstructor', base_config_1.TYPE],\n ['DecodeErrorCallback', base_config_1.TYPE],\n ['DecodeSuccessCallback', base_config_1.TYPE],\n ['EncodedAudioChunkOutputCallback', base_config_1.TYPE],\n ['EncodedVideoChunkOutputCallback', base_config_1.TYPE],\n ['ErrorCallback', base_config_1.TYPE],\n ['FileCallback', base_config_1.TYPE],\n ['FileSystemEntriesCallback', base_config_1.TYPE],\n ['FileSystemEntryCallback', base_config_1.TYPE],\n ['FrameRequestCallback', base_config_1.TYPE],\n ['FunctionStringCallback', base_config_1.TYPE],\n ['IdleRequestCallback', base_config_1.TYPE],\n ['IntersectionObserverCallback', base_config_1.TYPE],\n ['LockGrantedCallback', base_config_1.TYPE],\n ['MediaSessionActionHandler', base_config_1.TYPE],\n ['MutationCallback', base_config_1.TYPE],\n ['NotificationPermissionCallback', base_config_1.TYPE],\n ['OnBeforeUnloadEventHandlerNonNull', base_config_1.TYPE],\n ['OnErrorEventHandlerNonNull', base_config_1.TYPE],\n ['PerformanceObserverCallback', base_config_1.TYPE],\n ['PositionCallback', base_config_1.TYPE],\n ['PositionErrorCallback', base_config_1.TYPE],\n ['QueuingStrategySize', base_config_1.TYPE],\n ['RTCPeerConnectionErrorCallback', base_config_1.TYPE],\n ['RTCSessionDescriptionCallback', base_config_1.TYPE],\n ['RemotePlaybackAvailabilityCallback', base_config_1.TYPE],\n ['ReportingObserverCallback', base_config_1.TYPE],\n ['ResizeObserverCallback', base_config_1.TYPE],\n ['TransformerFlushCallback', base_config_1.TYPE],\n ['TransformerStartCallback', base_config_1.TYPE],\n ['TransformerTransformCallback', base_config_1.TYPE],\n ['UnderlyingSinkAbortCallback', base_config_1.TYPE],\n ['UnderlyingSinkCloseCallback', base_config_1.TYPE],\n ['UnderlyingSinkStartCallback', base_config_1.TYPE],\n ['UnderlyingSinkWriteCallback', base_config_1.TYPE],\n ['UnderlyingSourceCancelCallback', base_config_1.TYPE],\n ['UnderlyingSourcePullCallback', base_config_1.TYPE],\n ['UnderlyingSourceStartCallback', base_config_1.TYPE],\n ['VideoFrameOutputCallback', base_config_1.TYPE],\n ['VideoFrameRequestCallback', base_config_1.TYPE],\n ['ViewTransitionUpdateCallback', base_config_1.TYPE],\n ['VoidFunction', base_config_1.TYPE],\n ['WebCodecsErrorCallback', base_config_1.TYPE],\n ['HTMLElementTagNameMap', base_config_1.TYPE],\n ['HTMLElementDeprecatedTagNameMap', base_config_1.TYPE],\n ['SVGElementTagNameMap', base_config_1.TYPE],\n ['MathMLElementTagNameMap', base_config_1.TYPE],\n ['ElementTagNameMap', base_config_1.TYPE],\n ['AlgorithmIdentifier', base_config_1.TYPE],\n ['AllowSharedBufferSource', base_config_1.TYPE],\n ['AutoFill', base_config_1.TYPE],\n ['AutoFillField', base_config_1.TYPE],\n ['AutoFillSection', base_config_1.TYPE],\n ['Base64URLString', base_config_1.TYPE],\n ['BigInteger', base_config_1.TYPE],\n ['BlobPart', base_config_1.TYPE],\n ['BodyInit', base_config_1.TYPE],\n ['BufferSource', base_config_1.TYPE],\n ['COSEAlgorithmIdentifier', base_config_1.TYPE],\n ['CSSKeywordish', base_config_1.TYPE],\n ['CSSNumberish', base_config_1.TYPE],\n ['CSSPerspectiveValue', base_config_1.TYPE],\n ['CSSUnparsedSegment', base_config_1.TYPE],\n ['CanvasImageSource', base_config_1.TYPE],\n ['ClipboardItemData', base_config_1.TYPE],\n ['ClipboardItems', base_config_1.TYPE],\n ['ConstrainBoolean', base_config_1.TYPE],\n ['ConstrainDOMString', base_config_1.TYPE],\n ['ConstrainDouble', base_config_1.TYPE],\n ['ConstrainULong', base_config_1.TYPE],\n ['DOMHighResTimeStamp', base_config_1.TYPE],\n ['EpochTimeStamp', base_config_1.TYPE],\n ['EventListenerOrEventListenerObject', base_config_1.TYPE],\n ['FileSystemWriteChunkType', base_config_1.TYPE],\n ['Float32List', base_config_1.TYPE],\n ['FormDataEntryValue', base_config_1.TYPE],\n ['GLbitfield', base_config_1.TYPE],\n ['GLboolean', base_config_1.TYPE],\n ['GLclampf', base_config_1.TYPE],\n ['GLenum', base_config_1.TYPE],\n ['GLfloat', base_config_1.TYPE],\n ['GLint', base_config_1.TYPE],\n ['GLint64', base_config_1.TYPE],\n ['GLintptr', base_config_1.TYPE],\n ['GLsizei', base_config_1.TYPE],\n ['GLsizeiptr', base_config_1.TYPE],\n ['GLuint', base_config_1.TYPE],\n ['GLuint64', base_config_1.TYPE],\n ['HTMLOrSVGImageElement', base_config_1.TYPE],\n ['HTMLOrSVGScriptElement', base_config_1.TYPE],\n ['HashAlgorithmIdentifier', base_config_1.TYPE],\n ['HeadersInit', base_config_1.TYPE],\n ['IDBValidKey', base_config_1.TYPE],\n ['ImageBitmapSource', base_config_1.TYPE],\n ['ImageBufferSource', base_config_1.TYPE],\n ['Int32List', base_config_1.TYPE],\n ['LineAndPositionSetting', base_config_1.TYPE],\n ['MediaProvider', base_config_1.TYPE],\n ['MessageEventSource', base_config_1.TYPE],\n ['MutationRecordType', base_config_1.TYPE],\n ['NamedCurve', base_config_1.TYPE],\n ['OffscreenRenderingContext', base_config_1.TYPE],\n ['OnBeforeUnloadEventHandler', base_config_1.TYPE],\n ['OnErrorEventHandler', base_config_1.TYPE],\n ['OptionalPostfixToken', base_config_1.TYPE],\n ['OptionalPrefixToken', base_config_1.TYPE],\n ['PerformanceEntryList', base_config_1.TYPE],\n ['PublicKeyCredentialClientCapabilities', base_config_1.TYPE],\n ['PublicKeyCredentialJSON', base_config_1.TYPE],\n ['RTCRtpTransform', base_config_1.TYPE],\n ['ReadableStreamController', base_config_1.TYPE],\n ['ReadableStreamReadResult', base_config_1.TYPE],\n ['ReadableStreamReader', base_config_1.TYPE],\n ['RenderingContext', base_config_1.TYPE],\n ['ReportList', base_config_1.TYPE],\n ['RequestInfo', base_config_1.TYPE],\n ['TexImageSource', base_config_1.TYPE],\n ['TimerHandler', base_config_1.TYPE],\n ['Transferable', base_config_1.TYPE],\n ['Uint32List', base_config_1.TYPE],\n ['VibratePattern', base_config_1.TYPE],\n ['WindowProxy', base_config_1.TYPE],\n ['XMLHttpRequestBodyInit', base_config_1.TYPE],\n ['AlignSetting', base_config_1.TYPE],\n ['AlphaOption', base_config_1.TYPE],\n ['AnimationPlayState', base_config_1.TYPE],\n ['AnimationReplaceState', base_config_1.TYPE],\n ['AppendMode', base_config_1.TYPE],\n ['AttestationConveyancePreference', base_config_1.TYPE],\n ['AudioContextLatencyCategory', base_config_1.TYPE],\n ['AudioContextState', base_config_1.TYPE],\n ['AudioSampleFormat', base_config_1.TYPE],\n ['AuthenticatorAttachment', base_config_1.TYPE],\n ['AuthenticatorTransport', base_config_1.TYPE],\n ['AutoFillAddressKind', base_config_1.TYPE],\n ['AutoFillBase', base_config_1.TYPE],\n ['AutoFillContactField', base_config_1.TYPE],\n ['AutoFillContactKind', base_config_1.TYPE],\n ['AutoFillCredentialField', base_config_1.TYPE],\n ['AutoFillNormalField', base_config_1.TYPE],\n ['AutoKeyword', base_config_1.TYPE],\n ['AutomationRate', base_config_1.TYPE],\n ['AvcBitstreamFormat', base_config_1.TYPE],\n ['BinaryType', base_config_1.TYPE],\n ['BiquadFilterType', base_config_1.TYPE],\n ['BitrateMode', base_config_1.TYPE],\n ['CSSMathOperator', base_config_1.TYPE],\n ['CSSNumericBaseType', base_config_1.TYPE],\n ['CanPlayTypeResult', base_config_1.TYPE],\n ['CanvasDirection', base_config_1.TYPE],\n ['CanvasFillRule', base_config_1.TYPE],\n ['CanvasFontKerning', base_config_1.TYPE],\n ['CanvasFontStretch', base_config_1.TYPE],\n ['CanvasFontVariantCaps', base_config_1.TYPE],\n ['CanvasLineCap', base_config_1.TYPE],\n ['CanvasLineJoin', base_config_1.TYPE],\n ['CanvasTextAlign', base_config_1.TYPE],\n ['CanvasTextBaseline', base_config_1.TYPE],\n ['CanvasTextRendering', base_config_1.TYPE],\n ['ChannelCountMode', base_config_1.TYPE],\n ['ChannelInterpretation', base_config_1.TYPE],\n ['ClientTypes', base_config_1.TYPE],\n ['CodecState', base_config_1.TYPE],\n ['ColorGamut', base_config_1.TYPE],\n ['ColorSpaceConversion', base_config_1.TYPE],\n ['CompositeOperation', base_config_1.TYPE],\n ['CompositeOperationOrAuto', base_config_1.TYPE],\n ['CompressionFormat', base_config_1.TYPE],\n ['CredentialMediationRequirement', base_config_1.TYPE],\n ['DOMParserSupportedType', base_config_1.TYPE],\n ['DirectionSetting', base_config_1.TYPE],\n ['DisplayCaptureSurfaceType', base_config_1.TYPE],\n ['DistanceModelType', base_config_1.TYPE],\n ['DocumentReadyState', base_config_1.TYPE],\n ['DocumentVisibilityState', base_config_1.TYPE],\n ['EncodedAudioChunkType', base_config_1.TYPE],\n ['EncodedVideoChunkType', base_config_1.TYPE],\n ['EndOfStreamError', base_config_1.TYPE],\n ['EndingType', base_config_1.TYPE],\n ['FileSystemHandleKind', base_config_1.TYPE],\n ['FillMode', base_config_1.TYPE],\n ['FontDisplay', base_config_1.TYPE],\n ['FontFaceLoadStatus', base_config_1.TYPE],\n ['FontFaceSetLoadStatus', base_config_1.TYPE],\n ['FullscreenNavigationUI', base_config_1.TYPE],\n ['GamepadHapticEffectType', base_config_1.TYPE],\n ['GamepadHapticsResult', base_config_1.TYPE],\n ['GamepadMappingType', base_config_1.TYPE],\n ['GlobalCompositeOperation', base_config_1.TYPE],\n ['HardwareAcceleration', base_config_1.TYPE],\n ['HdrMetadataType', base_config_1.TYPE],\n ['HighlightType', base_config_1.TYPE],\n ['IDBCursorDirection', base_config_1.TYPE],\n ['IDBRequestReadyState', base_config_1.TYPE],\n ['IDBTransactionDurability', base_config_1.TYPE],\n ['IDBTransactionMode', base_config_1.TYPE],\n ['ImageOrientation', base_config_1.TYPE],\n ['ImageSmoothingQuality', base_config_1.TYPE],\n ['InsertPosition', base_config_1.TYPE],\n ['IterationCompositeOperation', base_config_1.TYPE],\n ['KeyFormat', base_config_1.TYPE],\n ['KeyType', base_config_1.TYPE],\n ['KeyUsage', base_config_1.TYPE],\n ['LatencyMode', base_config_1.TYPE],\n ['LineAlignSetting', base_config_1.TYPE],\n ['LockMode', base_config_1.TYPE],\n ['MIDIPortConnectionState', base_config_1.TYPE],\n ['MIDIPortDeviceState', base_config_1.TYPE],\n ['MIDIPortType', base_config_1.TYPE],\n ['MediaDecodingType', base_config_1.TYPE],\n ['MediaDeviceKind', base_config_1.TYPE],\n ['MediaEncodingType', base_config_1.TYPE],\n ['MediaKeyMessageType', base_config_1.TYPE],\n ['MediaKeySessionClosedReason', base_config_1.TYPE],\n ['MediaKeySessionType', base_config_1.TYPE],\n ['MediaKeyStatus', base_config_1.TYPE],\n ['MediaKeysRequirement', base_config_1.TYPE],\n ['MediaSessionAction', base_config_1.TYPE],\n ['MediaSessionPlaybackState', base_config_1.TYPE],\n ['MediaStreamTrackState', base_config_1.TYPE],\n ['NavigationTimingType', base_config_1.TYPE],\n ['NavigationType', base_config_1.TYPE],\n ['NotificationDirection', base_config_1.TYPE],\n ['NotificationPermission', base_config_1.TYPE],\n ['OffscreenRenderingContextId', base_config_1.TYPE],\n ['OpusBitstreamFormat', base_config_1.TYPE],\n ['OrientationType', base_config_1.TYPE],\n ['OscillatorType', base_config_1.TYPE],\n ['OverSampleType', base_config_1.TYPE],\n ['PanningModelType', base_config_1.TYPE],\n ['PaymentComplete', base_config_1.TYPE],\n ['PaymentShippingType', base_config_1.TYPE],\n ['PermissionName', base_config_1.TYPE],\n ['PermissionState', base_config_1.TYPE],\n ['PlaybackDirection', base_config_1.TYPE],\n ['PositionAlignSetting', base_config_1.TYPE],\n ['PredefinedColorSpace', base_config_1.TYPE],\n ['PremultiplyAlpha', base_config_1.TYPE],\n ['PresentationStyle', base_config_1.TYPE],\n ['PublicKeyCredentialType', base_config_1.TYPE],\n ['PushEncryptionKeyName', base_config_1.TYPE],\n ['RTCBundlePolicy', base_config_1.TYPE],\n ['RTCDataChannelState', base_config_1.TYPE],\n ['RTCDegradationPreference', base_config_1.TYPE],\n ['RTCDtlsRole', base_config_1.TYPE],\n ['RTCDtlsTransportState', base_config_1.TYPE],\n ['RTCEncodedVideoFrameType', base_config_1.TYPE],\n ['RTCErrorDetailType', base_config_1.TYPE],\n ['RTCIceCandidateType', base_config_1.TYPE],\n ['RTCIceComponent', base_config_1.TYPE],\n ['RTCIceConnectionState', base_config_1.TYPE],\n ['RTCIceGathererState', base_config_1.TYPE],\n ['RTCIceGatheringState', base_config_1.TYPE],\n ['RTCIceProtocol', base_config_1.TYPE],\n ['RTCIceRole', base_config_1.TYPE],\n ['RTCIceTcpCandidateType', base_config_1.TYPE],\n ['RTCIceTransportPolicy', base_config_1.TYPE],\n ['RTCIceTransportState', base_config_1.TYPE],\n ['RTCPeerConnectionState', base_config_1.TYPE],\n ['RTCPriorityType', base_config_1.TYPE],\n ['RTCQualityLimitationReason', base_config_1.TYPE],\n ['RTCRtcpMuxPolicy', base_config_1.TYPE],\n ['RTCRtpTransceiverDirection', base_config_1.TYPE],\n ['RTCSctpTransportState', base_config_1.TYPE],\n ['RTCSdpType', base_config_1.TYPE],\n ['RTCSignalingState', base_config_1.TYPE],\n ['RTCStatsIceCandidatePairState', base_config_1.TYPE],\n ['RTCStatsType', base_config_1.TYPE],\n ['ReadableStreamReaderMode', base_config_1.TYPE],\n ['ReadableStreamType', base_config_1.TYPE],\n ['ReadyState', base_config_1.TYPE],\n ['RecordingState', base_config_1.TYPE],\n ['ReferrerPolicy', base_config_1.TYPE],\n ['RemotePlaybackState', base_config_1.TYPE],\n ['RequestCache', base_config_1.TYPE],\n ['RequestCredentials', base_config_1.TYPE],\n ['RequestDestination', base_config_1.TYPE],\n ['RequestMode', base_config_1.TYPE],\n ['RequestPriority', base_config_1.TYPE],\n ['RequestRedirect', base_config_1.TYPE],\n ['ResidentKeyRequirement', base_config_1.TYPE],\n ['ResizeObserverBoxOptions', base_config_1.TYPE],\n ['ResizeQuality', base_config_1.TYPE],\n ['ResponseType', base_config_1.TYPE],\n ['ScrollBehavior', base_config_1.TYPE],\n ['ScrollLogicalPosition', base_config_1.TYPE],\n ['ScrollRestoration', base_config_1.TYPE],\n ['ScrollSetting', base_config_1.TYPE],\n ['SecurityPolicyViolationEventDisposition', base_config_1.TYPE],\n ['SelectionMode', base_config_1.TYPE],\n ['ServiceWorkerState', base_config_1.TYPE],\n ['ServiceWorkerUpdateViaCache', base_config_1.TYPE],\n ['ShadowRootMode', base_config_1.TYPE],\n ['SlotAssignmentMode', base_config_1.TYPE],\n ['SpeechSynthesisErrorCode', base_config_1.TYPE],\n ['TextTrackKind', base_config_1.TYPE],\n ['TextTrackMode', base_config_1.TYPE],\n ['TouchType', base_config_1.TYPE],\n ['TransferFunction', base_config_1.TYPE],\n ['UserVerificationRequirement', base_config_1.TYPE],\n ['VideoColorPrimaries', base_config_1.TYPE],\n ['VideoEncoderBitrateMode', base_config_1.TYPE],\n ['VideoFacingModeEnum', base_config_1.TYPE],\n ['VideoMatrixCoefficients', base_config_1.TYPE],\n ['VideoPixelFormat', base_config_1.TYPE],\n ['VideoTransferCharacteristics', base_config_1.TYPE],\n ['WakeLockType', base_config_1.TYPE],\n ['WebGLPowerPreference', base_config_1.TYPE],\n ['WebTransportCongestionControl', base_config_1.TYPE],\n ['WebTransportErrorSource', base_config_1.TYPE],\n ['WorkerType', base_config_1.TYPE],\n ['WriteCommandType', base_config_1.TYPE],\n ['XMLHttpRequestResponseType', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.dom_asynciterable = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.dom_asynciterable = {\n libs: [],\n variables: [\n ['FileSystemDirectoryHandleAsyncIterator', base_config_1.TYPE],\n ['FileSystemDirectoryHandle', base_config_1.TYPE],\n ['ReadableStreamAsyncIterator', base_config_1.TYPE],\n ['ReadableStream', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.dom_iterable = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.dom_iterable = {\n libs: [],\n variables: [\n ['AudioParam', base_config_1.TYPE],\n ['AudioParamMap', base_config_1.TYPE],\n ['BaseAudioContext', base_config_1.TYPE],\n ['CSSKeyframesRule', base_config_1.TYPE],\n ['CSSNumericArray', base_config_1.TYPE],\n ['CSSRuleList', base_config_1.TYPE],\n ['CSSStyleDeclaration', base_config_1.TYPE],\n ['CSSTransformValue', base_config_1.TYPE],\n ['CSSUnparsedValue', base_config_1.TYPE],\n ['Cache', base_config_1.TYPE],\n ['CanvasPath', base_config_1.TYPE],\n ['CanvasPathDrawingStyles', base_config_1.TYPE],\n ['CustomStateSet', base_config_1.TYPE],\n ['DOMRectList', base_config_1.TYPE],\n ['DOMStringList', base_config_1.TYPE],\n ['DOMTokenList', base_config_1.TYPE],\n ['DataTransferItemList', base_config_1.TYPE],\n ['EventCounts', base_config_1.TYPE],\n ['FileList', base_config_1.TYPE],\n ['FontFaceSet', base_config_1.TYPE],\n ['FormDataIterator', base_config_1.TYPE],\n ['FormData', base_config_1.TYPE],\n ['HTMLAllCollection', base_config_1.TYPE],\n ['HTMLCollectionBase', base_config_1.TYPE],\n ['HTMLCollectionOf', base_config_1.TYPE],\n ['HTMLFormElement', base_config_1.TYPE],\n ['HTMLSelectElement', base_config_1.TYPE],\n ['HeadersIterator', base_config_1.TYPE],\n ['Headers', base_config_1.TYPE],\n ['Highlight', base_config_1.TYPE],\n ['HighlightRegistry', base_config_1.TYPE],\n ['IDBDatabase', base_config_1.TYPE],\n ['IDBObjectStore', base_config_1.TYPE],\n ['ImageTrackList', base_config_1.TYPE],\n ['MIDIInputMap', base_config_1.TYPE],\n ['MIDIOutput', base_config_1.TYPE],\n ['MIDIOutputMap', base_config_1.TYPE],\n ['MediaKeyStatusMapIterator', base_config_1.TYPE],\n ['MediaKeyStatusMap', base_config_1.TYPE],\n ['MediaList', base_config_1.TYPE],\n ['MessageEvent', base_config_1.TYPE],\n ['MimeTypeArray', base_config_1.TYPE],\n ['NamedNodeMap', base_config_1.TYPE],\n ['Navigator', base_config_1.TYPE],\n ['NodeList', base_config_1.TYPE],\n ['NodeListOf', base_config_1.TYPE],\n ['Plugin', base_config_1.TYPE],\n ['PluginArray', base_config_1.TYPE],\n ['RTCRtpTransceiver', base_config_1.TYPE],\n ['RTCStatsReport', base_config_1.TYPE],\n ['SVGLengthList', base_config_1.TYPE],\n ['SVGNumberList', base_config_1.TYPE],\n ['SVGPointList', base_config_1.TYPE],\n ['SVGStringList', base_config_1.TYPE],\n ['SVGTransformList', base_config_1.TYPE],\n ['SourceBufferList', base_config_1.TYPE],\n ['SpeechRecognitionResult', base_config_1.TYPE],\n ['SpeechRecognitionResultList', base_config_1.TYPE],\n ['StylePropertyMapReadOnlyIterator', base_config_1.TYPE],\n ['StylePropertyMapReadOnly', base_config_1.TYPE],\n ['StyleSheetList', base_config_1.TYPE],\n ['SubtleCrypto', base_config_1.TYPE],\n ['TextTrackCueList', base_config_1.TYPE],\n ['TextTrackList', base_config_1.TYPE],\n ['TouchList', base_config_1.TYPE],\n ['URLSearchParamsIterator', base_config_1.TYPE],\n ['URLSearchParams', base_config_1.TYPE],\n ['ViewTransitionTypeSet', base_config_1.TYPE],\n ['WEBGL_draw_buffers', base_config_1.TYPE],\n ['WEBGL_multi_draw', base_config_1.TYPE],\n ['WebGL2RenderingContextBase', base_config_1.TYPE],\n ['WebGL2RenderingContextOverloads', base_config_1.TYPE],\n ['WebGLRenderingContextBase', base_config_1.TYPE],\n ['WebGLRenderingContextOverloads', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es5 = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst decorators_1 = require(\"./decorators\");\nconst decorators_legacy_1 = require(\"./decorators.legacy\");\nexports.es5 = {\n libs: [decorators_1.decorators, decorators_legacy_1.decorators_legacy],\n variables: [\n ['Symbol', base_config_1.TYPE],\n ['PropertyKey', base_config_1.TYPE],\n ['PropertyDescriptor', base_config_1.TYPE],\n ['PropertyDescriptorMap', base_config_1.TYPE],\n ['Object', base_config_1.TYPE_VALUE],\n ['ObjectConstructor', base_config_1.TYPE],\n ['Function', base_config_1.TYPE_VALUE],\n ['FunctionConstructor', base_config_1.TYPE],\n ['ThisParameterType', base_config_1.TYPE],\n ['OmitThisParameter', base_config_1.TYPE],\n ['CallableFunction', base_config_1.TYPE],\n ['NewableFunction', base_config_1.TYPE],\n ['IArguments', base_config_1.TYPE],\n ['String', base_config_1.TYPE_VALUE],\n ['StringConstructor', base_config_1.TYPE],\n ['Boolean', base_config_1.TYPE_VALUE],\n ['BooleanConstructor', base_config_1.TYPE],\n ['Number', base_config_1.TYPE_VALUE],\n ['NumberConstructor', base_config_1.TYPE],\n ['TemplateStringsArray', base_config_1.TYPE],\n ['ImportMeta', base_config_1.TYPE],\n ['ImportCallOptions', base_config_1.TYPE],\n ['ImportAssertions', base_config_1.TYPE],\n ['ImportAttributes', base_config_1.TYPE],\n ['Math', base_config_1.TYPE_VALUE],\n ['Date', base_config_1.TYPE_VALUE],\n ['DateConstructor', base_config_1.TYPE],\n ['RegExpMatchArray', base_config_1.TYPE],\n ['RegExpExecArray', base_config_1.TYPE],\n ['RegExp', base_config_1.TYPE_VALUE],\n ['RegExpConstructor', base_config_1.TYPE],\n ['Error', base_config_1.TYPE_VALUE],\n ['ErrorConstructor', base_config_1.TYPE],\n ['EvalError', base_config_1.TYPE_VALUE],\n ['EvalErrorConstructor', base_config_1.TYPE],\n ['RangeError', base_config_1.TYPE_VALUE],\n ['RangeErrorConstructor', base_config_1.TYPE],\n ['ReferenceError', base_config_1.TYPE_VALUE],\n ['ReferenceErrorConstructor', base_config_1.TYPE],\n ['SyntaxError', base_config_1.TYPE_VALUE],\n ['SyntaxErrorConstructor', base_config_1.TYPE],\n ['TypeError', base_config_1.TYPE_VALUE],\n ['TypeErrorConstructor', base_config_1.TYPE],\n ['URIError', base_config_1.TYPE_VALUE],\n ['URIErrorConstructor', base_config_1.TYPE],\n ['JSON', base_config_1.TYPE_VALUE],\n ['ReadonlyArray', base_config_1.TYPE],\n ['ConcatArray', base_config_1.TYPE],\n ['Array', base_config_1.TYPE_VALUE],\n ['ArrayConstructor', base_config_1.TYPE],\n ['TypedPropertyDescriptor', base_config_1.TYPE],\n ['PromiseConstructorLike', base_config_1.TYPE],\n ['PromiseLike', base_config_1.TYPE],\n ['Promise', base_config_1.TYPE],\n ['Awaited', base_config_1.TYPE],\n ['ArrayLike', base_config_1.TYPE],\n ['Partial', base_config_1.TYPE],\n ['Required', base_config_1.TYPE],\n ['Readonly', base_config_1.TYPE],\n ['Pick', base_config_1.TYPE],\n ['Record', base_config_1.TYPE],\n ['Exclude', base_config_1.TYPE],\n ['Extract', base_config_1.TYPE],\n ['Omit', base_config_1.TYPE],\n ['NonNullable', base_config_1.TYPE],\n ['Parameters', base_config_1.TYPE],\n ['ConstructorParameters', base_config_1.TYPE],\n ['ReturnType', base_config_1.TYPE],\n ['InstanceType', base_config_1.TYPE],\n ['Uppercase', base_config_1.TYPE],\n ['Lowercase', base_config_1.TYPE],\n ['Capitalize', base_config_1.TYPE],\n ['Uncapitalize', base_config_1.TYPE],\n ['NoInfer', base_config_1.TYPE],\n ['ThisType', base_config_1.TYPE],\n ['WeakKeyTypes', base_config_1.TYPE],\n ['WeakKey', base_config_1.TYPE],\n ['ArrayBuffer', base_config_1.TYPE_VALUE],\n ['ArrayBufferTypes', base_config_1.TYPE],\n ['ArrayBufferLike', base_config_1.TYPE],\n ['ArrayBufferConstructor', base_config_1.TYPE],\n ['ArrayBufferView', base_config_1.TYPE],\n ['DataView', base_config_1.TYPE_VALUE],\n ['DataViewConstructor', base_config_1.TYPE],\n ['Int8Array', base_config_1.TYPE_VALUE],\n ['Int8ArrayConstructor', base_config_1.TYPE],\n ['Uint8Array', base_config_1.TYPE_VALUE],\n ['Uint8ArrayConstructor', base_config_1.TYPE],\n ['Uint8ClampedArray', base_config_1.TYPE_VALUE],\n ['Uint8ClampedArrayConstructor', base_config_1.TYPE],\n ['Int16Array', base_config_1.TYPE_VALUE],\n ['Int16ArrayConstructor', base_config_1.TYPE],\n ['Uint16Array', base_config_1.TYPE_VALUE],\n ['Uint16ArrayConstructor', base_config_1.TYPE],\n ['Int32Array', base_config_1.TYPE_VALUE],\n ['Int32ArrayConstructor', base_config_1.TYPE],\n ['Uint32Array', base_config_1.TYPE_VALUE],\n ['Uint32ArrayConstructor', base_config_1.TYPE],\n ['Float32Array', base_config_1.TYPE_VALUE],\n ['Float32ArrayConstructor', base_config_1.TYPE],\n ['Float64Array', base_config_1.TYPE_VALUE],\n ['Float64ArrayConstructor', base_config_1.TYPE],\n ['Intl', base_config_1.TYPE_VALUE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2015_collection = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2015_collection = {\n libs: [],\n variables: [\n ['Map', base_config_1.TYPE_VALUE],\n ['MapConstructor', base_config_1.TYPE],\n ['ReadonlyMap', base_config_1.TYPE],\n ['WeakMap', base_config_1.TYPE_VALUE],\n ['WeakMapConstructor', base_config_1.TYPE],\n ['Set', base_config_1.TYPE_VALUE],\n ['SetConstructor', base_config_1.TYPE],\n ['ReadonlySet', base_config_1.TYPE],\n ['WeakSet', base_config_1.TYPE_VALUE],\n ['WeakSetConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2015_core = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2015_core = {\n libs: [],\n variables: [\n ['Array', base_config_1.TYPE],\n ['ArrayConstructor', base_config_1.TYPE],\n ['DateConstructor', base_config_1.TYPE],\n ['Function', base_config_1.TYPE],\n ['Math', base_config_1.TYPE],\n ['NumberConstructor', base_config_1.TYPE],\n ['ObjectConstructor', base_config_1.TYPE],\n ['ReadonlyArray', base_config_1.TYPE],\n ['RegExp', base_config_1.TYPE],\n ['RegExpConstructor', base_config_1.TYPE],\n ['String', base_config_1.TYPE],\n ['StringConstructor', base_config_1.TYPE],\n ['Int8Array', base_config_1.TYPE],\n ['Uint8Array', base_config_1.TYPE],\n ['Uint8ClampedArray', base_config_1.TYPE],\n ['Int16Array', base_config_1.TYPE],\n ['Uint16Array', base_config_1.TYPE],\n ['Int32Array', base_config_1.TYPE],\n ['Uint32Array', base_config_1.TYPE],\n ['Float32Array', base_config_1.TYPE],\n ['Float64Array', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2015_symbol = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2015_symbol = {\n libs: [],\n variables: [['SymbolConstructor', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2015_iterable = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_symbol_1 = require(\"./es2015.symbol\");\nexports.es2015_iterable = {\n libs: [es2015_symbol_1.es2015_symbol],\n variables: [\n ['SymbolConstructor', base_config_1.TYPE],\n ['IteratorYieldResult', base_config_1.TYPE],\n ['IteratorReturnResult', base_config_1.TYPE],\n ['IteratorResult', base_config_1.TYPE],\n ['Iterator', base_config_1.TYPE],\n ['Iterable', base_config_1.TYPE],\n ['IterableIterator', base_config_1.TYPE],\n ['IteratorObject', base_config_1.TYPE],\n ['BuiltinIteratorReturn', base_config_1.TYPE],\n ['ArrayIterator', base_config_1.TYPE],\n ['Array', base_config_1.TYPE],\n ['ArrayConstructor', base_config_1.TYPE],\n ['ReadonlyArray', base_config_1.TYPE],\n ['IArguments', base_config_1.TYPE],\n ['MapIterator', base_config_1.TYPE],\n ['Map', base_config_1.TYPE],\n ['ReadonlyMap', base_config_1.TYPE],\n ['MapConstructor', base_config_1.TYPE],\n ['WeakMap', base_config_1.TYPE],\n ['WeakMapConstructor', base_config_1.TYPE],\n ['SetIterator', base_config_1.TYPE],\n ['Set', base_config_1.TYPE],\n ['ReadonlySet', base_config_1.TYPE],\n ['SetConstructor', base_config_1.TYPE],\n ['WeakSet', base_config_1.TYPE],\n ['WeakSetConstructor', base_config_1.TYPE],\n ['Promise', base_config_1.TYPE],\n ['PromiseConstructor', base_config_1.TYPE],\n ['StringIterator', base_config_1.TYPE],\n ['String', base_config_1.TYPE],\n ['Int8Array', base_config_1.TYPE],\n ['Int8ArrayConstructor', base_config_1.TYPE],\n ['Uint8Array', base_config_1.TYPE],\n ['Uint8ArrayConstructor', base_config_1.TYPE],\n ['Uint8ClampedArray', base_config_1.TYPE],\n ['Uint8ClampedArrayConstructor', base_config_1.TYPE],\n ['Int16Array', base_config_1.TYPE],\n ['Int16ArrayConstructor', base_config_1.TYPE],\n ['Uint16Array', base_config_1.TYPE],\n ['Uint16ArrayConstructor', base_config_1.TYPE],\n ['Int32Array', base_config_1.TYPE],\n ['Int32ArrayConstructor', base_config_1.TYPE],\n ['Uint32Array', base_config_1.TYPE],\n ['Uint32ArrayConstructor', base_config_1.TYPE],\n ['Float32Array', base_config_1.TYPE],\n ['Float32ArrayConstructor', base_config_1.TYPE],\n ['Float64Array', base_config_1.TYPE],\n ['Float64ArrayConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2015_generator = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_iterable_1 = require(\"./es2015.iterable\");\nexports.es2015_generator = {\n libs: [es2015_iterable_1.es2015_iterable],\n variables: [\n ['Generator', base_config_1.TYPE],\n ['GeneratorFunction', base_config_1.TYPE],\n ['GeneratorFunctionConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2015_promise = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2015_promise = {\n libs: [],\n variables: [['PromiseConstructor', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2015_proxy = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2015_proxy = {\n libs: [],\n variables: [\n ['ProxyHandler', base_config_1.TYPE],\n ['ProxyConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2015_reflect = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2015_reflect = {\n libs: [],\n variables: [['Reflect', base_config_1.TYPE_VALUE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2015_symbol_wellknown = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_symbol_1 = require(\"./es2015.symbol\");\nexports.es2015_symbol_wellknown = {\n libs: [es2015_symbol_1.es2015_symbol],\n variables: [\n ['SymbolConstructor', base_config_1.TYPE],\n ['Symbol', base_config_1.TYPE],\n ['Array', base_config_1.TYPE],\n ['ReadonlyArray', base_config_1.TYPE],\n ['Date', base_config_1.TYPE],\n ['Map', base_config_1.TYPE],\n ['WeakMap', base_config_1.TYPE],\n ['Set', base_config_1.TYPE],\n ['WeakSet', base_config_1.TYPE],\n ['JSON', base_config_1.TYPE],\n ['Function', base_config_1.TYPE],\n ['GeneratorFunction', base_config_1.TYPE],\n ['Math', base_config_1.TYPE],\n ['Promise', base_config_1.TYPE],\n ['PromiseConstructor', base_config_1.TYPE],\n ['RegExp', base_config_1.TYPE],\n ['RegExpConstructor', base_config_1.TYPE],\n ['String', base_config_1.TYPE],\n ['ArrayBuffer', base_config_1.TYPE],\n ['DataView', base_config_1.TYPE],\n ['Int8Array', base_config_1.TYPE],\n ['Uint8Array', base_config_1.TYPE],\n ['Uint8ClampedArray', base_config_1.TYPE],\n ['Int16Array', base_config_1.TYPE],\n ['Uint16Array', base_config_1.TYPE],\n ['Int32Array', base_config_1.TYPE],\n ['Uint32Array', base_config_1.TYPE],\n ['Float32Array', base_config_1.TYPE],\n ['Float64Array', base_config_1.TYPE],\n ['ArrayConstructor', base_config_1.TYPE],\n ['MapConstructor', base_config_1.TYPE],\n ['SetConstructor', base_config_1.TYPE],\n ['ArrayBufferConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es6 = void 0;\nconst es5_1 = require(\"./es5\");\nconst es2015_collection_1 = require(\"./es2015.collection\");\nconst es2015_core_1 = require(\"./es2015.core\");\nconst es2015_generator_1 = require(\"./es2015.generator\");\nconst es2015_iterable_1 = require(\"./es2015.iterable\");\nconst es2015_promise_1 = require(\"./es2015.promise\");\nconst es2015_proxy_1 = require(\"./es2015.proxy\");\nconst es2015_reflect_1 = require(\"./es2015.reflect\");\nconst es2015_symbol_1 = require(\"./es2015.symbol\");\nconst es2015_symbol_wellknown_1 = require(\"./es2015.symbol.wellknown\");\nexports.es6 = {\n libs: [\n es5_1.es5,\n es2015_core_1.es2015_core,\n es2015_collection_1.es2015_collection,\n es2015_iterable_1.es2015_iterable,\n es2015_generator_1.es2015_generator,\n es2015_promise_1.es2015_promise,\n es2015_proxy_1.es2015_proxy,\n es2015_reflect_1.es2015_reflect,\n es2015_symbol_1.es2015_symbol,\n es2015_symbol_wellknown_1.es2015_symbol_wellknown,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2015 = void 0;\nconst es5_1 = require(\"./es5\");\nconst es2015_collection_1 = require(\"./es2015.collection\");\nconst es2015_core_1 = require(\"./es2015.core\");\nconst es2015_generator_1 = require(\"./es2015.generator\");\nconst es2015_iterable_1 = require(\"./es2015.iterable\");\nconst es2015_promise_1 = require(\"./es2015.promise\");\nconst es2015_proxy_1 = require(\"./es2015.proxy\");\nconst es2015_reflect_1 = require(\"./es2015.reflect\");\nconst es2015_symbol_1 = require(\"./es2015.symbol\");\nconst es2015_symbol_wellknown_1 = require(\"./es2015.symbol.wellknown\");\nexports.es2015 = {\n libs: [\n es5_1.es5,\n es2015_core_1.es2015_core,\n es2015_collection_1.es2015_collection,\n es2015_iterable_1.es2015_iterable,\n es2015_generator_1.es2015_generator,\n es2015_promise_1.es2015_promise,\n es2015_proxy_1.es2015_proxy,\n es2015_reflect_1.es2015_reflect,\n es2015_symbol_1.es2015_symbol,\n es2015_symbol_wellknown_1.es2015_symbol_wellknown,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2016_array_include = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2016_array_include = {\n libs: [],\n variables: [\n ['Array', base_config_1.TYPE],\n ['ReadonlyArray', base_config_1.TYPE],\n ['Int8Array', base_config_1.TYPE],\n ['Uint8Array', base_config_1.TYPE],\n ['Uint8ClampedArray', base_config_1.TYPE],\n ['Int16Array', base_config_1.TYPE],\n ['Uint16Array', base_config_1.TYPE],\n ['Int32Array', base_config_1.TYPE],\n ['Uint32Array', base_config_1.TYPE],\n ['Float32Array', base_config_1.TYPE],\n ['Float64Array', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2016_intl = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2016_intl = {\n libs: [],\n variables: [['Intl', base_config_1.TYPE_VALUE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es7 = void 0;\nconst es2015_1 = require(\"./es2015\");\nconst es2016_array_include_1 = require(\"./es2016.array.include\");\nconst es2016_intl_1 = require(\"./es2016.intl\");\nexports.es7 = {\n libs: [es2015_1.es2015, es2016_array_include_1.es2016_array_include, es2016_intl_1.es2016_intl],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2016 = void 0;\nconst es2015_1 = require(\"./es2015\");\nconst es2016_array_include_1 = require(\"./es2016.array.include\");\nconst es2016_intl_1 = require(\"./es2016.intl\");\nexports.es2016 = {\n libs: [es2015_1.es2015, es2016_array_include_1.es2016_array_include, es2016_intl_1.es2016_intl],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.scripthost = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.scripthost = {\n libs: [],\n variables: [\n ['ActiveXObject', base_config_1.TYPE_VALUE],\n ['ITextWriter', base_config_1.TYPE],\n ['TextStreamBase', base_config_1.TYPE],\n ['TextStreamWriter', base_config_1.TYPE],\n ['TextStreamReader', base_config_1.TYPE],\n ['SafeArray', base_config_1.TYPE_VALUE],\n ['Enumerator', base_config_1.TYPE_VALUE],\n ['EnumeratorConstructor', base_config_1.TYPE],\n ['VBArray', base_config_1.TYPE_VALUE],\n ['VBArrayConstructor', base_config_1.TYPE],\n ['VarDate', base_config_1.TYPE_VALUE],\n ['DateConstructor', base_config_1.TYPE],\n ['Date', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.webworker_importscripts = void 0;\nexports.webworker_importscripts = {\n libs: [],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2016_full = void 0;\nconst dom_1 = require(\"./dom\");\nconst dom_iterable_1 = require(\"./dom.iterable\");\nconst es2016_1 = require(\"./es2016\");\nconst scripthost_1 = require(\"./scripthost\");\nconst webworker_importscripts_1 = require(\"./webworker.importscripts\");\nexports.es2016_full = {\n libs: [es2016_1.es2016, dom_1.dom, webworker_importscripts_1.webworker_importscripts, scripthost_1.scripthost, dom_iterable_1.dom_iterable],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2017_arraybuffer = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2017_arraybuffer = {\n libs: [],\n variables: [['ArrayBufferConstructor', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2017_date = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2017_date = {\n libs: [],\n variables: [['DateConstructor', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2017_intl = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2017_intl = {\n libs: [],\n variables: [['Intl', base_config_1.TYPE_VALUE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2017_object = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2017_object = {\n libs: [],\n variables: [['ObjectConstructor', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2017_sharedmemory = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_symbol_1 = require(\"./es2015.symbol\");\nconst es2015_symbol_wellknown_1 = require(\"./es2015.symbol.wellknown\");\nexports.es2017_sharedmemory = {\n libs: [es2015_symbol_1.es2015_symbol, es2015_symbol_wellknown_1.es2015_symbol_wellknown],\n variables: [\n ['SharedArrayBuffer', base_config_1.TYPE_VALUE],\n ['SharedArrayBufferConstructor', base_config_1.TYPE],\n ['ArrayBufferTypes', base_config_1.TYPE],\n ['Atomics', base_config_1.TYPE_VALUE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2017_string = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2017_string = {\n libs: [],\n variables: [['String', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2017_typedarrays = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2017_typedarrays = {\n libs: [],\n variables: [\n ['Int8ArrayConstructor', base_config_1.TYPE],\n ['Uint8ArrayConstructor', base_config_1.TYPE],\n ['Uint8ClampedArrayConstructor', base_config_1.TYPE],\n ['Int16ArrayConstructor', base_config_1.TYPE],\n ['Uint16ArrayConstructor', base_config_1.TYPE],\n ['Int32ArrayConstructor', base_config_1.TYPE],\n ['Uint32ArrayConstructor', base_config_1.TYPE],\n ['Float32ArrayConstructor', base_config_1.TYPE],\n ['Float64ArrayConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2017 = void 0;\nconst es2016_1 = require(\"./es2016\");\nconst es2017_arraybuffer_1 = require(\"./es2017.arraybuffer\");\nconst es2017_date_1 = require(\"./es2017.date\");\nconst es2017_intl_1 = require(\"./es2017.intl\");\nconst es2017_object_1 = require(\"./es2017.object\");\nconst es2017_sharedmemory_1 = require(\"./es2017.sharedmemory\");\nconst es2017_string_1 = require(\"./es2017.string\");\nconst es2017_typedarrays_1 = require(\"./es2017.typedarrays\");\nexports.es2017 = {\n libs: [\n es2016_1.es2016,\n es2017_arraybuffer_1.es2017_arraybuffer,\n es2017_date_1.es2017_date,\n es2017_intl_1.es2017_intl,\n es2017_object_1.es2017_object,\n es2017_sharedmemory_1.es2017_sharedmemory,\n es2017_string_1.es2017_string,\n es2017_typedarrays_1.es2017_typedarrays,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2017_full = void 0;\nconst dom_1 = require(\"./dom\");\nconst dom_iterable_1 = require(\"./dom.iterable\");\nconst es2017_1 = require(\"./es2017\");\nconst scripthost_1 = require(\"./scripthost\");\nconst webworker_importscripts_1 = require(\"./webworker.importscripts\");\nexports.es2017_full = {\n libs: [es2017_1.es2017, dom_1.dom, webworker_importscripts_1.webworker_importscripts, scripthost_1.scripthost, dom_iterable_1.dom_iterable],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2018_asynciterable = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_iterable_1 = require(\"./es2015.iterable\");\nconst es2015_symbol_1 = require(\"./es2015.symbol\");\nexports.es2018_asynciterable = {\n libs: [es2015_symbol_1.es2015_symbol, es2015_iterable_1.es2015_iterable],\n variables: [\n ['SymbolConstructor', base_config_1.TYPE],\n ['AsyncIterator', base_config_1.TYPE],\n ['AsyncIterable', base_config_1.TYPE],\n ['AsyncIterableIterator', base_config_1.TYPE],\n ['AsyncIteratorObject', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2018_asyncgenerator = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2018_asynciterable_1 = require(\"./es2018.asynciterable\");\nexports.es2018_asyncgenerator = {\n libs: [es2018_asynciterable_1.es2018_asynciterable],\n variables: [\n ['AsyncGenerator', base_config_1.TYPE],\n ['AsyncGeneratorFunction', base_config_1.TYPE],\n ['AsyncGeneratorFunctionConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2018_intl = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2018_intl = {\n libs: [],\n variables: [['Intl', base_config_1.TYPE_VALUE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2018_promise = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2018_promise = {\n libs: [],\n variables: [['Promise', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2018_regexp = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2018_regexp = {\n libs: [],\n variables: [\n ['RegExpMatchArray', base_config_1.TYPE],\n ['RegExpExecArray', base_config_1.TYPE],\n ['RegExp', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2018 = void 0;\nconst es2017_1 = require(\"./es2017\");\nconst es2018_asyncgenerator_1 = require(\"./es2018.asyncgenerator\");\nconst es2018_asynciterable_1 = require(\"./es2018.asynciterable\");\nconst es2018_intl_1 = require(\"./es2018.intl\");\nconst es2018_promise_1 = require(\"./es2018.promise\");\nconst es2018_regexp_1 = require(\"./es2018.regexp\");\nexports.es2018 = {\n libs: [\n es2017_1.es2017,\n es2018_asynciterable_1.es2018_asynciterable,\n es2018_asyncgenerator_1.es2018_asyncgenerator,\n es2018_promise_1.es2018_promise,\n es2018_regexp_1.es2018_regexp,\n es2018_intl_1.es2018_intl,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2018_full = void 0;\nconst dom_1 = require(\"./dom\");\nconst dom_asynciterable_1 = require(\"./dom.asynciterable\");\nconst dom_iterable_1 = require(\"./dom.iterable\");\nconst es2018_1 = require(\"./es2018\");\nconst scripthost_1 = require(\"./scripthost\");\nconst webworker_importscripts_1 = require(\"./webworker.importscripts\");\nexports.es2018_full = {\n libs: [\n es2018_1.es2018,\n dom_1.dom,\n webworker_importscripts_1.webworker_importscripts,\n scripthost_1.scripthost,\n dom_iterable_1.dom_iterable,\n dom_asynciterable_1.dom_asynciterable,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2019_array = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2019_array = {\n libs: [],\n variables: [\n ['FlatArray', base_config_1.TYPE],\n ['ReadonlyArray', base_config_1.TYPE],\n ['Array', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2019_intl = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2019_intl = {\n libs: [],\n variables: [['Intl', base_config_1.TYPE_VALUE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2019_object = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_iterable_1 = require(\"./es2015.iterable\");\nexports.es2019_object = {\n libs: [es2015_iterable_1.es2015_iterable],\n variables: [['ObjectConstructor', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2019_string = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2019_string = {\n libs: [],\n variables: [['String', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2019_symbol = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2019_symbol = {\n libs: [],\n variables: [['Symbol', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2019 = void 0;\nconst es2018_1 = require(\"./es2018\");\nconst es2019_array_1 = require(\"./es2019.array\");\nconst es2019_intl_1 = require(\"./es2019.intl\");\nconst es2019_object_1 = require(\"./es2019.object\");\nconst es2019_string_1 = require(\"./es2019.string\");\nconst es2019_symbol_1 = require(\"./es2019.symbol\");\nexports.es2019 = {\n libs: [\n es2018_1.es2018,\n es2019_array_1.es2019_array,\n es2019_object_1.es2019_object,\n es2019_string_1.es2019_string,\n es2019_symbol_1.es2019_symbol,\n es2019_intl_1.es2019_intl,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2019_full = void 0;\nconst dom_1 = require(\"./dom\");\nconst dom_asynciterable_1 = require(\"./dom.asynciterable\");\nconst dom_iterable_1 = require(\"./dom.iterable\");\nconst es2019_1 = require(\"./es2019\");\nconst scripthost_1 = require(\"./scripthost\");\nconst webworker_importscripts_1 = require(\"./webworker.importscripts\");\nexports.es2019_full = {\n libs: [\n es2019_1.es2019,\n dom_1.dom,\n webworker_importscripts_1.webworker_importscripts,\n scripthost_1.scripthost,\n dom_iterable_1.dom_iterable,\n dom_asynciterable_1.dom_asynciterable,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2020_intl = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2018_intl_1 = require(\"./es2018.intl\");\nexports.es2020_intl = {\n libs: [es2018_intl_1.es2018_intl],\n variables: [['Intl', base_config_1.TYPE_VALUE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2020_bigint = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2020_intl_1 = require(\"./es2020.intl\");\nexports.es2020_bigint = {\n libs: [es2020_intl_1.es2020_intl],\n variables: [\n ['BigIntToLocaleStringOptions', base_config_1.TYPE],\n ['BigInt', base_config_1.TYPE_VALUE],\n ['BigIntConstructor', base_config_1.TYPE],\n ['BigInt64Array', base_config_1.TYPE_VALUE],\n ['BigInt64ArrayConstructor', base_config_1.TYPE],\n ['BigUint64Array', base_config_1.TYPE_VALUE],\n ['BigUint64ArrayConstructor', base_config_1.TYPE],\n ['DataView', base_config_1.TYPE],\n ['Intl', base_config_1.TYPE_VALUE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2020_date = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2020_intl_1 = require(\"./es2020.intl\");\nexports.es2020_date = {\n libs: [es2020_intl_1.es2020_intl],\n variables: [['Date', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2020_number = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2020_intl_1 = require(\"./es2020.intl\");\nexports.es2020_number = {\n libs: [es2020_intl_1.es2020_intl],\n variables: [['Number', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2020_promise = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2020_promise = {\n libs: [],\n variables: [\n ['PromiseFulfilledResult', base_config_1.TYPE],\n ['PromiseRejectedResult', base_config_1.TYPE],\n ['PromiseSettledResult', base_config_1.TYPE],\n ['PromiseConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2020_sharedmemory = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2020_bigint_1 = require(\"./es2020.bigint\");\nexports.es2020_sharedmemory = {\n libs: [es2020_bigint_1.es2020_bigint],\n variables: [['Atomics', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2020_symbol_wellknown = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_iterable_1 = require(\"./es2015.iterable\");\nconst es2015_symbol_1 = require(\"./es2015.symbol\");\nexports.es2020_symbol_wellknown = {\n libs: [es2015_iterable_1.es2015_iterable, es2015_symbol_1.es2015_symbol],\n variables: [\n ['SymbolConstructor', base_config_1.TYPE],\n ['RegExpStringIterator', base_config_1.TYPE],\n ['RegExp', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2020_string = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_iterable_1 = require(\"./es2015.iterable\");\nconst es2020_intl_1 = require(\"./es2020.intl\");\nconst es2020_symbol_wellknown_1 = require(\"./es2020.symbol.wellknown\");\nexports.es2020_string = {\n libs: [es2015_iterable_1.es2015_iterable, es2020_intl_1.es2020_intl, es2020_symbol_wellknown_1.es2020_symbol_wellknown],\n variables: [['String', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2020 = void 0;\nconst es2019_1 = require(\"./es2019\");\nconst es2020_bigint_1 = require(\"./es2020.bigint\");\nconst es2020_date_1 = require(\"./es2020.date\");\nconst es2020_intl_1 = require(\"./es2020.intl\");\nconst es2020_number_1 = require(\"./es2020.number\");\nconst es2020_promise_1 = require(\"./es2020.promise\");\nconst es2020_sharedmemory_1 = require(\"./es2020.sharedmemory\");\nconst es2020_string_1 = require(\"./es2020.string\");\nconst es2020_symbol_wellknown_1 = require(\"./es2020.symbol.wellknown\");\nexports.es2020 = {\n libs: [\n es2019_1.es2019,\n es2020_bigint_1.es2020_bigint,\n es2020_date_1.es2020_date,\n es2020_number_1.es2020_number,\n es2020_promise_1.es2020_promise,\n es2020_sharedmemory_1.es2020_sharedmemory,\n es2020_string_1.es2020_string,\n es2020_symbol_wellknown_1.es2020_symbol_wellknown,\n es2020_intl_1.es2020_intl,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2020_full = void 0;\nconst dom_1 = require(\"./dom\");\nconst dom_asynciterable_1 = require(\"./dom.asynciterable\");\nconst dom_iterable_1 = require(\"./dom.iterable\");\nconst es2020_1 = require(\"./es2020\");\nconst scripthost_1 = require(\"./scripthost\");\nconst webworker_importscripts_1 = require(\"./webworker.importscripts\");\nexports.es2020_full = {\n libs: [\n es2020_1.es2020,\n dom_1.dom,\n webworker_importscripts_1.webworker_importscripts,\n scripthost_1.scripthost,\n dom_iterable_1.dom_iterable,\n dom_asynciterable_1.dom_asynciterable,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2021_intl = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2021_intl = {\n libs: [],\n variables: [['Intl', base_config_1.TYPE_VALUE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2021_promise = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2021_promise = {\n libs: [],\n variables: [\n ['AggregateError', base_config_1.TYPE_VALUE],\n ['AggregateErrorConstructor', base_config_1.TYPE],\n ['PromiseConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2021_string = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2021_string = {\n libs: [],\n variables: [['String', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2021_weakref = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_symbol_wellknown_1 = require(\"./es2015.symbol.wellknown\");\nexports.es2021_weakref = {\n libs: [es2015_symbol_wellknown_1.es2015_symbol_wellknown],\n variables: [\n ['WeakRef', base_config_1.TYPE_VALUE],\n ['WeakRefConstructor', base_config_1.TYPE],\n ['FinalizationRegistry', base_config_1.TYPE_VALUE],\n ['FinalizationRegistryConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2021 = void 0;\nconst es2020_1 = require(\"./es2020\");\nconst es2021_intl_1 = require(\"./es2021.intl\");\nconst es2021_promise_1 = require(\"./es2021.promise\");\nconst es2021_string_1 = require(\"./es2021.string\");\nconst es2021_weakref_1 = require(\"./es2021.weakref\");\nexports.es2021 = {\n libs: [es2020_1.es2020, es2021_promise_1.es2021_promise, es2021_string_1.es2021_string, es2021_weakref_1.es2021_weakref, es2021_intl_1.es2021_intl],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2021_full = void 0;\nconst dom_1 = require(\"./dom\");\nconst dom_asynciterable_1 = require(\"./dom.asynciterable\");\nconst dom_iterable_1 = require(\"./dom.iterable\");\nconst es2021_1 = require(\"./es2021\");\nconst scripthost_1 = require(\"./scripthost\");\nconst webworker_importscripts_1 = require(\"./webworker.importscripts\");\nexports.es2021_full = {\n libs: [\n es2021_1.es2021,\n dom_1.dom,\n webworker_importscripts_1.webworker_importscripts,\n scripthost_1.scripthost,\n dom_iterable_1.dom_iterable,\n dom_asynciterable_1.dom_asynciterable,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2022_array = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2022_array = {\n libs: [],\n variables: [\n ['Array', base_config_1.TYPE],\n ['ReadonlyArray', base_config_1.TYPE],\n ['Int8Array', base_config_1.TYPE],\n ['Uint8Array', base_config_1.TYPE],\n ['Uint8ClampedArray', base_config_1.TYPE],\n ['Int16Array', base_config_1.TYPE],\n ['Uint16Array', base_config_1.TYPE],\n ['Int32Array', base_config_1.TYPE],\n ['Uint32Array', base_config_1.TYPE],\n ['Float32Array', base_config_1.TYPE],\n ['Float64Array', base_config_1.TYPE],\n ['BigInt64Array', base_config_1.TYPE],\n ['BigUint64Array', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2022_error = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2021_promise_1 = require(\"./es2021.promise\");\nexports.es2022_error = {\n libs: [es2021_promise_1.es2021_promise],\n variables: [\n ['ErrorOptions', base_config_1.TYPE],\n ['Error', base_config_1.TYPE],\n ['ErrorConstructor', base_config_1.TYPE],\n ['EvalErrorConstructor', base_config_1.TYPE],\n ['RangeErrorConstructor', base_config_1.TYPE],\n ['ReferenceErrorConstructor', base_config_1.TYPE],\n ['SyntaxErrorConstructor', base_config_1.TYPE],\n ['TypeErrorConstructor', base_config_1.TYPE],\n ['URIErrorConstructor', base_config_1.TYPE],\n ['AggregateErrorConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2022_intl = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2022_intl = {\n libs: [],\n variables: [['Intl', base_config_1.TYPE_VALUE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2022_object = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2022_object = {\n libs: [],\n variables: [['ObjectConstructor', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2022_regexp = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2022_regexp = {\n libs: [],\n variables: [\n ['RegExpMatchArray', base_config_1.TYPE],\n ['RegExpExecArray', base_config_1.TYPE],\n ['RegExpIndicesArray', base_config_1.TYPE],\n ['RegExp', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2022_string = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2022_string = {\n libs: [],\n variables: [['String', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2022 = void 0;\nconst es2021_1 = require(\"./es2021\");\nconst es2022_array_1 = require(\"./es2022.array\");\nconst es2022_error_1 = require(\"./es2022.error\");\nconst es2022_intl_1 = require(\"./es2022.intl\");\nconst es2022_object_1 = require(\"./es2022.object\");\nconst es2022_regexp_1 = require(\"./es2022.regexp\");\nconst es2022_string_1 = require(\"./es2022.string\");\nexports.es2022 = {\n libs: [\n es2021_1.es2021,\n es2022_array_1.es2022_array,\n es2022_error_1.es2022_error,\n es2022_intl_1.es2022_intl,\n es2022_object_1.es2022_object,\n es2022_regexp_1.es2022_regexp,\n es2022_string_1.es2022_string,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2022_full = void 0;\nconst dom_1 = require(\"./dom\");\nconst dom_asynciterable_1 = require(\"./dom.asynciterable\");\nconst dom_iterable_1 = require(\"./dom.iterable\");\nconst es2022_1 = require(\"./es2022\");\nconst scripthost_1 = require(\"./scripthost\");\nconst webworker_importscripts_1 = require(\"./webworker.importscripts\");\nexports.es2022_full = {\n libs: [\n es2022_1.es2022,\n dom_1.dom,\n webworker_importscripts_1.webworker_importscripts,\n scripthost_1.scripthost,\n dom_iterable_1.dom_iterable,\n dom_asynciterable_1.dom_asynciterable,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2023_array = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2023_array = {\n libs: [],\n variables: [\n ['Array', base_config_1.TYPE],\n ['ReadonlyArray', base_config_1.TYPE],\n ['Int8Array', base_config_1.TYPE],\n ['Uint8Array', base_config_1.TYPE],\n ['Uint8ClampedArray', base_config_1.TYPE],\n ['Int16Array', base_config_1.TYPE],\n ['Uint16Array', base_config_1.TYPE],\n ['Int32Array', base_config_1.TYPE],\n ['Uint32Array', base_config_1.TYPE],\n ['Float32Array', base_config_1.TYPE],\n ['Float64Array', base_config_1.TYPE],\n ['BigInt64Array', base_config_1.TYPE],\n ['BigUint64Array', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2023_collection = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2023_collection = {\n libs: [],\n variables: [['WeakKeyTypes', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2023_intl = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2023_intl = {\n libs: [],\n variables: [['Intl', base_config_1.TYPE_VALUE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2023 = void 0;\nconst es2022_1 = require(\"./es2022\");\nconst es2023_array_1 = require(\"./es2023.array\");\nconst es2023_collection_1 = require(\"./es2023.collection\");\nconst es2023_intl_1 = require(\"./es2023.intl\");\nexports.es2023 = {\n libs: [es2022_1.es2022, es2023_array_1.es2023_array, es2023_collection_1.es2023_collection, es2023_intl_1.es2023_intl],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2023_full = void 0;\nconst dom_1 = require(\"./dom\");\nconst dom_asynciterable_1 = require(\"./dom.asynciterable\");\nconst dom_iterable_1 = require(\"./dom.iterable\");\nconst es2023_1 = require(\"./es2023\");\nconst scripthost_1 = require(\"./scripthost\");\nconst webworker_importscripts_1 = require(\"./webworker.importscripts\");\nexports.es2023_full = {\n libs: [\n es2023_1.es2023,\n dom_1.dom,\n webworker_importscripts_1.webworker_importscripts,\n scripthost_1.scripthost,\n dom_iterable_1.dom_iterable,\n dom_asynciterable_1.dom_asynciterable,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2024_arraybuffer = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2024_arraybuffer = {\n libs: [],\n variables: [\n ['ArrayBuffer', base_config_1.TYPE],\n ['ArrayBufferConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2024_collection = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2024_collection = {\n libs: [],\n variables: [['MapConstructor', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2024_object = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2024_object = {\n libs: [],\n variables: [['ObjectConstructor', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2024_promise = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2024_promise = {\n libs: [],\n variables: [\n ['PromiseWithResolvers', base_config_1.TYPE],\n ['PromiseConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2024_regexp = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2024_regexp = {\n libs: [],\n variables: [['RegExp', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2024_sharedmemory = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2020_bigint_1 = require(\"./es2020.bigint\");\nexports.es2024_sharedmemory = {\n libs: [es2020_bigint_1.es2020_bigint],\n variables: [\n ['Atomics', base_config_1.TYPE],\n ['SharedArrayBuffer', base_config_1.TYPE],\n ['SharedArrayBufferConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2024_string = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.es2024_string = {\n libs: [],\n variables: [['String', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2024 = void 0;\nconst es2023_1 = require(\"./es2023\");\nconst es2024_arraybuffer_1 = require(\"./es2024.arraybuffer\");\nconst es2024_collection_1 = require(\"./es2024.collection\");\nconst es2024_object_1 = require(\"./es2024.object\");\nconst es2024_promise_1 = require(\"./es2024.promise\");\nconst es2024_regexp_1 = require(\"./es2024.regexp\");\nconst es2024_sharedmemory_1 = require(\"./es2024.sharedmemory\");\nconst es2024_string_1 = require(\"./es2024.string\");\nexports.es2024 = {\n libs: [\n es2023_1.es2023,\n es2024_arraybuffer_1.es2024_arraybuffer,\n es2024_collection_1.es2024_collection,\n es2024_object_1.es2024_object,\n es2024_promise_1.es2024_promise,\n es2024_regexp_1.es2024_regexp,\n es2024_sharedmemory_1.es2024_sharedmemory,\n es2024_string_1.es2024_string,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es2024_full = void 0;\nconst dom_1 = require(\"./dom\");\nconst dom_asynciterable_1 = require(\"./dom.asynciterable\");\nconst dom_iterable_1 = require(\"./dom.iterable\");\nconst es2024_1 = require(\"./es2024\");\nconst scripthost_1 = require(\"./scripthost\");\nconst webworker_importscripts_1 = require(\"./webworker.importscripts\");\nexports.es2024_full = {\n libs: [\n es2024_1.es2024,\n dom_1.dom,\n webworker_importscripts_1.webworker_importscripts,\n scripthost_1.scripthost,\n dom_iterable_1.dom_iterable,\n dom_asynciterable_1.dom_asynciterable,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_array = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.esnext_array = {\n libs: [],\n variables: [['ArrayConstructor', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_collection = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2024_collection_1 = require(\"./es2024.collection\");\nexports.esnext_collection = {\n libs: [es2024_collection_1.es2024_collection],\n variables: [\n ['ReadonlySetLike', base_config_1.TYPE],\n ['Set', base_config_1.TYPE],\n ['ReadonlySet', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_decorators = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst decorators_1 = require(\"./decorators\");\nconst es2015_symbol_1 = require(\"./es2015.symbol\");\nexports.esnext_decorators = {\n libs: [es2015_symbol_1.es2015_symbol, decorators_1.decorators],\n variables: [\n ['SymbolConstructor', base_config_1.TYPE],\n ['Function', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_disposable = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_iterable_1 = require(\"./es2015.iterable\");\nconst es2015_symbol_1 = require(\"./es2015.symbol\");\nconst es2018_asynciterable_1 = require(\"./es2018.asynciterable\");\nexports.esnext_disposable = {\n libs: [es2015_symbol_1.es2015_symbol, es2015_iterable_1.es2015_iterable, es2018_asynciterable_1.es2018_asynciterable],\n variables: [\n ['SymbolConstructor', base_config_1.TYPE],\n ['Disposable', base_config_1.TYPE],\n ['AsyncDisposable', base_config_1.TYPE],\n ['SuppressedError', base_config_1.TYPE_VALUE],\n ['SuppressedErrorConstructor', base_config_1.TYPE],\n ['DisposableStack', base_config_1.TYPE_VALUE],\n ['DisposableStackConstructor', base_config_1.TYPE],\n ['AsyncDisposableStack', base_config_1.TYPE_VALUE],\n ['AsyncDisposableStackConstructor', base_config_1.TYPE],\n ['IteratorObject', base_config_1.TYPE],\n ['AsyncIteratorObject', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_float16 = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_iterable_1 = require(\"./es2015.iterable\");\nconst es2015_symbol_1 = require(\"./es2015.symbol\");\nexports.esnext_float16 = {\n libs: [es2015_symbol_1.es2015_symbol, es2015_iterable_1.es2015_iterable],\n variables: [\n ['Float16Array', base_config_1.TYPE_VALUE],\n ['Float16ArrayConstructor', base_config_1.TYPE],\n ['Math', base_config_1.TYPE],\n ['DataView', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_intl = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.esnext_intl = {\n libs: [],\n variables: [['Intl', base_config_1.TYPE_VALUE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_iterator = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_iterable_1 = require(\"./es2015.iterable\");\nexports.esnext_iterator = {\n libs: [es2015_iterable_1.es2015_iterable],\n variables: [\n ['Iterator', base_config_1.TYPE_VALUE],\n ['IteratorObjectConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_promise = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.esnext_promise = {\n libs: [],\n variables: [['PromiseConstructor', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext = void 0;\nconst es2024_1 = require(\"./es2024\");\nconst esnext_array_1 = require(\"./esnext.array\");\nconst esnext_collection_1 = require(\"./esnext.collection\");\nconst esnext_decorators_1 = require(\"./esnext.decorators\");\nconst esnext_disposable_1 = require(\"./esnext.disposable\");\nconst esnext_float16_1 = require(\"./esnext.float16\");\nconst esnext_intl_1 = require(\"./esnext.intl\");\nconst esnext_iterator_1 = require(\"./esnext.iterator\");\nconst esnext_promise_1 = require(\"./esnext.promise\");\nexports.esnext = {\n libs: [\n es2024_1.es2024,\n esnext_intl_1.esnext_intl,\n esnext_decorators_1.esnext_decorators,\n esnext_disposable_1.esnext_disposable,\n esnext_collection_1.esnext_collection,\n esnext_array_1.esnext_array,\n esnext_iterator_1.esnext_iterator,\n esnext_promise_1.esnext_promise,\n esnext_float16_1.esnext_float16,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_asynciterable = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_iterable_1 = require(\"./es2015.iterable\");\nconst es2015_symbol_1 = require(\"./es2015.symbol\");\nexports.esnext_asynciterable = {\n libs: [es2015_symbol_1.es2015_symbol, es2015_iterable_1.es2015_iterable],\n variables: [\n ['SymbolConstructor', base_config_1.TYPE],\n ['AsyncIterator', base_config_1.TYPE],\n ['AsyncIterable', base_config_1.TYPE],\n ['AsyncIterableIterator', base_config_1.TYPE],\n ['AsyncIteratorObject', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_bigint = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2020_intl_1 = require(\"./es2020.intl\");\nexports.esnext_bigint = {\n libs: [es2020_intl_1.es2020_intl],\n variables: [\n ['BigIntToLocaleStringOptions', base_config_1.TYPE],\n ['BigInt', base_config_1.TYPE_VALUE],\n ['BigIntConstructor', base_config_1.TYPE],\n ['BigInt64Array', base_config_1.TYPE_VALUE],\n ['BigInt64ArrayConstructor', base_config_1.TYPE],\n ['BigUint64Array', base_config_1.TYPE_VALUE],\n ['BigUint64ArrayConstructor', base_config_1.TYPE],\n ['DataView', base_config_1.TYPE],\n ['Intl', base_config_1.TYPE_VALUE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_full = void 0;\nconst dom_1 = require(\"./dom\");\nconst dom_asynciterable_1 = require(\"./dom.asynciterable\");\nconst dom_iterable_1 = require(\"./dom.iterable\");\nconst esnext_1 = require(\"./esnext\");\nconst scripthost_1 = require(\"./scripthost\");\nconst webworker_importscripts_1 = require(\"./webworker.importscripts\");\nexports.esnext_full = {\n libs: [\n esnext_1.esnext,\n dom_1.dom,\n webworker_importscripts_1.webworker_importscripts,\n scripthost_1.scripthost,\n dom_iterable_1.dom_iterable,\n dom_asynciterable_1.dom_asynciterable,\n ],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_object = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.esnext_object = {\n libs: [],\n variables: [['ObjectConstructor', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_regexp = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.esnext_regexp = {\n libs: [],\n variables: [['RegExp', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_string = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.esnext_string = {\n libs: [],\n variables: [['String', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_symbol = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.esnext_symbol = {\n libs: [],\n variables: [['Symbol', base_config_1.TYPE]],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.esnext_weakref = void 0;\nconst base_config_1 = require(\"./base-config\");\nconst es2015_symbol_wellknown_1 = require(\"./es2015.symbol.wellknown\");\nexports.esnext_weakref = {\n libs: [es2015_symbol_wellknown_1.es2015_symbol_wellknown],\n variables: [\n ['WeakRef', base_config_1.TYPE_VALUE],\n ['WeakRefConstructor', base_config_1.TYPE],\n ['FinalizationRegistry', base_config_1.TYPE_VALUE],\n ['FinalizationRegistryConstructor', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lib = void 0;\nconst dom_1 = require(\"./dom\");\nconst es5_1 = require(\"./es5\");\nconst scripthost_1 = require(\"./scripthost\");\nconst webworker_importscripts_1 = require(\"./webworker.importscripts\");\nexports.lib = {\n libs: [es5_1.es5, dom_1.dom, webworker_importscripts_1.webworker_importscripts, scripthost_1.scripthost],\n variables: [],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.webworker = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.webworker = {\n libs: [],\n variables: [\n ['AddEventListenerOptions', base_config_1.TYPE],\n ['AesCbcParams', base_config_1.TYPE],\n ['AesCtrParams', base_config_1.TYPE],\n ['AesDerivedKeyParams', base_config_1.TYPE],\n ['AesGcmParams', base_config_1.TYPE],\n ['AesKeyAlgorithm', base_config_1.TYPE],\n ['AesKeyGenParams', base_config_1.TYPE],\n ['Algorithm', base_config_1.TYPE],\n ['AudioConfiguration', base_config_1.TYPE],\n ['AudioDataCopyToOptions', base_config_1.TYPE],\n ['AudioDataInit', base_config_1.TYPE],\n ['AudioDecoderConfig', base_config_1.TYPE],\n ['AudioDecoderInit', base_config_1.TYPE],\n ['AudioDecoderSupport', base_config_1.TYPE],\n ['AudioEncoderConfig', base_config_1.TYPE],\n ['AudioEncoderInit', base_config_1.TYPE],\n ['AudioEncoderSupport', base_config_1.TYPE],\n ['AvcEncoderConfig', base_config_1.TYPE],\n ['BlobPropertyBag', base_config_1.TYPE],\n ['CSSMatrixComponentOptions', base_config_1.TYPE],\n ['CSSNumericType', base_config_1.TYPE],\n ['CacheQueryOptions', base_config_1.TYPE],\n ['ClientQueryOptions', base_config_1.TYPE],\n ['CloseEventInit', base_config_1.TYPE],\n ['CryptoKeyPair', base_config_1.TYPE],\n ['CustomEventInit', base_config_1.TYPE],\n ['DOMMatrix2DInit', base_config_1.TYPE],\n ['DOMMatrixInit', base_config_1.TYPE],\n ['DOMPointInit', base_config_1.TYPE],\n ['DOMQuadInit', base_config_1.TYPE],\n ['DOMRectInit', base_config_1.TYPE],\n ['EcKeyGenParams', base_config_1.TYPE],\n ['EcKeyImportParams', base_config_1.TYPE],\n ['EcdhKeyDeriveParams', base_config_1.TYPE],\n ['EcdsaParams', base_config_1.TYPE],\n ['EncodedAudioChunkInit', base_config_1.TYPE],\n ['EncodedAudioChunkMetadata', base_config_1.TYPE],\n ['EncodedVideoChunkInit', base_config_1.TYPE],\n ['EncodedVideoChunkMetadata', base_config_1.TYPE],\n ['ErrorEventInit', base_config_1.TYPE],\n ['EventInit', base_config_1.TYPE],\n ['EventListenerOptions', base_config_1.TYPE],\n ['EventSourceInit', base_config_1.TYPE],\n ['ExtendableEventInit', base_config_1.TYPE],\n ['ExtendableMessageEventInit', base_config_1.TYPE],\n ['FetchEventInit', base_config_1.TYPE],\n ['FilePropertyBag', base_config_1.TYPE],\n ['FileSystemCreateWritableOptions', base_config_1.TYPE],\n ['FileSystemGetDirectoryOptions', base_config_1.TYPE],\n ['FileSystemGetFileOptions', base_config_1.TYPE],\n ['FileSystemReadWriteOptions', base_config_1.TYPE],\n ['FileSystemRemoveOptions', base_config_1.TYPE],\n ['FontFaceDescriptors', base_config_1.TYPE],\n ['FontFaceSetLoadEventInit', base_config_1.TYPE],\n ['GetNotificationOptions', base_config_1.TYPE],\n ['HkdfParams', base_config_1.TYPE],\n ['HmacImportParams', base_config_1.TYPE],\n ['HmacKeyGenParams', base_config_1.TYPE],\n ['IDBDatabaseInfo', base_config_1.TYPE],\n ['IDBIndexParameters', base_config_1.TYPE],\n ['IDBObjectStoreParameters', base_config_1.TYPE],\n ['IDBTransactionOptions', base_config_1.TYPE],\n ['IDBVersionChangeEventInit', base_config_1.TYPE],\n ['ImageBitmapOptions', base_config_1.TYPE],\n ['ImageBitmapRenderingContextSettings', base_config_1.TYPE],\n ['ImageDataSettings', base_config_1.TYPE],\n ['ImageDecodeOptions', base_config_1.TYPE],\n ['ImageDecodeResult', base_config_1.TYPE],\n ['ImageDecoderInit', base_config_1.TYPE],\n ['ImageEncodeOptions', base_config_1.TYPE],\n ['JsonWebKey', base_config_1.TYPE],\n ['KeyAlgorithm', base_config_1.TYPE],\n ['LockInfo', base_config_1.TYPE],\n ['LockManagerSnapshot', base_config_1.TYPE],\n ['LockOptions', base_config_1.TYPE],\n ['MediaCapabilitiesDecodingInfo', base_config_1.TYPE],\n ['MediaCapabilitiesEncodingInfo', base_config_1.TYPE],\n ['MediaCapabilitiesInfo', base_config_1.TYPE],\n ['MediaConfiguration', base_config_1.TYPE],\n ['MediaDecodingConfiguration', base_config_1.TYPE],\n ['MediaEncodingConfiguration', base_config_1.TYPE],\n ['MediaStreamTrackProcessorInit', base_config_1.TYPE],\n ['MessageEventInit', base_config_1.TYPE],\n ['MultiCacheQueryOptions', base_config_1.TYPE],\n ['NavigationPreloadState', base_config_1.TYPE],\n ['NotificationEventInit', base_config_1.TYPE],\n ['NotificationOptions', base_config_1.TYPE],\n ['OpusEncoderConfig', base_config_1.TYPE],\n ['Pbkdf2Params', base_config_1.TYPE],\n ['PerformanceMarkOptions', base_config_1.TYPE],\n ['PerformanceMeasureOptions', base_config_1.TYPE],\n ['PerformanceObserverInit', base_config_1.TYPE],\n ['PermissionDescriptor', base_config_1.TYPE],\n ['PlaneLayout', base_config_1.TYPE],\n ['ProgressEventInit', base_config_1.TYPE],\n ['PromiseRejectionEventInit', base_config_1.TYPE],\n ['PushEventInit', base_config_1.TYPE],\n ['PushSubscriptionJSON', base_config_1.TYPE],\n ['PushSubscriptionOptionsInit', base_config_1.TYPE],\n ['QueuingStrategy', base_config_1.TYPE],\n ['QueuingStrategyInit', base_config_1.TYPE],\n ['RTCEncodedAudioFrameMetadata', base_config_1.TYPE],\n ['RTCEncodedVideoFrameMetadata', base_config_1.TYPE],\n ['ReadableStreamGetReaderOptions', base_config_1.TYPE],\n ['ReadableStreamIteratorOptions', base_config_1.TYPE],\n ['ReadableStreamReadDoneResult', base_config_1.TYPE],\n ['ReadableStreamReadValueResult', base_config_1.TYPE],\n ['ReadableWritablePair', base_config_1.TYPE],\n ['RegistrationOptions', base_config_1.TYPE],\n ['ReportingObserverOptions', base_config_1.TYPE],\n ['RequestInit', base_config_1.TYPE],\n ['ResponseInit', base_config_1.TYPE],\n ['RsaHashedImportParams', base_config_1.TYPE],\n ['RsaHashedKeyGenParams', base_config_1.TYPE],\n ['RsaKeyGenParams', base_config_1.TYPE],\n ['RsaOaepParams', base_config_1.TYPE],\n ['RsaOtherPrimesInfo', base_config_1.TYPE],\n ['RsaPssParams', base_config_1.TYPE],\n ['SecurityPolicyViolationEventInit', base_config_1.TYPE],\n ['StorageEstimate', base_config_1.TYPE],\n ['StreamPipeOptions', base_config_1.TYPE],\n ['StructuredSerializeOptions', base_config_1.TYPE],\n ['TextDecodeOptions', base_config_1.TYPE],\n ['TextDecoderOptions', base_config_1.TYPE],\n ['TextEncoderEncodeIntoResult', base_config_1.TYPE],\n ['Transformer', base_config_1.TYPE],\n ['UnderlyingByteSource', base_config_1.TYPE],\n ['UnderlyingDefaultSource', base_config_1.TYPE],\n ['UnderlyingSink', base_config_1.TYPE],\n ['UnderlyingSource', base_config_1.TYPE],\n ['VideoColorSpaceInit', base_config_1.TYPE],\n ['VideoConfiguration', base_config_1.TYPE],\n ['VideoDecoderConfig', base_config_1.TYPE],\n ['VideoDecoderInit', base_config_1.TYPE],\n ['VideoDecoderSupport', base_config_1.TYPE],\n ['VideoEncoderConfig', base_config_1.TYPE],\n ['VideoEncoderEncodeOptions', base_config_1.TYPE],\n ['VideoEncoderEncodeOptionsForAvc', base_config_1.TYPE],\n ['VideoEncoderInit', base_config_1.TYPE],\n ['VideoEncoderSupport', base_config_1.TYPE],\n ['VideoFrameBufferInit', base_config_1.TYPE],\n ['VideoFrameCopyToOptions', base_config_1.TYPE],\n ['VideoFrameInit', base_config_1.TYPE],\n ['WebGLContextAttributes', base_config_1.TYPE],\n ['WebGLContextEventInit', base_config_1.TYPE],\n ['WebTransportCloseInfo', base_config_1.TYPE],\n ['WebTransportErrorOptions', base_config_1.TYPE],\n ['WebTransportHash', base_config_1.TYPE],\n ['WebTransportOptions', base_config_1.TYPE],\n ['WebTransportSendStreamOptions', base_config_1.TYPE],\n ['WorkerOptions', base_config_1.TYPE],\n ['WriteParams', base_config_1.TYPE],\n ['ANGLE_instanced_arrays', base_config_1.TYPE],\n ['AbortController', base_config_1.TYPE_VALUE],\n ['AbortSignalEventMap', base_config_1.TYPE],\n ['AbortSignal', base_config_1.TYPE_VALUE],\n ['AbstractWorkerEventMap', base_config_1.TYPE],\n ['AbstractWorker', base_config_1.TYPE],\n ['AnimationFrameProvider', base_config_1.TYPE],\n ['AudioData', base_config_1.TYPE_VALUE],\n ['AudioDecoderEventMap', base_config_1.TYPE],\n ['AudioDecoder', base_config_1.TYPE_VALUE],\n ['AudioEncoderEventMap', base_config_1.TYPE],\n ['AudioEncoder', base_config_1.TYPE_VALUE],\n ['Blob', base_config_1.TYPE_VALUE],\n ['Body', base_config_1.TYPE],\n ['BroadcastChannelEventMap', base_config_1.TYPE],\n ['BroadcastChannel', base_config_1.TYPE_VALUE],\n ['ByteLengthQueuingStrategy', base_config_1.TYPE_VALUE],\n ['CSSImageValue', base_config_1.TYPE_VALUE],\n ['CSSKeywordValue', base_config_1.TYPE_VALUE],\n ['CSSMathClamp', base_config_1.TYPE_VALUE],\n ['CSSMathInvert', base_config_1.TYPE_VALUE],\n ['CSSMathMax', base_config_1.TYPE_VALUE],\n ['CSSMathMin', base_config_1.TYPE_VALUE],\n ['CSSMathNegate', base_config_1.TYPE_VALUE],\n ['CSSMathProduct', base_config_1.TYPE_VALUE],\n ['CSSMathSum', base_config_1.TYPE_VALUE],\n ['CSSMathValue', base_config_1.TYPE_VALUE],\n ['CSSMatrixComponent', base_config_1.TYPE_VALUE],\n ['CSSNumericArray', base_config_1.TYPE_VALUE],\n ['CSSNumericValue', base_config_1.TYPE_VALUE],\n ['CSSPerspective', base_config_1.TYPE_VALUE],\n ['CSSRotate', base_config_1.TYPE_VALUE],\n ['CSSScale', base_config_1.TYPE_VALUE],\n ['CSSSkew', base_config_1.TYPE_VALUE],\n ['CSSSkewX', base_config_1.TYPE_VALUE],\n ['CSSSkewY', base_config_1.TYPE_VALUE],\n ['CSSStyleValue', base_config_1.TYPE_VALUE],\n ['CSSTransformComponent', base_config_1.TYPE_VALUE],\n ['CSSTransformValue', base_config_1.TYPE_VALUE],\n ['CSSTranslate', base_config_1.TYPE_VALUE],\n ['CSSUnitValue', base_config_1.TYPE_VALUE],\n ['CSSUnparsedValue', base_config_1.TYPE_VALUE],\n ['CSSVariableReferenceValue', base_config_1.TYPE_VALUE],\n ['Cache', base_config_1.TYPE_VALUE],\n ['CacheStorage', base_config_1.TYPE_VALUE],\n ['CanvasCompositing', base_config_1.TYPE],\n ['CanvasDrawImage', base_config_1.TYPE],\n ['CanvasDrawPath', base_config_1.TYPE],\n ['CanvasFillStrokeStyles', base_config_1.TYPE],\n ['CanvasFilters', base_config_1.TYPE],\n ['CanvasGradient', base_config_1.TYPE_VALUE],\n ['CanvasImageData', base_config_1.TYPE],\n ['CanvasImageSmoothing', base_config_1.TYPE],\n ['CanvasPath', base_config_1.TYPE],\n ['CanvasPathDrawingStyles', base_config_1.TYPE],\n ['CanvasPattern', base_config_1.TYPE_VALUE],\n ['CanvasRect', base_config_1.TYPE],\n ['CanvasShadowStyles', base_config_1.TYPE],\n ['CanvasState', base_config_1.TYPE],\n ['CanvasText', base_config_1.TYPE],\n ['CanvasTextDrawingStyles', base_config_1.TYPE],\n ['CanvasTransform', base_config_1.TYPE],\n ['Client', base_config_1.TYPE_VALUE],\n ['Clients', base_config_1.TYPE_VALUE],\n ['CloseEvent', base_config_1.TYPE_VALUE],\n ['CompressionStream', base_config_1.TYPE_VALUE],\n ['CountQueuingStrategy', base_config_1.TYPE_VALUE],\n ['Crypto', base_config_1.TYPE_VALUE],\n ['CryptoKey', base_config_1.TYPE_VALUE],\n ['CustomEvent', base_config_1.TYPE_VALUE],\n ['DOMException', base_config_1.TYPE_VALUE],\n ['DOMMatrix', base_config_1.TYPE_VALUE],\n ['DOMMatrixReadOnly', base_config_1.TYPE_VALUE],\n ['DOMPoint', base_config_1.TYPE_VALUE],\n ['DOMPointReadOnly', base_config_1.TYPE_VALUE],\n ['DOMQuad', base_config_1.TYPE_VALUE],\n ['DOMRect', base_config_1.TYPE_VALUE],\n ['DOMRectReadOnly', base_config_1.TYPE_VALUE],\n ['DOMStringList', base_config_1.TYPE_VALUE],\n ['DecompressionStream', base_config_1.TYPE_VALUE],\n ['DedicatedWorkerGlobalScopeEventMap', base_config_1.TYPE],\n ['DedicatedWorkerGlobalScope', base_config_1.TYPE_VALUE],\n ['EXT_blend_minmax', base_config_1.TYPE],\n ['EXT_color_buffer_float', base_config_1.TYPE],\n ['EXT_color_buffer_half_float', base_config_1.TYPE],\n ['EXT_float_blend', base_config_1.TYPE],\n ['EXT_frag_depth', base_config_1.TYPE],\n ['EXT_sRGB', base_config_1.TYPE],\n ['EXT_shader_texture_lod', base_config_1.TYPE],\n ['EXT_texture_compression_bptc', base_config_1.TYPE],\n ['EXT_texture_compression_rgtc', base_config_1.TYPE],\n ['EXT_texture_filter_anisotropic', base_config_1.TYPE],\n ['EXT_texture_norm16', base_config_1.TYPE],\n ['EncodedAudioChunk', base_config_1.TYPE_VALUE],\n ['EncodedVideoChunk', base_config_1.TYPE_VALUE],\n ['ErrorEvent', base_config_1.TYPE_VALUE],\n ['Event', base_config_1.TYPE_VALUE],\n ['EventListener', base_config_1.TYPE],\n ['EventListenerObject', base_config_1.TYPE],\n ['EventSourceEventMap', base_config_1.TYPE],\n ['EventSource', base_config_1.TYPE_VALUE],\n ['EventTarget', base_config_1.TYPE_VALUE],\n ['ExtendableEvent', base_config_1.TYPE_VALUE],\n ['ExtendableMessageEvent', base_config_1.TYPE_VALUE],\n ['FetchEvent', base_config_1.TYPE_VALUE],\n ['File', base_config_1.TYPE_VALUE],\n ['FileList', base_config_1.TYPE_VALUE],\n ['FileReaderEventMap', base_config_1.TYPE],\n ['FileReader', base_config_1.TYPE_VALUE],\n ['FileReaderSync', base_config_1.TYPE_VALUE],\n ['FileSystemDirectoryHandle', base_config_1.TYPE_VALUE],\n ['FileSystemFileHandle', base_config_1.TYPE_VALUE],\n ['FileSystemHandle', base_config_1.TYPE_VALUE],\n ['FileSystemSyncAccessHandle', base_config_1.TYPE_VALUE],\n ['FileSystemWritableFileStream', base_config_1.TYPE_VALUE],\n ['FontFace', base_config_1.TYPE_VALUE],\n ['FontFaceSetEventMap', base_config_1.TYPE],\n ['FontFaceSet', base_config_1.TYPE_VALUE],\n ['FontFaceSetLoadEvent', base_config_1.TYPE_VALUE],\n ['FontFaceSource', base_config_1.TYPE],\n ['FormData', base_config_1.TYPE_VALUE],\n ['GPUError', base_config_1.TYPE],\n ['GenericTransformStream', base_config_1.TYPE],\n ['Headers', base_config_1.TYPE_VALUE],\n ['IDBCursor', base_config_1.TYPE_VALUE],\n ['IDBCursorWithValue', base_config_1.TYPE_VALUE],\n ['IDBDatabaseEventMap', base_config_1.TYPE],\n ['IDBDatabase', base_config_1.TYPE_VALUE],\n ['IDBFactory', base_config_1.TYPE_VALUE],\n ['IDBIndex', base_config_1.TYPE_VALUE],\n ['IDBKeyRange', base_config_1.TYPE_VALUE],\n ['IDBObjectStore', base_config_1.TYPE_VALUE],\n ['IDBOpenDBRequestEventMap', base_config_1.TYPE],\n ['IDBOpenDBRequest', base_config_1.TYPE_VALUE],\n ['IDBRequestEventMap', base_config_1.TYPE],\n ['IDBRequest', base_config_1.TYPE_VALUE],\n ['IDBTransactionEventMap', base_config_1.TYPE],\n ['IDBTransaction', base_config_1.TYPE_VALUE],\n ['IDBVersionChangeEvent', base_config_1.TYPE_VALUE],\n ['ImageBitmap', base_config_1.TYPE_VALUE],\n ['ImageBitmapRenderingContext', base_config_1.TYPE_VALUE],\n ['ImageData', base_config_1.TYPE_VALUE],\n ['ImageDecoder', base_config_1.TYPE_VALUE],\n ['ImageTrack', base_config_1.TYPE_VALUE],\n ['ImageTrackList', base_config_1.TYPE_VALUE],\n ['ImportMeta', base_config_1.TYPE],\n ['KHR_parallel_shader_compile', base_config_1.TYPE],\n ['Lock', base_config_1.TYPE_VALUE],\n ['LockManager', base_config_1.TYPE_VALUE],\n ['MediaCapabilities', base_config_1.TYPE_VALUE],\n ['MediaSourceHandle', base_config_1.TYPE_VALUE],\n ['MediaStreamTrackProcessor', base_config_1.TYPE_VALUE],\n ['MessageChannel', base_config_1.TYPE_VALUE],\n ['MessageEvent', base_config_1.TYPE_VALUE],\n ['MessageEventTargetEventMap', base_config_1.TYPE],\n ['MessageEventTarget', base_config_1.TYPE],\n ['MessagePortEventMap', base_config_1.TYPE],\n ['MessagePort', base_config_1.TYPE_VALUE],\n ['NavigationPreloadManager', base_config_1.TYPE_VALUE],\n ['NavigatorBadge', base_config_1.TYPE],\n ['NavigatorConcurrentHardware', base_config_1.TYPE],\n ['NavigatorID', base_config_1.TYPE],\n ['NavigatorLanguage', base_config_1.TYPE],\n ['NavigatorLocks', base_config_1.TYPE],\n ['NavigatorOnLine', base_config_1.TYPE],\n ['NavigatorStorage', base_config_1.TYPE],\n ['NotificationEventMap', base_config_1.TYPE],\n ['Notification', base_config_1.TYPE_VALUE],\n ['NotificationEvent', base_config_1.TYPE_VALUE],\n ['OES_draw_buffers_indexed', base_config_1.TYPE],\n ['OES_element_index_uint', base_config_1.TYPE],\n ['OES_fbo_render_mipmap', base_config_1.TYPE],\n ['OES_standard_derivatives', base_config_1.TYPE],\n ['OES_texture_float', base_config_1.TYPE],\n ['OES_texture_float_linear', base_config_1.TYPE],\n ['OES_texture_half_float', base_config_1.TYPE],\n ['OES_texture_half_float_linear', base_config_1.TYPE],\n ['OES_vertex_array_object', base_config_1.TYPE],\n ['OVR_multiview2', base_config_1.TYPE],\n ['OffscreenCanvasEventMap', base_config_1.TYPE],\n ['OffscreenCanvas', base_config_1.TYPE_VALUE],\n ['OffscreenCanvasRenderingContext2D', base_config_1.TYPE_VALUE],\n ['Path2D', base_config_1.TYPE_VALUE],\n ['PerformanceEventMap', base_config_1.TYPE],\n ['Performance', base_config_1.TYPE_VALUE],\n ['PerformanceEntry', base_config_1.TYPE_VALUE],\n ['PerformanceMark', base_config_1.TYPE_VALUE],\n ['PerformanceMeasure', base_config_1.TYPE_VALUE],\n ['PerformanceObserver', base_config_1.TYPE_VALUE],\n ['PerformanceObserverEntryList', base_config_1.TYPE_VALUE],\n ['PerformanceResourceTiming', base_config_1.TYPE_VALUE],\n ['PerformanceServerTiming', base_config_1.TYPE_VALUE],\n ['PermissionStatusEventMap', base_config_1.TYPE],\n ['PermissionStatus', base_config_1.TYPE_VALUE],\n ['Permissions', base_config_1.TYPE_VALUE],\n ['ProgressEvent', base_config_1.TYPE_VALUE],\n ['PromiseRejectionEvent', base_config_1.TYPE_VALUE],\n ['PushEvent', base_config_1.TYPE_VALUE],\n ['PushManager', base_config_1.TYPE_VALUE],\n ['PushMessageData', base_config_1.TYPE_VALUE],\n ['PushSubscription', base_config_1.TYPE_VALUE],\n ['PushSubscriptionOptions', base_config_1.TYPE_VALUE],\n ['RTCDataChannelEventMap', base_config_1.TYPE],\n ['RTCDataChannel', base_config_1.TYPE_VALUE],\n ['RTCEncodedAudioFrame', base_config_1.TYPE_VALUE],\n ['RTCEncodedVideoFrame', base_config_1.TYPE_VALUE],\n ['RTCRtpScriptTransformer', base_config_1.TYPE_VALUE],\n ['RTCTransformEvent', base_config_1.TYPE_VALUE],\n ['ReadableByteStreamController', base_config_1.TYPE_VALUE],\n ['ReadableStream', base_config_1.TYPE_VALUE],\n ['ReadableStreamBYOBReader', base_config_1.TYPE_VALUE],\n ['ReadableStreamBYOBRequest', base_config_1.TYPE_VALUE],\n ['ReadableStreamDefaultController', base_config_1.TYPE_VALUE],\n ['ReadableStreamDefaultReader', base_config_1.TYPE_VALUE],\n ['ReadableStreamGenericReader', base_config_1.TYPE],\n ['Report', base_config_1.TYPE_VALUE],\n ['ReportBody', base_config_1.TYPE_VALUE],\n ['ReportingObserver', base_config_1.TYPE_VALUE],\n ['Request', base_config_1.TYPE_VALUE],\n ['Response', base_config_1.TYPE_VALUE],\n ['SecurityPolicyViolationEvent', base_config_1.TYPE_VALUE],\n ['ServiceWorkerEventMap', base_config_1.TYPE],\n ['ServiceWorker', base_config_1.TYPE_VALUE],\n ['ServiceWorkerContainerEventMap', base_config_1.TYPE],\n ['ServiceWorkerContainer', base_config_1.TYPE_VALUE],\n ['ServiceWorkerGlobalScopeEventMap', base_config_1.TYPE],\n ['ServiceWorkerGlobalScope', base_config_1.TYPE_VALUE],\n ['ServiceWorkerRegistrationEventMap', base_config_1.TYPE],\n ['ServiceWorkerRegistration', base_config_1.TYPE_VALUE],\n ['SharedWorkerGlobalScopeEventMap', base_config_1.TYPE],\n ['SharedWorkerGlobalScope', base_config_1.TYPE_VALUE],\n ['StorageManager', base_config_1.TYPE_VALUE],\n ['StylePropertyMapReadOnly', base_config_1.TYPE_VALUE],\n ['SubtleCrypto', base_config_1.TYPE_VALUE],\n ['TextDecoder', base_config_1.TYPE_VALUE],\n ['TextDecoderCommon', base_config_1.TYPE],\n ['TextDecoderStream', base_config_1.TYPE_VALUE],\n ['TextEncoder', base_config_1.TYPE_VALUE],\n ['TextEncoderCommon', base_config_1.TYPE],\n ['TextEncoderStream', base_config_1.TYPE_VALUE],\n ['TextMetrics', base_config_1.TYPE_VALUE],\n ['TransformStream', base_config_1.TYPE_VALUE],\n ['TransformStreamDefaultController', base_config_1.TYPE_VALUE],\n ['URL', base_config_1.TYPE_VALUE],\n ['URLSearchParams', base_config_1.TYPE_VALUE],\n ['VideoColorSpace', base_config_1.TYPE_VALUE],\n ['VideoDecoderEventMap', base_config_1.TYPE],\n ['VideoDecoder', base_config_1.TYPE_VALUE],\n ['VideoEncoderEventMap', base_config_1.TYPE],\n ['VideoEncoder', base_config_1.TYPE_VALUE],\n ['VideoFrame', base_config_1.TYPE_VALUE],\n ['WEBGL_color_buffer_float', base_config_1.TYPE],\n ['WEBGL_compressed_texture_astc', base_config_1.TYPE],\n ['WEBGL_compressed_texture_etc', base_config_1.TYPE],\n ['WEBGL_compressed_texture_etc1', base_config_1.TYPE],\n ['WEBGL_compressed_texture_pvrtc', base_config_1.TYPE],\n ['WEBGL_compressed_texture_s3tc', base_config_1.TYPE],\n ['WEBGL_compressed_texture_s3tc_srgb', base_config_1.TYPE],\n ['WEBGL_debug_renderer_info', base_config_1.TYPE],\n ['WEBGL_debug_shaders', base_config_1.TYPE],\n ['WEBGL_depth_texture', base_config_1.TYPE],\n ['WEBGL_draw_buffers', base_config_1.TYPE],\n ['WEBGL_lose_context', base_config_1.TYPE],\n ['WEBGL_multi_draw', base_config_1.TYPE],\n ['WebGL2RenderingContext', base_config_1.TYPE_VALUE],\n ['WebGL2RenderingContextBase', base_config_1.TYPE],\n ['WebGL2RenderingContextOverloads', base_config_1.TYPE],\n ['WebGLActiveInfo', base_config_1.TYPE_VALUE],\n ['WebGLBuffer', base_config_1.TYPE_VALUE],\n ['WebGLContextEvent', base_config_1.TYPE_VALUE],\n ['WebGLFramebuffer', base_config_1.TYPE_VALUE],\n ['WebGLProgram', base_config_1.TYPE_VALUE],\n ['WebGLQuery', base_config_1.TYPE_VALUE],\n ['WebGLRenderbuffer', base_config_1.TYPE_VALUE],\n ['WebGLRenderingContext', base_config_1.TYPE_VALUE],\n ['WebGLRenderingContextBase', base_config_1.TYPE],\n ['WebGLRenderingContextOverloads', base_config_1.TYPE],\n ['WebGLSampler', base_config_1.TYPE_VALUE],\n ['WebGLShader', base_config_1.TYPE_VALUE],\n ['WebGLShaderPrecisionFormat', base_config_1.TYPE_VALUE],\n ['WebGLSync', base_config_1.TYPE_VALUE],\n ['WebGLTexture', base_config_1.TYPE_VALUE],\n ['WebGLTransformFeedback', base_config_1.TYPE_VALUE],\n ['WebGLUniformLocation', base_config_1.TYPE_VALUE],\n ['WebGLVertexArrayObject', base_config_1.TYPE_VALUE],\n ['WebGLVertexArrayObjectOES', base_config_1.TYPE],\n ['WebSocketEventMap', base_config_1.TYPE],\n ['WebSocket', base_config_1.TYPE_VALUE],\n ['WebTransport', base_config_1.TYPE_VALUE],\n ['WebTransportBidirectionalStream', base_config_1.TYPE_VALUE],\n ['WebTransportDatagramDuplexStream', base_config_1.TYPE_VALUE],\n ['WebTransportError', base_config_1.TYPE_VALUE],\n ['WindowClient', base_config_1.TYPE_VALUE],\n ['WindowOrWorkerGlobalScope', base_config_1.TYPE],\n ['WorkerEventMap', base_config_1.TYPE],\n ['Worker', base_config_1.TYPE_VALUE],\n ['WorkerGlobalScopeEventMap', base_config_1.TYPE],\n ['WorkerGlobalScope', base_config_1.TYPE_VALUE],\n ['WorkerLocation', base_config_1.TYPE_VALUE],\n ['WorkerNavigator', base_config_1.TYPE_VALUE],\n ['WritableStream', base_config_1.TYPE_VALUE],\n ['WritableStreamDefaultController', base_config_1.TYPE_VALUE],\n ['WritableStreamDefaultWriter', base_config_1.TYPE_VALUE],\n ['XMLHttpRequestEventMap', base_config_1.TYPE],\n ['XMLHttpRequest', base_config_1.TYPE_VALUE],\n ['XMLHttpRequestEventTargetEventMap', base_config_1.TYPE],\n ['XMLHttpRequestEventTarget', base_config_1.TYPE_VALUE],\n ['XMLHttpRequestUpload', base_config_1.TYPE_VALUE],\n ['Console', base_config_1.TYPE],\n ['WebAssembly', base_config_1.TYPE_VALUE],\n ['AudioDataOutputCallback', base_config_1.TYPE],\n ['EncodedAudioChunkOutputCallback', base_config_1.TYPE],\n ['EncodedVideoChunkOutputCallback', base_config_1.TYPE],\n ['FrameRequestCallback', base_config_1.TYPE],\n ['LockGrantedCallback', base_config_1.TYPE],\n ['OnErrorEventHandlerNonNull', base_config_1.TYPE],\n ['PerformanceObserverCallback', base_config_1.TYPE],\n ['QueuingStrategySize', base_config_1.TYPE],\n ['ReportingObserverCallback', base_config_1.TYPE],\n ['TransformerFlushCallback', base_config_1.TYPE],\n ['TransformerStartCallback', base_config_1.TYPE],\n ['TransformerTransformCallback', base_config_1.TYPE],\n ['UnderlyingSinkAbortCallback', base_config_1.TYPE],\n ['UnderlyingSinkCloseCallback', base_config_1.TYPE],\n ['UnderlyingSinkStartCallback', base_config_1.TYPE],\n ['UnderlyingSinkWriteCallback', base_config_1.TYPE],\n ['UnderlyingSourceCancelCallback', base_config_1.TYPE],\n ['UnderlyingSourcePullCallback', base_config_1.TYPE],\n ['UnderlyingSourceStartCallback', base_config_1.TYPE],\n ['VideoFrameOutputCallback', base_config_1.TYPE],\n ['VoidFunction', base_config_1.TYPE],\n ['WebCodecsErrorCallback', base_config_1.TYPE],\n ['AlgorithmIdentifier', base_config_1.TYPE],\n ['AllowSharedBufferSource', base_config_1.TYPE],\n ['BigInteger', base_config_1.TYPE],\n ['BlobPart', base_config_1.TYPE],\n ['BodyInit', base_config_1.TYPE],\n ['BufferSource', base_config_1.TYPE],\n ['CSSKeywordish', base_config_1.TYPE],\n ['CSSNumberish', base_config_1.TYPE],\n ['CSSPerspectiveValue', base_config_1.TYPE],\n ['CSSUnparsedSegment', base_config_1.TYPE],\n ['CanvasImageSource', base_config_1.TYPE],\n ['DOMHighResTimeStamp', base_config_1.TYPE],\n ['EpochTimeStamp', base_config_1.TYPE],\n ['EventListenerOrEventListenerObject', base_config_1.TYPE],\n ['FileSystemWriteChunkType', base_config_1.TYPE],\n ['Float32List', base_config_1.TYPE],\n ['FormDataEntryValue', base_config_1.TYPE],\n ['GLbitfield', base_config_1.TYPE],\n ['GLboolean', base_config_1.TYPE],\n ['GLclampf', base_config_1.TYPE],\n ['GLenum', base_config_1.TYPE],\n ['GLfloat', base_config_1.TYPE],\n ['GLint', base_config_1.TYPE],\n ['GLint64', base_config_1.TYPE],\n ['GLintptr', base_config_1.TYPE],\n ['GLsizei', base_config_1.TYPE],\n ['GLsizeiptr', base_config_1.TYPE],\n ['GLuint', base_config_1.TYPE],\n ['GLuint64', base_config_1.TYPE],\n ['HashAlgorithmIdentifier', base_config_1.TYPE],\n ['HeadersInit', base_config_1.TYPE],\n ['IDBValidKey', base_config_1.TYPE],\n ['ImageBitmapSource', base_config_1.TYPE],\n ['ImageBufferSource', base_config_1.TYPE],\n ['Int32List', base_config_1.TYPE],\n ['MessageEventSource', base_config_1.TYPE],\n ['NamedCurve', base_config_1.TYPE],\n ['OffscreenRenderingContext', base_config_1.TYPE],\n ['OnErrorEventHandler', base_config_1.TYPE],\n ['PerformanceEntryList', base_config_1.TYPE],\n ['PushMessageDataInit', base_config_1.TYPE],\n ['ReadableStreamController', base_config_1.TYPE],\n ['ReadableStreamReadResult', base_config_1.TYPE],\n ['ReadableStreamReader', base_config_1.TYPE],\n ['ReportList', base_config_1.TYPE],\n ['RequestInfo', base_config_1.TYPE],\n ['TexImageSource', base_config_1.TYPE],\n ['TimerHandler', base_config_1.TYPE],\n ['Transferable', base_config_1.TYPE],\n ['Uint32List', base_config_1.TYPE],\n ['XMLHttpRequestBodyInit', base_config_1.TYPE],\n ['AlphaOption', base_config_1.TYPE],\n ['AudioSampleFormat', base_config_1.TYPE],\n ['AvcBitstreamFormat', base_config_1.TYPE],\n ['BinaryType', base_config_1.TYPE],\n ['BitrateMode', base_config_1.TYPE],\n ['CSSMathOperator', base_config_1.TYPE],\n ['CSSNumericBaseType', base_config_1.TYPE],\n ['CanvasDirection', base_config_1.TYPE],\n ['CanvasFillRule', base_config_1.TYPE],\n ['CanvasFontKerning', base_config_1.TYPE],\n ['CanvasFontStretch', base_config_1.TYPE],\n ['CanvasFontVariantCaps', base_config_1.TYPE],\n ['CanvasLineCap', base_config_1.TYPE],\n ['CanvasLineJoin', base_config_1.TYPE],\n ['CanvasTextAlign', base_config_1.TYPE],\n ['CanvasTextBaseline', base_config_1.TYPE],\n ['CanvasTextRendering', base_config_1.TYPE],\n ['ClientTypes', base_config_1.TYPE],\n ['CodecState', base_config_1.TYPE],\n ['ColorGamut', base_config_1.TYPE],\n ['ColorSpaceConversion', base_config_1.TYPE],\n ['CompressionFormat', base_config_1.TYPE],\n ['DocumentVisibilityState', base_config_1.TYPE],\n ['EncodedAudioChunkType', base_config_1.TYPE],\n ['EncodedVideoChunkType', base_config_1.TYPE],\n ['EndingType', base_config_1.TYPE],\n ['FileSystemHandleKind', base_config_1.TYPE],\n ['FontDisplay', base_config_1.TYPE],\n ['FontFaceLoadStatus', base_config_1.TYPE],\n ['FontFaceSetLoadStatus', base_config_1.TYPE],\n ['FrameType', base_config_1.TYPE],\n ['GlobalCompositeOperation', base_config_1.TYPE],\n ['HardwareAcceleration', base_config_1.TYPE],\n ['HdrMetadataType', base_config_1.TYPE],\n ['IDBCursorDirection', base_config_1.TYPE],\n ['IDBRequestReadyState', base_config_1.TYPE],\n ['IDBTransactionDurability', base_config_1.TYPE],\n ['IDBTransactionMode', base_config_1.TYPE],\n ['ImageOrientation', base_config_1.TYPE],\n ['ImageSmoothingQuality', base_config_1.TYPE],\n ['KeyFormat', base_config_1.TYPE],\n ['KeyType', base_config_1.TYPE],\n ['KeyUsage', base_config_1.TYPE],\n ['LatencyMode', base_config_1.TYPE],\n ['LockMode', base_config_1.TYPE],\n ['MediaDecodingType', base_config_1.TYPE],\n ['MediaEncodingType', base_config_1.TYPE],\n ['NotificationDirection', base_config_1.TYPE],\n ['NotificationPermission', base_config_1.TYPE],\n ['OffscreenRenderingContextId', base_config_1.TYPE],\n ['OpusBitstreamFormat', base_config_1.TYPE],\n ['PermissionName', base_config_1.TYPE],\n ['PermissionState', base_config_1.TYPE],\n ['PredefinedColorSpace', base_config_1.TYPE],\n ['PremultiplyAlpha', base_config_1.TYPE],\n ['PushEncryptionKeyName', base_config_1.TYPE],\n ['RTCDataChannelState', base_config_1.TYPE],\n ['RTCEncodedVideoFrameType', base_config_1.TYPE],\n ['ReadableStreamReaderMode', base_config_1.TYPE],\n ['ReadableStreamType', base_config_1.TYPE],\n ['ReferrerPolicy', base_config_1.TYPE],\n ['RequestCache', base_config_1.TYPE],\n ['RequestCredentials', base_config_1.TYPE],\n ['RequestDestination', base_config_1.TYPE],\n ['RequestMode', base_config_1.TYPE],\n ['RequestPriority', base_config_1.TYPE],\n ['RequestRedirect', base_config_1.TYPE],\n ['ResizeQuality', base_config_1.TYPE],\n ['ResponseType', base_config_1.TYPE],\n ['SecurityPolicyViolationEventDisposition', base_config_1.TYPE],\n ['ServiceWorkerState', base_config_1.TYPE],\n ['ServiceWorkerUpdateViaCache', base_config_1.TYPE],\n ['TransferFunction', base_config_1.TYPE],\n ['VideoColorPrimaries', base_config_1.TYPE],\n ['VideoEncoderBitrateMode', base_config_1.TYPE],\n ['VideoMatrixCoefficients', base_config_1.TYPE],\n ['VideoPixelFormat', base_config_1.TYPE],\n ['VideoTransferCharacteristics', base_config_1.TYPE],\n ['WebGLPowerPreference', base_config_1.TYPE],\n ['WebTransportCongestionControl', base_config_1.TYPE],\n ['WebTransportErrorSource', base_config_1.TYPE],\n ['WorkerType', base_config_1.TYPE],\n ['WriteCommandType', base_config_1.TYPE],\n ['XMLHttpRequestResponseType', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.webworker_asynciterable = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.webworker_asynciterable = {\n libs: [],\n variables: [\n ['FileSystemDirectoryHandleAsyncIterator', base_config_1.TYPE],\n ['FileSystemDirectoryHandle', base_config_1.TYPE],\n ['ReadableStreamAsyncIterator', base_config_1.TYPE],\n ['ReadableStream', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.webworker_iterable = void 0;\nconst base_config_1 = require(\"./base-config\");\nexports.webworker_iterable = {\n libs: [],\n variables: [\n ['CSSNumericArray', base_config_1.TYPE],\n ['CSSTransformValue', base_config_1.TYPE],\n ['CSSUnparsedValue', base_config_1.TYPE],\n ['Cache', base_config_1.TYPE],\n ['CanvasPath', base_config_1.TYPE],\n ['CanvasPathDrawingStyles', base_config_1.TYPE],\n ['DOMStringList', base_config_1.TYPE],\n ['FileList', base_config_1.TYPE],\n ['FontFaceSet', base_config_1.TYPE],\n ['FormDataIterator', base_config_1.TYPE],\n ['FormData', base_config_1.TYPE],\n ['HeadersIterator', base_config_1.TYPE],\n ['Headers', base_config_1.TYPE],\n ['IDBDatabase', base_config_1.TYPE],\n ['IDBObjectStore', base_config_1.TYPE],\n ['ImageTrackList', base_config_1.TYPE],\n ['MessageEvent', base_config_1.TYPE],\n ['StylePropertyMapReadOnlyIterator', base_config_1.TYPE],\n ['StylePropertyMapReadOnly', base_config_1.TYPE],\n ['SubtleCrypto', base_config_1.TYPE],\n ['URLSearchParamsIterator', base_config_1.TYPE],\n ['URLSearchParams', base_config_1.TYPE],\n ['WEBGL_draw_buffers', base_config_1.TYPE],\n ['WEBGL_multi_draw', base_config_1.TYPE],\n ['WebGL2RenderingContextBase', base_config_1.TYPE],\n ['WebGL2RenderingContextOverloads', base_config_1.TYPE],\n ['WebGLRenderingContextBase', base_config_1.TYPE],\n ['WebGLRenderingContextOverloads', base_config_1.TYPE],\n ],\n};\n","\"use strict\";\n// THIS CODE WAS AUTOMATICALLY GENERATED\n// DO NOT EDIT THIS CODE BY HAND\n// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:\n// npx nx generate-lib repo\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lib = void 0;\nconst decorators_1 = require(\"./decorators\");\nconst decorators_legacy_1 = require(\"./decorators.legacy\");\nconst dom_1 = require(\"./dom\");\nconst dom_asynciterable_1 = require(\"./dom.asynciterable\");\nconst dom_iterable_1 = require(\"./dom.iterable\");\nconst es5_1 = require(\"./es5\");\nconst es6_1 = require(\"./es6\");\nconst es7_1 = require(\"./es7\");\nconst es2015_1 = require(\"./es2015\");\nconst es2015_collection_1 = require(\"./es2015.collection\");\nconst es2015_core_1 = require(\"./es2015.core\");\nconst es2015_generator_1 = require(\"./es2015.generator\");\nconst es2015_iterable_1 = require(\"./es2015.iterable\");\nconst es2015_promise_1 = require(\"./es2015.promise\");\nconst es2015_proxy_1 = require(\"./es2015.proxy\");\nconst es2015_reflect_1 = require(\"./es2015.reflect\");\nconst es2015_symbol_1 = require(\"./es2015.symbol\");\nconst es2015_symbol_wellknown_1 = require(\"./es2015.symbol.wellknown\");\nconst es2016_1 = require(\"./es2016\");\nconst es2016_array_include_1 = require(\"./es2016.array.include\");\nconst es2016_full_1 = require(\"./es2016.full\");\nconst es2016_intl_1 = require(\"./es2016.intl\");\nconst es2017_1 = require(\"./es2017\");\nconst es2017_arraybuffer_1 = require(\"./es2017.arraybuffer\");\nconst es2017_date_1 = require(\"./es2017.date\");\nconst es2017_full_1 = require(\"./es2017.full\");\nconst es2017_intl_1 = require(\"./es2017.intl\");\nconst es2017_object_1 = require(\"./es2017.object\");\nconst es2017_sharedmemory_1 = require(\"./es2017.sharedmemory\");\nconst es2017_string_1 = require(\"./es2017.string\");\nconst es2017_typedarrays_1 = require(\"./es2017.typedarrays\");\nconst es2018_1 = require(\"./es2018\");\nconst es2018_asyncgenerator_1 = require(\"./es2018.asyncgenerator\");\nconst es2018_asynciterable_1 = require(\"./es2018.asynciterable\");\nconst es2018_full_1 = require(\"./es2018.full\");\nconst es2018_intl_1 = require(\"./es2018.intl\");\nconst es2018_promise_1 = require(\"./es2018.promise\");\nconst es2018_regexp_1 = require(\"./es2018.regexp\");\nconst es2019_1 = require(\"./es2019\");\nconst es2019_array_1 = require(\"./es2019.array\");\nconst es2019_full_1 = require(\"./es2019.full\");\nconst es2019_intl_1 = require(\"./es2019.intl\");\nconst es2019_object_1 = require(\"./es2019.object\");\nconst es2019_string_1 = require(\"./es2019.string\");\nconst es2019_symbol_1 = require(\"./es2019.symbol\");\nconst es2020_1 = require(\"./es2020\");\nconst es2020_bigint_1 = require(\"./es2020.bigint\");\nconst es2020_date_1 = require(\"./es2020.date\");\nconst es2020_full_1 = require(\"./es2020.full\");\nconst es2020_intl_1 = require(\"./es2020.intl\");\nconst es2020_number_1 = require(\"./es2020.number\");\nconst es2020_promise_1 = require(\"./es2020.promise\");\nconst es2020_sharedmemory_1 = require(\"./es2020.sharedmemory\");\nconst es2020_string_1 = require(\"./es2020.string\");\nconst es2020_symbol_wellknown_1 = require(\"./es2020.symbol.wellknown\");\nconst es2021_1 = require(\"./es2021\");\nconst es2021_full_1 = require(\"./es2021.full\");\nconst es2021_intl_1 = require(\"./es2021.intl\");\nconst es2021_promise_1 = require(\"./es2021.promise\");\nconst es2021_string_1 = require(\"./es2021.string\");\nconst es2021_weakref_1 = require(\"./es2021.weakref\");\nconst es2022_1 = require(\"./es2022\");\nconst es2022_array_1 = require(\"./es2022.array\");\nconst es2022_error_1 = require(\"./es2022.error\");\nconst es2022_full_1 = require(\"./es2022.full\");\nconst es2022_intl_1 = require(\"./es2022.intl\");\nconst es2022_object_1 = require(\"./es2022.object\");\nconst es2022_regexp_1 = require(\"./es2022.regexp\");\nconst es2022_string_1 = require(\"./es2022.string\");\nconst es2023_1 = require(\"./es2023\");\nconst es2023_array_1 = require(\"./es2023.array\");\nconst es2023_collection_1 = require(\"./es2023.collection\");\nconst es2023_full_1 = require(\"./es2023.full\");\nconst es2023_intl_1 = require(\"./es2023.intl\");\nconst es2024_1 = require(\"./es2024\");\nconst es2024_arraybuffer_1 = require(\"./es2024.arraybuffer\");\nconst es2024_collection_1 = require(\"./es2024.collection\");\nconst es2024_full_1 = require(\"./es2024.full\");\nconst es2024_object_1 = require(\"./es2024.object\");\nconst es2024_promise_1 = require(\"./es2024.promise\");\nconst es2024_regexp_1 = require(\"./es2024.regexp\");\nconst es2024_sharedmemory_1 = require(\"./es2024.sharedmemory\");\nconst es2024_string_1 = require(\"./es2024.string\");\nconst esnext_1 = require(\"./esnext\");\nconst esnext_array_1 = require(\"./esnext.array\");\nconst esnext_asynciterable_1 = require(\"./esnext.asynciterable\");\nconst esnext_bigint_1 = require(\"./esnext.bigint\");\nconst esnext_collection_1 = require(\"./esnext.collection\");\nconst esnext_decorators_1 = require(\"./esnext.decorators\");\nconst esnext_disposable_1 = require(\"./esnext.disposable\");\nconst esnext_float16_1 = require(\"./esnext.float16\");\nconst esnext_full_1 = require(\"./esnext.full\");\nconst esnext_intl_1 = require(\"./esnext.intl\");\nconst esnext_iterator_1 = require(\"./esnext.iterator\");\nconst esnext_object_1 = require(\"./esnext.object\");\nconst esnext_promise_1 = require(\"./esnext.promise\");\nconst esnext_regexp_1 = require(\"./esnext.regexp\");\nconst esnext_string_1 = require(\"./esnext.string\");\nconst esnext_symbol_1 = require(\"./esnext.symbol\");\nconst esnext_weakref_1 = require(\"./esnext.weakref\");\nconst lib_1 = require(\"./lib\");\nconst scripthost_1 = require(\"./scripthost\");\nconst webworker_1 = require(\"./webworker\");\nconst webworker_asynciterable_1 = require(\"./webworker.asynciterable\");\nconst webworker_importscripts_1 = require(\"./webworker.importscripts\");\nconst webworker_iterable_1 = require(\"./webworker.iterable\");\nexports.lib = new Map([\n ['es5', es5_1.es5],\n ['es6', es6_1.es6],\n ['es2015', es2015_1.es2015],\n ['es7', es7_1.es7],\n ['es2016', es2016_1.es2016],\n ['es2017', es2017_1.es2017],\n ['es2018', es2018_1.es2018],\n ['es2019', es2019_1.es2019],\n ['es2020', es2020_1.es2020],\n ['es2021', es2021_1.es2021],\n ['es2022', es2022_1.es2022],\n ['es2023', es2023_1.es2023],\n ['es2024', es2024_1.es2024],\n ['esnext', esnext_1.esnext],\n ['dom', dom_1.dom],\n ['dom.iterable', dom_iterable_1.dom_iterable],\n ['dom.asynciterable', dom_asynciterable_1.dom_asynciterable],\n ['webworker', webworker_1.webworker],\n ['webworker.importscripts', webworker_importscripts_1.webworker_importscripts],\n ['webworker.iterable', webworker_iterable_1.webworker_iterable],\n ['webworker.asynciterable', webworker_asynciterable_1.webworker_asynciterable],\n ['scripthost', scripthost_1.scripthost],\n ['es2015.core', es2015_core_1.es2015_core],\n ['es2015.collection', es2015_collection_1.es2015_collection],\n ['es2015.generator', es2015_generator_1.es2015_generator],\n ['es2015.iterable', es2015_iterable_1.es2015_iterable],\n ['es2015.promise', es2015_promise_1.es2015_promise],\n ['es2015.proxy', es2015_proxy_1.es2015_proxy],\n ['es2015.reflect', es2015_reflect_1.es2015_reflect],\n ['es2015.symbol', es2015_symbol_1.es2015_symbol],\n ['es2015.symbol.wellknown', es2015_symbol_wellknown_1.es2015_symbol_wellknown],\n ['es2016.array.include', es2016_array_include_1.es2016_array_include],\n ['es2016.intl', es2016_intl_1.es2016_intl],\n ['es2017.arraybuffer', es2017_arraybuffer_1.es2017_arraybuffer],\n ['es2017.date', es2017_date_1.es2017_date],\n ['es2017.object', es2017_object_1.es2017_object],\n ['es2017.sharedmemory', es2017_sharedmemory_1.es2017_sharedmemory],\n ['es2017.string', es2017_string_1.es2017_string],\n ['es2017.intl', es2017_intl_1.es2017_intl],\n ['es2017.typedarrays', es2017_typedarrays_1.es2017_typedarrays],\n ['es2018.asyncgenerator', es2018_asyncgenerator_1.es2018_asyncgenerator],\n ['es2018.asynciterable', es2018_asynciterable_1.es2018_asynciterable],\n ['es2018.intl', es2018_intl_1.es2018_intl],\n ['es2018.promise', es2018_promise_1.es2018_promise],\n ['es2018.regexp', es2018_regexp_1.es2018_regexp],\n ['es2019.array', es2019_array_1.es2019_array],\n ['es2019.object', es2019_object_1.es2019_object],\n ['es2019.string', es2019_string_1.es2019_string],\n ['es2019.symbol', es2019_symbol_1.es2019_symbol],\n ['es2019.intl', es2019_intl_1.es2019_intl],\n ['es2020.bigint', es2020_bigint_1.es2020_bigint],\n ['es2020.date', es2020_date_1.es2020_date],\n ['es2020.promise', es2020_promise_1.es2020_promise],\n ['es2020.sharedmemory', es2020_sharedmemory_1.es2020_sharedmemory],\n ['es2020.string', es2020_string_1.es2020_string],\n ['es2020.symbol.wellknown', es2020_symbol_wellknown_1.es2020_symbol_wellknown],\n ['es2020.intl', es2020_intl_1.es2020_intl],\n ['es2020.number', es2020_number_1.es2020_number],\n ['es2021.promise', es2021_promise_1.es2021_promise],\n ['es2021.string', es2021_string_1.es2021_string],\n ['es2021.weakref', es2021_weakref_1.es2021_weakref],\n ['es2021.intl', es2021_intl_1.es2021_intl],\n ['es2022.array', es2022_array_1.es2022_array],\n ['es2022.error', es2022_error_1.es2022_error],\n ['es2022.intl', es2022_intl_1.es2022_intl],\n ['es2022.object', es2022_object_1.es2022_object],\n ['es2022.string', es2022_string_1.es2022_string],\n ['es2022.regexp', es2022_regexp_1.es2022_regexp],\n ['es2023.array', es2023_array_1.es2023_array],\n ['es2023.collection', es2023_collection_1.es2023_collection],\n ['es2023.intl', es2023_intl_1.es2023_intl],\n ['es2024.arraybuffer', es2024_arraybuffer_1.es2024_arraybuffer],\n ['es2024.collection', es2024_collection_1.es2024_collection],\n ['es2024.object', es2024_object_1.es2024_object],\n ['es2024.promise', es2024_promise_1.es2024_promise],\n ['es2024.regexp', es2024_regexp_1.es2024_regexp],\n ['es2024.sharedmemory', es2024_sharedmemory_1.es2024_sharedmemory],\n ['es2024.string', es2024_string_1.es2024_string],\n ['esnext.array', esnext_array_1.esnext_array],\n ['esnext.collection', esnext_collection_1.esnext_collection],\n ['esnext.symbol', esnext_symbol_1.esnext_symbol],\n ['esnext.asynciterable', esnext_asynciterable_1.esnext_asynciterable],\n ['esnext.intl', esnext_intl_1.esnext_intl],\n ['esnext.disposable', esnext_disposable_1.esnext_disposable],\n ['esnext.bigint', esnext_bigint_1.esnext_bigint],\n ['esnext.string', esnext_string_1.esnext_string],\n ['esnext.promise', esnext_promise_1.esnext_promise],\n ['esnext.weakref', esnext_weakref_1.esnext_weakref],\n ['esnext.decorators', esnext_decorators_1.esnext_decorators],\n ['esnext.object', esnext_object_1.esnext_object],\n ['esnext.regexp', esnext_regexp_1.esnext_regexp],\n ['esnext.iterator', esnext_iterator_1.esnext_iterator],\n ['esnext.float16', esnext_float16_1.esnext_float16],\n ['decorators', decorators_1.decorators],\n ['decorators.legacy', decorators_legacy_1.decorators_legacy],\n ['es2016.full', es2016_full_1.es2016_full],\n ['es2017.full', es2017_full_1.es2017_full],\n ['es2018.full', es2018_full_1.es2018_full],\n ['es2019.full', es2019_full_1.es2019_full],\n ['es2020.full', es2020_full_1.es2020_full],\n ['es2021.full', es2021_full_1.es2021_full],\n ['es2022.full', es2022_full_1.es2022_full],\n ['es2023.full', es2023_full_1.es2023_full],\n ['es2024.full', es2024_full_1.es2024_full],\n ['esnext.full', esnext_full_1.esnext_full],\n ['lib', lib_1.lib],\n]);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Reference = exports.ReferenceTypeFlag = exports.ReferenceFlag = void 0;\nconst ID_1 = require(\"../ID\");\nvar ReferenceFlag;\n(function (ReferenceFlag) {\n ReferenceFlag[ReferenceFlag[\"Read\"] = 1] = \"Read\";\n ReferenceFlag[ReferenceFlag[\"Write\"] = 2] = \"Write\";\n ReferenceFlag[ReferenceFlag[\"ReadWrite\"] = 3] = \"ReadWrite\";\n})(ReferenceFlag || (exports.ReferenceFlag = ReferenceFlag = {}));\nconst generator = (0, ID_1.createIdGenerator)();\nvar ReferenceTypeFlag;\n(function (ReferenceTypeFlag) {\n ReferenceTypeFlag[ReferenceTypeFlag[\"Value\"] = 1] = \"Value\";\n ReferenceTypeFlag[ReferenceTypeFlag[\"Type\"] = 2] = \"Type\";\n})(ReferenceTypeFlag || (exports.ReferenceTypeFlag = ReferenceTypeFlag = {}));\n/**\n * A Reference represents a single occurrence of an identifier in code.\n */\nclass Reference {\n /**\n * A unique ID for this instance - primarily used to help debugging and testing\n */\n $id = generator();\n /**\n * The read-write mode of the reference.\n */\n #flag;\n /**\n * Reference to the enclosing Scope.\n * @public\n */\n from;\n /**\n * Identifier syntax node.\n * @public\n */\n identifier;\n /**\n * `true` if this writing reference is a variable initializer or a default value.\n * @public\n */\n init;\n maybeImplicitGlobal;\n /**\n * The {@link Variable} object that this reference refers to. If such variable was not defined, this is `null`.\n * @public\n */\n resolved;\n /**\n * If reference is writeable, this is the node being written to it.\n * @public\n */\n writeExpr;\n /**\n * In some cases, a reference may be a type, value or both a type and value reference.\n */\n #referenceType;\n constructor(identifier, scope, flag, writeExpr, maybeImplicitGlobal, init, referenceType = ReferenceTypeFlag.Value) {\n this.identifier = identifier;\n this.from = scope;\n this.resolved = null;\n this.#flag = flag;\n if (this.isWrite()) {\n this.writeExpr = writeExpr;\n this.init = init;\n }\n this.maybeImplicitGlobal = maybeImplicitGlobal;\n this.#referenceType = referenceType;\n }\n /**\n * True if this reference can reference types\n */\n get isTypeReference() {\n return (this.#referenceType & ReferenceTypeFlag.Type) !== 0;\n }\n /**\n * True if this reference can reference values\n */\n get isValueReference() {\n return (this.#referenceType & ReferenceTypeFlag.Value) !== 0;\n }\n /**\n * Whether the reference is writeable.\n * @public\n */\n isWrite() {\n return !!(this.#flag & ReferenceFlag.Write);\n }\n /**\n * Whether the reference is readable.\n * @public\n */\n isRead() {\n return !!(this.#flag & ReferenceFlag.Read);\n }\n /**\n * Whether the reference is read-only.\n * @public\n */\n isReadOnly() {\n return this.#flag === ReferenceFlag.Read;\n }\n /**\n * Whether the reference is write-only.\n * @public\n */\n isWriteOnly() {\n return this.#flag === ReferenceFlag.Write;\n }\n /**\n * Whether the reference is read-write.\n * @public\n */\n isReadWrite() {\n return this.#flag === ReferenceFlag.ReadWrite;\n }\n}\nexports.Reference = Reference;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VariableBase = void 0;\nconst ID_1 = require(\"../ID\");\nconst generator = (0, ID_1.createIdGenerator)();\nclass VariableBase {\n /**\n * A unique ID for this instance - primarily used to help debugging and testing\n */\n $id = generator();\n /**\n * The array of the definitions of this variable.\n * @public\n */\n defs = [];\n /**\n * True if the variable is considered used for the purposes of `no-unused-vars`, false otherwise.\n * @public\n */\n eslintUsed = false;\n /**\n * The array of `Identifier` nodes which define this variable.\n * If this variable is redeclared, this array includes two or more nodes.\n * @public\n */\n identifiers = [];\n /**\n * The variable name, as given in the source code.\n * @public\n */\n name;\n /**\n * List of {@link Reference} of this variable (excluding parameter entries) in its defining scope and all nested scopes.\n * For defining occurrences only see {@link Variable#defs}.\n * @public\n */\n references = [];\n /**\n * Reference to the enclosing Scope.\n */\n scope;\n constructor(name, scope) {\n this.name = name;\n this.scope = scope;\n }\n}\nexports.VariableBase = VariableBase;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ESLintScopeVariable = void 0;\nconst VariableBase_1 = require(\"./VariableBase\");\n/**\n * ESLint defines global variables using the eslint-scope Variable class\n * This is declared here for consumers to use\n */\nclass ESLintScopeVariable extends VariableBase_1.VariableBase {\n /**\n * Written to by ESLint.\n * If this key exists, this variable is a global variable added by ESLint.\n * If this is `true`, this variable can be assigned arbitrary values.\n * If this is `false`, this variable is readonly.\n */\n writeable; // note that this isn't a typo - ESlint uses this spelling here\n /**\n * Written to by ESLint.\n * This property is undefined if there are no globals directive comments.\n * The array of globals directive comments which defined this global variable in the source code file.\n */\n eslintExplicitGlobal;\n /**\n * Written to by ESLint.\n * The configured value in config files. This can be different from `variable.writeable` if there are globals directive comments.\n */\n eslintImplicitGlobalSetting;\n /**\n * Written to by ESLint.\n * If this key exists, it is a global variable added by ESLint.\n * If `true`, this global variable was defined by a globals directive comment in the source code file.\n */\n eslintExplicitGlobalComments;\n}\nexports.ESLintScopeVariable = ESLintScopeVariable;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImplicitLibVariable = void 0;\nconst ESLintScopeVariable_1 = require(\"./ESLintScopeVariable\");\n/**\n * An variable implicitly defined by the TS Lib\n */\nclass ImplicitLibVariable extends ESLintScopeVariable_1.ESLintScopeVariable {\n /**\n * `true` if the variable is valid in a type context, false otherwise\n */\n isTypeVariable;\n /**\n * `true` if the variable is valid in a value context, false otherwise\n */\n isValueVariable;\n constructor(scope, name, { eslintImplicitGlobalSetting, isTypeVariable, isValueVariable, writeable, }) {\n super(name, scope);\n this.isTypeVariable = isTypeVariable ?? false;\n this.isValueVariable = isValueVariable ?? false;\n this.writeable = writeable ?? false;\n this.eslintImplicitGlobalSetting =\n eslintImplicitGlobalSetting ?? 'readonly';\n }\n}\nexports.ImplicitLibVariable = ImplicitLibVariable;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Variable = void 0;\nconst VariableBase_1 = require(\"./VariableBase\");\n/**\n * A Variable represents a locally scoped identifier. These include arguments to functions.\n */\nclass Variable extends VariableBase_1.VariableBase {\n /**\n * `true` if the variable is valid in a type context, false otherwise\n * @public\n */\n get isTypeVariable() {\n if (this.defs.length === 0) {\n // we don't statically know whether this is a type or a value\n return true;\n }\n return this.defs.some(def => def.isTypeDefinition);\n }\n /**\n * `true` if the variable is valid in a value context, false otherwise\n * @public\n */\n get isValueVariable() {\n if (this.defs.length === 0) {\n // we don't statically know whether this is a type or a value\n return true;\n }\n return this.defs.some(def => def.isVariableDefinition);\n }\n}\nexports.Variable = Variable;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Variable = exports.ImplicitLibVariable = exports.ESLintScopeVariable = void 0;\nvar ESLintScopeVariable_1 = require(\"./ESLintScopeVariable\");\nObject.defineProperty(exports, \"ESLintScopeVariable\", { enumerable: true, get: function () { return ESLintScopeVariable_1.ESLintScopeVariable; } });\nvar ImplicitLibVariable_1 = require(\"./ImplicitLibVariable\");\nObject.defineProperty(exports, \"ImplicitLibVariable\", { enumerable: true, get: function () { return ImplicitLibVariable_1.ImplicitLibVariable; } });\nvar Variable_1 = require(\"./Variable\");\nObject.defineProperty(exports, \"Variable\", { enumerable: true, get: function () { return Variable_1.Variable; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScopeType = void 0;\nvar ScopeType;\n(function (ScopeType) {\n ScopeType[\"block\"] = \"block\";\n ScopeType[\"catch\"] = \"catch\";\n ScopeType[\"class\"] = \"class\";\n ScopeType[\"classFieldInitializer\"] = \"class-field-initializer\";\n ScopeType[\"classStaticBlock\"] = \"class-static-block\";\n ScopeType[\"conditionalType\"] = \"conditionalType\";\n ScopeType[\"for\"] = \"for\";\n ScopeType[\"function\"] = \"function\";\n ScopeType[\"functionExpressionName\"] = \"function-expression-name\";\n ScopeType[\"functionType\"] = \"functionType\";\n ScopeType[\"global\"] = \"global\";\n ScopeType[\"mappedType\"] = \"mappedType\";\n ScopeType[\"module\"] = \"module\";\n ScopeType[\"switch\"] = \"switch\";\n ScopeType[\"tsEnum\"] = \"tsEnum\";\n ScopeType[\"tsModule\"] = \"tsModule\";\n ScopeType[\"type\"] = \"type\";\n ScopeType[\"with\"] = \"with\";\n})(ScopeType || (exports.ScopeType = ScopeType = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScopeBase = void 0;\nconst types_1 = require(\"@typescript-eslint/types\");\nconst assert_1 = require(\"../assert\");\nconst definition_1 = require(\"../definition\");\nconst ID_1 = require(\"../ID\");\nconst Reference_1 = require(\"../referencer/Reference\");\nconst variable_1 = require(\"../variable\");\nconst ScopeType_1 = require(\"./ScopeType\");\n/**\n * Test if scope is strict\n */\nfunction isStrictScope(scope, block, isMethodDefinition) {\n let body;\n // When upper scope is exists and strict, inner scope is also strict.\n if (scope.upper?.isStrict) {\n return true;\n }\n if (isMethodDefinition) {\n return true;\n }\n if (scope.type === ScopeType_1.ScopeType.class ||\n scope.type === ScopeType_1.ScopeType.conditionalType ||\n scope.type === ScopeType_1.ScopeType.functionType ||\n scope.type === ScopeType_1.ScopeType.mappedType ||\n scope.type === ScopeType_1.ScopeType.module ||\n scope.type === ScopeType_1.ScopeType.tsEnum ||\n scope.type === ScopeType_1.ScopeType.tsModule ||\n scope.type === ScopeType_1.ScopeType.type) {\n return true;\n }\n if (scope.type === ScopeType_1.ScopeType.block || scope.type === ScopeType_1.ScopeType.switch) {\n return false;\n }\n if (scope.type === ScopeType_1.ScopeType.function) {\n const functionBody = block;\n switch (functionBody.type) {\n case types_1.AST_NODE_TYPES.ArrowFunctionExpression:\n if (functionBody.body.type !== types_1.AST_NODE_TYPES.BlockStatement) {\n return false;\n }\n body = functionBody.body;\n break;\n case types_1.AST_NODE_TYPES.Program:\n body = functionBody;\n break;\n default:\n body = functionBody.body;\n }\n if (!body) {\n return false;\n }\n }\n else if (scope.type === ScopeType_1.ScopeType.global) {\n body = block;\n }\n else {\n return false;\n }\n // Search 'use strict' directive.\n for (const stmt of body.body) {\n if (stmt.type !== types_1.AST_NODE_TYPES.ExpressionStatement) {\n break;\n }\n if (stmt.directive === 'use strict') {\n return true;\n }\n const expr = stmt.expression;\n if (expr.type !== types_1.AST_NODE_TYPES.Literal) {\n break;\n }\n if (expr.raw === '\"use strict\"' || expr.raw === \"'use strict'\") {\n return true;\n }\n if (expr.value === 'use strict') {\n return true;\n }\n }\n return false;\n}\nfunction registerScope(scopeManager, scope) {\n scopeManager.scopes.push(scope);\n const scopes = scopeManager.nodeToScope.get(scope.block);\n if (scopes) {\n scopes.push(scope);\n }\n else {\n scopeManager.nodeToScope.set(scope.block, [scope]);\n }\n}\nconst generator = (0, ID_1.createIdGenerator)();\nconst VARIABLE_SCOPE_TYPES = new Set([\n ScopeType_1.ScopeType.classFieldInitializer,\n ScopeType_1.ScopeType.classStaticBlock,\n ScopeType_1.ScopeType.function,\n ScopeType_1.ScopeType.global,\n ScopeType_1.ScopeType.module,\n ScopeType_1.ScopeType.tsModule,\n]);\nclass ScopeBase {\n /**\n * A unique ID for this instance - primarily used to help debugging and testing\n */\n $id = generator();\n /**\n * The AST node which created this scope.\n * @public\n */\n block;\n /**\n * The array of child scopes. This does not include grandchild scopes.\n * @public\n */\n childScopes = [];\n /**\n * A map of the variables for each node in this scope.\n * This is map is a pointer to the one in the parent ScopeManager instance\n */\n #declaredVariables;\n /**\n * Generally, through the lexical scoping of JS you can always know which variable an identifier in the source code\n * refers to. There are a few exceptions to this rule. With `global` and `with` scopes you can only decide at runtime\n * which variable a reference refers to.\n * All those scopes are considered \"dynamic\".\n */\n #dynamic;\n /**\n * Whether this scope is created by a FunctionExpression.\n * @public\n */\n functionExpressionScope = false;\n /**\n * Whether 'use strict' is in effect in this scope.\n * @public\n */\n isStrict;\n /**\n * List of {@link Reference}s that are left to be resolved (i.e. which\n * need to be linked to the variable they refer to).\n */\n leftToResolve = [];\n /**\n * Any variable {@link Reference} found in this scope.\n * This includes occurrences of local variables as well as variables from parent scopes (including the global scope).\n * For local variables this also includes defining occurrences (like in a 'var' statement).\n * In a 'function' scope this does not include the occurrences of the formal parameter in the parameter list.\n * @public\n */\n references = [];\n /**\n * The map from variable names to variable objects.\n * @public\n */\n set = new Map();\n /**\n * The {@link Reference}s that are not resolved with this scope.\n * @public\n */\n through = [];\n type;\n /**\n * Reference to the parent {@link Scope}.\n * @public\n */\n upper;\n /**\n * The scoped {@link Variable}s of this scope.\n * In the case of a 'function' scope this includes the automatic argument `arguments` as its first element, as well\n * as all further formal arguments.\n * This does not include variables which are defined in child scopes.\n * @public\n */\n variables = [];\n /**\n * For scopes that can contain variable declarations, this is a self-reference.\n * For other scope types this is the *variableScope* value of the parent scope.\n * @public\n */\n #dynamicCloseRef = (ref) => {\n // notify all names are through to global\n let current = this;\n do {\n /* eslint-disable @typescript-eslint/no-non-null-assertion */\n current.through.push(ref);\n current = current.upper;\n /* eslint-enable @typescript-eslint/no-non-null-assertion */\n } while (current);\n };\n #globalCloseRef = (ref, scopeManager) => {\n // let/const/class declarations should be resolved statically.\n // others should be resolved dynamically.\n if (this.shouldStaticallyCloseForGlobal(ref, scopeManager)) {\n this.#staticCloseRef(ref);\n }\n else {\n this.#dynamicCloseRef(ref);\n }\n };\n #staticCloseRef = (ref) => {\n const resolve = () => {\n const name = ref.identifier.name;\n const variable = this.set.get(name);\n if (!variable) {\n return false;\n }\n if (!this.isValidResolution(ref, variable)) {\n return false;\n }\n // make sure we don't match a type reference to a value variable\n const isValidTypeReference = ref.isTypeReference && variable.isTypeVariable;\n const isValidValueReference = ref.isValueReference && variable.isValueVariable;\n if (!isValidTypeReference && !isValidValueReference) {\n return false;\n }\n variable.references.push(ref);\n ref.resolved = variable;\n return true;\n };\n if (!resolve()) {\n this.delegateToUpperScope(ref);\n }\n };\n variableScope;\n constructor(scopeManager, type, upperScope, block, isMethodDefinition) {\n const upperScopeAsScopeBase = upperScope;\n this.type = type;\n this.#dynamic =\n this.type === ScopeType_1.ScopeType.global || this.type === ScopeType_1.ScopeType.with;\n this.block = block;\n this.variableScope = this.isVariableScope()\n ? this\n : // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n upperScopeAsScopeBase.variableScope;\n this.upper = upperScope;\n /**\n * Whether 'use strict' is in effect in this scope.\n * @member {boolean} Scope#isStrict\n */\n this.isStrict = isStrictScope(this, block, isMethodDefinition);\n // this is guaranteed to be correct at runtime\n upperScopeAsScopeBase?.childScopes.push(this);\n this.#declaredVariables = scopeManager.declaredVariables;\n registerScope(scopeManager, this);\n }\n isVariableScope() {\n return VARIABLE_SCOPE_TYPES.has(this.type);\n }\n shouldStaticallyCloseForGlobal(ref, scopeManager) {\n // On global scope, let/const/class declarations should be resolved statically.\n const name = ref.identifier.name;\n const variable = this.set.get(name);\n if (!variable) {\n return false;\n }\n // variable exists on the scope\n // in module mode, we can statically resolve everything, regardless of its decl type\n if (scopeManager.isModule()) {\n return true;\n }\n // in script mode, only certain cases should be statically resolved\n // Example:\n // a `var` decl is ignored by the runtime if it clashes with a global name\n // this means that we should not resolve the reference to the variable\n const defs = variable.defs;\n return (defs.length > 0 &&\n defs.every(def => {\n if (def.type === definition_1.DefinitionType.Variable && def.parent.kind === 'var') {\n return false;\n }\n return true;\n }));\n }\n close(scopeManager) {\n let closeRef;\n if (this.shouldStaticallyClose()) {\n closeRef = this.#staticCloseRef;\n }\n else if (this.type !== 'global') {\n closeRef = this.#dynamicCloseRef;\n }\n else {\n closeRef = this.#globalCloseRef;\n }\n // Try Resolving all references in this scope.\n (0, assert_1.assert)(this.leftToResolve);\n this.leftToResolve.forEach(ref => closeRef(ref, scopeManager));\n this.leftToResolve = null;\n return this.upper;\n }\n shouldStaticallyClose() {\n return !this.#dynamic;\n }\n /**\n * To override by function scopes.\n * References in default parameters isn't resolved to variables which are in their function body.\n */\n defineVariable(nameOrVariable, set, variables, node, def) {\n const name = typeof nameOrVariable === 'string' ? nameOrVariable : nameOrVariable.name;\n let variable = set.get(name);\n if (!variable) {\n variable =\n typeof nameOrVariable === 'string'\n ? new variable_1.Variable(name, this)\n : nameOrVariable;\n set.set(name, variable);\n variables.push(variable);\n }\n if (def) {\n variable.defs.push(def);\n this.addDeclaredVariablesOfNode(variable, def.node);\n this.addDeclaredVariablesOfNode(variable, def.parent);\n }\n if (node) {\n variable.identifiers.push(node);\n }\n }\n delegateToUpperScope(ref) {\n this.upper?.leftToResolve?.push(ref);\n this.through.push(ref);\n }\n isValidResolution(_ref, _variable) {\n return true;\n }\n addDeclaredVariablesOfNode(variable, node) {\n if (node == null) {\n return;\n }\n let variables = this.#declaredVariables.get(node);\n if (variables == null) {\n variables = [];\n this.#declaredVariables.set(node, variables);\n }\n if (!variables.includes(variable)) {\n variables.push(variable);\n }\n }\n defineIdentifier(node, def) {\n this.defineVariable(node.name, this.set, this.variables, node, def);\n }\n defineLiteralIdentifier(node, def) {\n this.defineVariable(node.value, this.set, this.variables, null, def);\n }\n referenceDualValueType(node) {\n const ref = new Reference_1.Reference(node, this, Reference_1.ReferenceFlag.Read, null, null, false, Reference_1.ReferenceTypeFlag.Type | Reference_1.ReferenceTypeFlag.Value);\n this.references.push(ref);\n this.leftToResolve?.push(ref);\n }\n referenceType(node) {\n const ref = new Reference_1.Reference(node, this, Reference_1.ReferenceFlag.Read, null, null, false, Reference_1.ReferenceTypeFlag.Type);\n this.references.push(ref);\n this.leftToResolve?.push(ref);\n }\n referenceValue(node, assign = Reference_1.ReferenceFlag.Read, writeExpr, maybeImplicitGlobal, init = false) {\n const ref = new Reference_1.Reference(node, this, assign, writeExpr, maybeImplicitGlobal, init, Reference_1.ReferenceTypeFlag.Value);\n this.references.push(ref);\n this.leftToResolve?.push(ref);\n }\n}\nexports.ScopeBase = ScopeBase;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BlockScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass BlockScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.block, upperScope, block, false);\n }\n}\nexports.BlockScope = BlockScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CatchScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass CatchScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.catch, upperScope, block, false);\n }\n}\nexports.CatchScope = CatchScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ClassFieldInitializerScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass ClassFieldInitializerScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.classFieldInitializer, upperScope, block, false);\n }\n}\nexports.ClassFieldInitializerScope = ClassFieldInitializerScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ClassScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass ClassScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.class, upperScope, block, false);\n }\n}\nexports.ClassScope = ClassScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConditionalTypeScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass ConditionalTypeScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.conditionalType, upperScope, block, false);\n }\n}\nexports.ConditionalTypeScope = ConditionalTypeScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ForScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass ForScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.for, upperScope, block, false);\n }\n}\nexports.ForScope = ForScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FunctionExpressionNameScope = void 0;\nconst definition_1 = require(\"../definition\");\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass FunctionExpressionNameScope extends ScopeBase_1.ScopeBase {\n functionExpressionScope;\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.functionExpressionName, upperScope, block, false);\n if (block.id) {\n this.defineIdentifier(block.id, new definition_1.FunctionNameDefinition(block.id, block));\n }\n this.functionExpressionScope = true;\n }\n}\nexports.FunctionExpressionNameScope = FunctionExpressionNameScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FunctionScope = void 0;\nconst types_1 = require(\"@typescript-eslint/types\");\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass FunctionScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block, isMethodDefinition) {\n super(scopeManager, ScopeType_1.ScopeType.function, upperScope, block, isMethodDefinition);\n // section 9.2.13, FunctionDeclarationInstantiation.\n // NOTE Arrow functions never have an arguments objects.\n if (this.block.type !== types_1.AST_NODE_TYPES.ArrowFunctionExpression) {\n this.defineVariable('arguments', this.set, this.variables, null, null);\n }\n }\n // References in default parameters isn't resolved to variables which are in their function body.\n // const x = 1\n // function f(a = x) { // This `x` is resolved to the `x` in the outer scope.\n // const x = 2\n // console.log(a)\n // }\n isValidResolution(ref, variable) {\n // If `options.globalReturn` is true, `this.block` becomes a Program node.\n if (this.block.type === types_1.AST_NODE_TYPES.Program) {\n return true;\n }\n const bodyStart = this.block.body?.range[0] ?? -1;\n // It's invalid resolution in the following case:\n return !((variable.scope === this &&\n ref.identifier.range[0] < bodyStart && // the reference is in the parameter part.\n variable.defs.every(d => d.name.range[0] >= bodyStart)) // the variable is in the body.\n );\n }\n}\nexports.FunctionScope = FunctionScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FunctionTypeScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass FunctionTypeScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.functionType, upperScope, block, false);\n }\n}\nexports.FunctionTypeScope = FunctionTypeScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GlobalScope = void 0;\nconst types_1 = require(\"@typescript-eslint/types\");\nconst assert_1 = require(\"../assert\");\nconst ImplicitGlobalVariableDefinition_1 = require(\"../definition/ImplicitGlobalVariableDefinition\");\nconst variable_1 = require(\"../variable\");\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass GlobalScope extends ScopeBase_1.ScopeBase {\n // note this is accessed in used in the legacy eslint-scope tests, so it can't be true private\n implicit;\n constructor(scopeManager, block) {\n super(scopeManager, ScopeType_1.ScopeType.global, null, block, false);\n this.implicit = {\n leftToBeResolved: [],\n set: new Map(),\n variables: [],\n };\n }\n close(scopeManager) {\n (0, assert_1.assert)(this.leftToResolve);\n for (const ref of this.leftToResolve) {\n if (ref.maybeImplicitGlobal && !this.set.has(ref.identifier.name)) {\n // create an implicit global variable from assignment expression\n const info = ref.maybeImplicitGlobal;\n const node = info.pattern;\n if (node.type === types_1.AST_NODE_TYPES.Identifier) {\n this.defineVariable(node.name, this.implicit.set, this.implicit.variables, node, new ImplicitGlobalVariableDefinition_1.ImplicitGlobalVariableDefinition(info.pattern, info.node));\n }\n }\n }\n this.implicit.leftToBeResolved = this.leftToResolve;\n return super.close(scopeManager);\n }\n defineImplicitVariable(name, options) {\n this.defineVariable(new variable_1.ImplicitLibVariable(this, name, options), this.set, this.variables, null, null);\n }\n}\nexports.GlobalScope = GlobalScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MappedTypeScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass MappedTypeScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.mappedType, upperScope, block, false);\n }\n}\nexports.MappedTypeScope = MappedTypeScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ModuleScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass ModuleScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.module, upperScope, block, false);\n }\n}\nexports.ModuleScope = ModuleScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SwitchScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass SwitchScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.switch, upperScope, block, false);\n }\n}\nexports.SwitchScope = SwitchScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TSEnumScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass TSEnumScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.tsEnum, upperScope, block, false);\n }\n}\nexports.TSEnumScope = TSEnumScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TSModuleScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass TSModuleScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.tsModule, upperScope, block, false);\n }\n}\nexports.TSModuleScope = TSModuleScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass TypeScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.type, upperScope, block, false);\n }\n}\nexports.TypeScope = TypeScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WithScope = void 0;\nconst assert_1 = require(\"../assert\");\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass WithScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.with, upperScope, block, false);\n }\n close(scopeManager) {\n if (this.shouldStaticallyClose()) {\n return super.close(scopeManager);\n }\n (0, assert_1.assert)(this.leftToResolve);\n this.leftToResolve.forEach(ref => this.delegateToUpperScope(ref));\n this.leftToResolve = null;\n return this.upper;\n }\n}\nexports.WithScope = WithScope;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./BlockScope\"), exports);\n__exportStar(require(\"./CatchScope\"), exports);\n__exportStar(require(\"./ClassFieldInitializerScope\"), exports);\n__exportStar(require(\"./ClassScope\"), exports);\n__exportStar(require(\"./ConditionalTypeScope\"), exports);\n__exportStar(require(\"./ForScope\"), exports);\n__exportStar(require(\"./FunctionExpressionNameScope\"), exports);\n__exportStar(require(\"./FunctionScope\"), exports);\n__exportStar(require(\"./FunctionTypeScope\"), exports);\n__exportStar(require(\"./GlobalScope\"), exports);\n__exportStar(require(\"./MappedTypeScope\"), exports);\n__exportStar(require(\"./ModuleScope\"), exports);\n__exportStar(require(\"./Scope\"), exports);\n__exportStar(require(\"./ScopeType\"), exports);\n__exportStar(require(\"./SwitchScope\"), exports);\n__exportStar(require(\"./TSEnumScope\"), exports);\n__exportStar(require(\"./TSModuleScope\"), exports);\n__exportStar(require(\"./TypeScope\"), exports);\n__exportStar(require(\"./WithScope\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VisitorBase = void 0;\nconst visitor_keys_1 = require(\"@typescript-eslint/visitor-keys\");\nfunction isObject(obj) {\n return typeof obj === 'object' && obj != null;\n}\nfunction isNode(node) {\n return isObject(node) && typeof node.type === 'string';\n}\nclass VisitorBase {\n #childVisitorKeys;\n #visitChildrenEvenIfSelectorExists;\n constructor(options) {\n this.#childVisitorKeys = options.childVisitorKeys ?? visitor_keys_1.visitorKeys;\n this.#visitChildrenEvenIfSelectorExists =\n options.visitChildrenEvenIfSelectorExists ?? false;\n }\n /**\n * Default method for visiting children.\n * @param node the node whose children should be visited\n * @param excludeArr a list of keys to not visit\n */\n visitChildren(node, excludeArr = []) {\n if (node?.type == null) {\n return;\n }\n const exclude = new Set([...excludeArr, 'parent']);\n const children = this.#childVisitorKeys[node.type] ?? Object.keys(node);\n for (const key of children) {\n if (exclude.has(key)) {\n continue;\n }\n const child = node[key];\n if (!child) {\n continue;\n }\n if (Array.isArray(child)) {\n for (const subChild of child) {\n if (isNode(subChild)) {\n this.visit(subChild);\n }\n }\n }\n else if (isNode(child)) {\n this.visit(child);\n }\n }\n }\n /**\n * Dispatching node.\n */\n visit(node) {\n if (node?.type == null) {\n return;\n }\n const visitor = this[node.type];\n if (visitor) {\n visitor.call(this, node);\n if (!this.#visitChildrenEvenIfSelectorExists) {\n return;\n }\n }\n this.visitChildren(node);\n }\n}\nexports.VisitorBase = VisitorBase;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PatternVisitor = void 0;\nconst types_1 = require(\"@typescript-eslint/types\");\nconst VisitorBase_1 = require(\"./VisitorBase\");\nclass PatternVisitor extends VisitorBase_1.VisitorBase {\n #assignments = [];\n #callback;\n #restElements = [];\n #rootPattern;\n rightHandNodes = [];\n constructor(options, rootPattern, callback) {\n super(options);\n this.#rootPattern = rootPattern;\n this.#callback = callback;\n }\n static isPattern(node) {\n const nodeType = node.type;\n return (nodeType === types_1.AST_NODE_TYPES.Identifier ||\n nodeType === types_1.AST_NODE_TYPES.ObjectPattern ||\n nodeType === types_1.AST_NODE_TYPES.ArrayPattern ||\n nodeType === types_1.AST_NODE_TYPES.SpreadElement ||\n nodeType === types_1.AST_NODE_TYPES.RestElement ||\n nodeType === types_1.AST_NODE_TYPES.AssignmentPattern);\n }\n ArrayExpression(node) {\n node.elements.forEach(this.visit, this);\n }\n ArrayPattern(pattern) {\n for (const element of pattern.elements) {\n this.visit(element);\n }\n }\n AssignmentExpression(node) {\n this.#assignments.push(node);\n this.visit(node.left);\n this.rightHandNodes.push(node.right);\n this.#assignments.pop();\n }\n AssignmentPattern(pattern) {\n this.#assignments.push(pattern);\n this.visit(pattern.left);\n this.rightHandNodes.push(pattern.right);\n this.#assignments.pop();\n }\n CallExpression(node) {\n // arguments are right hand nodes.\n node.arguments.forEach(a => {\n this.rightHandNodes.push(a);\n });\n this.visit(node.callee);\n }\n Decorator() {\n // don't visit any decorators when exploring a pattern\n }\n Identifier(pattern) {\n const lastRestElement = this.#restElements.at(-1);\n this.#callback(pattern, {\n assignments: this.#assignments,\n rest: lastRestElement?.argument === pattern,\n topLevel: pattern === this.#rootPattern,\n });\n }\n MemberExpression(node) {\n // Computed property's key is a right hand node.\n if (node.computed) {\n this.rightHandNodes.push(node.property);\n }\n // the object is only read, write to its property.\n this.rightHandNodes.push(node.object);\n }\n Property(property) {\n // Computed property's key is a right hand node.\n if (property.computed) {\n this.rightHandNodes.push(property.key);\n }\n // If it's shorthand, its key is same as its value.\n // If it's shorthand and has its default value, its key is same as its value.left (the value is AssignmentPattern).\n // If it's not shorthand, the name of new variable is its value's.\n this.visit(property.value);\n }\n RestElement(pattern) {\n this.#restElements.push(pattern);\n this.visit(pattern.argument);\n this.#restElements.pop();\n }\n SpreadElement(node) {\n this.visit(node.argument);\n }\n TSTypeAnnotation() {\n // we don't want to visit types\n }\n}\nexports.PatternVisitor = PatternVisitor;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VisitorBase = exports.Visitor = void 0;\nconst PatternVisitor_1 = require(\"./PatternVisitor\");\nconst VisitorBase_1 = require(\"./VisitorBase\");\nclass Visitor extends VisitorBase_1.VisitorBase {\n #options;\n constructor(optionsOrVisitor) {\n super(optionsOrVisitor instanceof Visitor\n ? optionsOrVisitor.#options\n : optionsOrVisitor);\n this.#options =\n optionsOrVisitor instanceof Visitor\n ? optionsOrVisitor.#options\n : optionsOrVisitor;\n }\n visitPattern(node, callback, options = { processRightHandNodes: false }) {\n // Call the callback at left hand identifier nodes, and Collect right hand nodes.\n const visitor = new PatternVisitor_1.PatternVisitor(this.#options, node, callback);\n visitor.visit(node);\n // Process the right hand nodes recursively.\n if (options.processRightHandNodes) {\n visitor.rightHandNodes.forEach(this.visit, this);\n }\n }\n}\nexports.Visitor = Visitor;\nvar VisitorBase_2 = require(\"./VisitorBase\");\nObject.defineProperty(exports, \"VisitorBase\", { enumerable: true, get: function () { return VisitorBase_2.VisitorBase; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TypeVisitor = void 0;\nconst types_1 = require(\"@typescript-eslint/types\");\nconst definition_1 = require(\"../definition\");\nconst scope_1 = require(\"../scope\");\nconst Visitor_1 = require(\"./Visitor\");\nclass TypeVisitor extends Visitor_1.Visitor {\n #referencer;\n constructor(referencer) {\n super(referencer);\n this.#referencer = referencer;\n }\n static visit(referencer, node) {\n const typeReferencer = new TypeVisitor(referencer);\n typeReferencer.visit(node);\n }\n ///////////////////\n // Visit helpers //\n ///////////////////\n visitFunctionType(node) {\n // arguments and type parameters can only be referenced from within the function\n this.#referencer.scopeManager.nestFunctionTypeScope(node);\n this.visit(node.typeParameters);\n for (const param of node.params) {\n let didVisitAnnotation = false;\n this.visitPattern(param, (pattern, info) => {\n // a parameter name creates a value type variable which can be referenced later via typeof arg\n this.#referencer\n .currentScope()\n .defineIdentifier(pattern, new definition_1.ParameterDefinition(pattern, node, info.rest));\n if (pattern.typeAnnotation) {\n this.visit(pattern.typeAnnotation);\n didVisitAnnotation = true;\n }\n });\n // there are a few special cases where the type annotation is owned by the parameter, not the pattern\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!didVisitAnnotation && 'typeAnnotation' in param) {\n this.visit(param.typeAnnotation);\n }\n }\n this.visit(node.returnType);\n this.#referencer.close(node);\n }\n visitPropertyKey(node) {\n if (!node.computed) {\n return;\n }\n // computed members are treated as value references, and TS expects they have a literal type\n this.#referencer.visit(node.key);\n }\n /////////////////////\n // Visit selectors //\n /////////////////////\n Identifier(node) {\n this.#referencer.currentScope().referenceType(node);\n }\n MemberExpression(node) {\n this.visit(node.object);\n // don't visit the property\n }\n TSCallSignatureDeclaration(node) {\n this.visitFunctionType(node);\n }\n TSConditionalType(node) {\n // conditional types can define inferred type parameters\n // which are only accessible from inside the conditional parameter\n this.#referencer.scopeManager.nestConditionalTypeScope(node);\n // type parameters inferred in the condition clause are not accessible within the false branch\n this.visitChildren(node, ['falseType']);\n this.#referencer.close(node);\n this.visit(node.falseType);\n }\n TSConstructorType(node) {\n this.visitFunctionType(node);\n }\n TSConstructSignatureDeclaration(node) {\n this.visitFunctionType(node);\n }\n TSFunctionType(node) {\n this.visitFunctionType(node);\n }\n TSImportType(node) {\n // the TS parser allows any type to be the parameter, but it's a syntax error - so we can ignore it\n this.visit(node.typeArguments);\n // the qualifier is just part of a standard EntityName, so it should not be visited\n }\n TSIndexSignature(node) {\n for (const param of node.parameters) {\n if (param.type === types_1.AST_NODE_TYPES.Identifier) {\n this.visit(param.typeAnnotation);\n }\n }\n this.visit(node.typeAnnotation);\n }\n TSInferType(node) {\n const typeParameter = node.typeParameter;\n let scope = this.#referencer.currentScope();\n /*\n In cases where there is a sub-type scope created within a conditional type, then the generic should be defined in the\n conditional type's scope, not the child type scope.\n If we define it within the child type's scope then it won't be able to be referenced outside the child type\n */\n if (scope.type === scope_1.ScopeType.functionType ||\n scope.type === scope_1.ScopeType.mappedType) {\n // search up the scope tree to figure out if we're in a nested type scope\n let currentScope = scope.upper;\n while (currentScope) {\n if (currentScope.type === scope_1.ScopeType.functionType ||\n currentScope.type === scope_1.ScopeType.mappedType) {\n // ensure valid type parents only\n currentScope = currentScope.upper;\n continue;\n }\n if (currentScope.type === scope_1.ScopeType.conditionalType) {\n scope = currentScope;\n break;\n }\n break;\n }\n }\n scope.defineIdentifier(typeParameter.name, new definition_1.TypeDefinition(typeParameter.name, typeParameter));\n this.visit(typeParameter.constraint);\n }\n TSInterfaceDeclaration(node) {\n this.#referencer\n .currentScope()\n .defineIdentifier(node.id, new definition_1.TypeDefinition(node.id, node));\n if (node.typeParameters) {\n // type parameters cannot be referenced from outside their current scope\n this.#referencer.scopeManager.nestTypeScope(node);\n this.visit(node.typeParameters);\n }\n node.extends.forEach(this.visit, this);\n this.visit(node.body);\n if (node.typeParameters) {\n this.#referencer.close(node);\n }\n }\n TSMappedType(node) {\n // mapped types key can only be referenced within their return value\n this.#referencer.scopeManager.nestMappedTypeScope(node);\n this.#referencer\n .currentScope()\n .defineIdentifier(node.key, new definition_1.TypeDefinition(node.key, node));\n this.visit(node.constraint);\n this.visit(node.nameType);\n this.visit(node.typeAnnotation);\n this.#referencer.close(node);\n }\n TSMethodSignature(node) {\n this.visitPropertyKey(node);\n this.visitFunctionType(node);\n }\n TSNamedTupleMember(node) {\n this.visit(node.elementType);\n // we don't visit the label as the label only exists for the purposes of documentation\n }\n TSPropertySignature(node) {\n this.visitPropertyKey(node);\n this.visit(node.typeAnnotation);\n }\n TSQualifiedName(node) {\n this.visit(node.left);\n // we don't visit the right as it a name on the thing, not a name to reference\n }\n TSTypeAliasDeclaration(node) {\n this.#referencer\n .currentScope()\n .defineIdentifier(node.id, new definition_1.TypeDefinition(node.id, node));\n if (node.typeParameters) {\n // type parameters cannot be referenced from outside their current scope\n this.#referencer.scopeManager.nestTypeScope(node);\n this.visit(node.typeParameters);\n }\n this.visit(node.typeAnnotation);\n if (node.typeParameters) {\n this.#referencer.close(node);\n }\n }\n TSTypeParameter(node) {\n this.#referencer\n .currentScope()\n .defineIdentifier(node.name, new definition_1.TypeDefinition(node.name, node));\n this.visit(node.constraint);\n this.visit(node.default);\n }\n TSTypePredicate(node) {\n if (node.parameterName.type !== types_1.AST_NODE_TYPES.TSThisType) {\n this.#referencer.currentScope().referenceValue(node.parameterName);\n }\n this.visit(node.typeAnnotation);\n }\n // a type query `typeof foo` is a special case that references a _non-type_ variable,\n TSTypeAnnotation(node) {\n // check\n this.visitChildren(node);\n }\n TSTypeQuery(node) {\n let entityName;\n if (node.exprName.type === types_1.AST_NODE_TYPES.TSQualifiedName) {\n let iter = node.exprName;\n while (iter.left.type === types_1.AST_NODE_TYPES.TSQualifiedName) {\n iter = iter.left;\n }\n entityName = iter.left;\n }\n else {\n entityName = node.exprName;\n if (node.exprName.type === types_1.AST_NODE_TYPES.TSImportType) {\n this.visit(node.exprName);\n }\n }\n if (entityName.type === types_1.AST_NODE_TYPES.Identifier) {\n this.#referencer.currentScope().referenceValue(entityName);\n }\n this.visit(node.typeArguments);\n }\n}\nexports.TypeVisitor = TypeVisitor;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ClassVisitor = void 0;\nconst types_1 = require(\"@typescript-eslint/types\");\nconst definition_1 = require(\"../definition\");\nconst TypeVisitor_1 = require(\"./TypeVisitor\");\nconst Visitor_1 = require(\"./Visitor\");\nclass ClassVisitor extends Visitor_1.Visitor {\n #classNode;\n #referencer;\n constructor(referencer, node) {\n super(referencer);\n this.#referencer = referencer;\n this.#classNode = node;\n }\n static visit(referencer, node) {\n const classVisitor = new ClassVisitor(referencer, node);\n classVisitor.visitClass(node);\n }\n visit(node) {\n // make sure we only handle the nodes we are designed to handle\n if (node && node.type in this) {\n super.visit(node);\n }\n else {\n this.#referencer.visit(node);\n }\n }\n ///////////////////\n // Visit helpers //\n ///////////////////\n visitClass(node) {\n if (node.type === types_1.AST_NODE_TYPES.ClassDeclaration && node.id) {\n this.#referencer\n .currentScope()\n .defineIdentifier(node.id, new definition_1.ClassNameDefinition(node.id, node));\n }\n node.decorators.forEach(d => this.#referencer.visit(d));\n this.#referencer.scopeManager.nestClassScope(node);\n if (node.id) {\n // define the class name again inside the new scope\n // references to the class should not resolve directly to the parent class\n this.#referencer\n .currentScope()\n .defineIdentifier(node.id, new definition_1.ClassNameDefinition(node.id, node));\n }\n this.#referencer.visit(node.superClass);\n // visit the type param declarations\n this.visitType(node.typeParameters);\n // then the usages\n this.visitType(node.superTypeArguments);\n node.implements.forEach(imp => this.visitType(imp));\n this.visit(node.body);\n this.#referencer.close(node);\n }\n visitFunctionParameterTypeAnnotation(node) {\n switch (node.type) {\n case types_1.AST_NODE_TYPES.AssignmentPattern:\n this.visitType(node.left.typeAnnotation);\n break;\n case types_1.AST_NODE_TYPES.TSParameterProperty:\n this.visitFunctionParameterTypeAnnotation(node.parameter);\n break;\n default:\n this.visitType(node.typeAnnotation);\n }\n }\n visitMethod(node) {\n if (node.computed) {\n this.#referencer.visit(node.key);\n }\n if (node.value.type === types_1.AST_NODE_TYPES.FunctionExpression) {\n this.visitMethodFunction(node.value, node);\n }\n else {\n this.#referencer.visit(node.value);\n }\n node.decorators.forEach(d => this.#referencer.visit(d));\n }\n visitMethodFunction(node, methodNode) {\n if (node.id) {\n // FunctionExpression with name creates its special scope;\n // FunctionExpressionNameScope.\n this.#referencer.scopeManager.nestFunctionExpressionNameScope(node);\n }\n node.params.forEach(param => {\n param.decorators.forEach(d => this.visit(d));\n });\n // Consider this function is in the MethodDefinition.\n this.#referencer.scopeManager.nestFunctionScope(node, true);\n /**\n * class A {\n * @meta // <--- check this\n * foo(a: Type) {}\n *\n * @meta // <--- check this\n * foo(): Type {}\n * }\n */\n let withMethodDecorators = !!methodNode.decorators.length;\n /**\n * class A {\n * foo(\n * @meta // <--- check this\n * a: Type\n * ) {}\n *\n * set foo(\n * @meta // <--- EXCEPT this. TS do nothing for this\n * a: Type\n * ) {}\n * }\n */\n withMethodDecorators ||=\n methodNode.kind !== 'set' &&\n node.params.some(param => param.decorators.length);\n if (!withMethodDecorators && methodNode.kind === 'set') {\n const keyName = getLiteralMethodKeyName(methodNode);\n /**\n * class A {\n * @meta // <--- check this\n * get a() {}\n * set ['a'](v: Type) {}\n * }\n */\n if (keyName != null &&\n this.#classNode.body.body.find((node) => node !== methodNode &&\n node.type === types_1.AST_NODE_TYPES.MethodDefinition &&\n // Node must both be static or not\n node.static === methodNode.static &&\n getLiteralMethodKeyName(node) === keyName)?.decorators.length) {\n withMethodDecorators = true;\n }\n }\n /**\n * @meta // <--- check this\n * class A {\n * constructor(a: Type) {}\n * }\n */\n if (!withMethodDecorators &&\n methodNode.kind === 'constructor' &&\n this.#classNode.decorators.length) {\n withMethodDecorators = true;\n }\n // Process parameter declarations.\n for (const param of node.params) {\n this.visitPattern(param, (pattern, info) => {\n this.#referencer\n .currentScope()\n .defineIdentifier(pattern, new definition_1.ParameterDefinition(pattern, node, info.rest));\n this.#referencer.referencingDefaultValue(pattern, info.assignments, null, true);\n }, { processRightHandNodes: true });\n this.visitFunctionParameterTypeAnnotation(param);\n }\n this.visitType(node.returnType);\n this.visitType(node.typeParameters);\n this.#referencer.visitChildren(node.body);\n this.#referencer.close(node);\n }\n visitPropertyBase(node) {\n if (node.computed) {\n this.#referencer.visit(node.key);\n }\n if (node.value) {\n if (node.type === types_1.AST_NODE_TYPES.PropertyDefinition ||\n node.type === types_1.AST_NODE_TYPES.AccessorProperty) {\n this.#referencer.scopeManager.nestClassFieldInitializerScope(node.value);\n }\n this.#referencer.visit(node.value);\n if (node.type === types_1.AST_NODE_TYPES.PropertyDefinition ||\n node.type === types_1.AST_NODE_TYPES.AccessorProperty) {\n this.#referencer.close(node.value);\n }\n }\n node.decorators.forEach(d => this.#referencer.visit(d));\n }\n visitPropertyDefinition(node) {\n this.visitPropertyBase(node);\n /**\n * class A {\n * @meta // <--- check this\n * foo: Type;\n * }\n */\n this.visitType(node.typeAnnotation);\n }\n visitType(node) {\n if (!node) {\n return;\n }\n TypeVisitor_1.TypeVisitor.visit(this.#referencer, node);\n }\n /////////////////////\n // Visit selectors //\n /////////////////////\n AccessorProperty(node) {\n this.visitPropertyDefinition(node);\n }\n ClassBody(node) {\n // this is here on purpose so that this visitor explicitly declares visitors\n // for all nodes it cares about (see the instance visit method above)\n this.visitChildren(node);\n }\n Identifier(node) {\n this.#referencer.visit(node);\n }\n MethodDefinition(node) {\n this.visitMethod(node);\n }\n PrivateIdentifier() {\n // intentionally skip\n }\n PropertyDefinition(node) {\n this.visitPropertyDefinition(node);\n }\n StaticBlock(node) {\n this.#referencer.scopeManager.nestClassStaticBlockScope(node);\n node.body.forEach(b => this.visit(b));\n this.#referencer.close(node);\n }\n TSAbstractAccessorProperty(node) {\n this.visitPropertyDefinition(node);\n }\n TSAbstractMethodDefinition(node) {\n this.visitPropertyBase(node);\n }\n TSAbstractPropertyDefinition(node) {\n this.visitPropertyDefinition(node);\n }\n TSIndexSignature(node) {\n this.visitType(node);\n }\n}\nexports.ClassVisitor = ClassVisitor;\n/**\n * Only if key is one of [identifier, string, number], ts will combine metadata of accessors .\n * class A {\n * get a() {}\n * set ['a'](v: Type) {}\n *\n * get [1]() {}\n * set [1](v: Type) {}\n *\n * // Following won't be combined\n * get [key]() {}\n * set [key](v: Type) {}\n *\n * get [true]() {}\n * set [true](v: Type) {}\n *\n * get ['a'+'b']() {}\n * set ['a'+'b']() {}\n * }\n */\nfunction getLiteralMethodKeyName(node) {\n if (node.computed && node.key.type === types_1.AST_NODE_TYPES.Literal) {\n if (typeof node.key.value === 'string' ||\n typeof node.key.value === 'number') {\n return node.key.value;\n }\n }\n else if (!node.computed && node.key.type === types_1.AST_NODE_TYPES.Identifier) {\n return node.key.name;\n }\n return null;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExportVisitor = void 0;\nconst types_1 = require(\"@typescript-eslint/types\");\nconst Visitor_1 = require(\"./Visitor\");\nclass ExportVisitor extends Visitor_1.Visitor {\n #exportNode;\n #referencer;\n constructor(node, referencer) {\n super(referencer);\n this.#exportNode = node;\n this.#referencer = referencer;\n }\n static visit(referencer, node) {\n const exportReferencer = new ExportVisitor(node, referencer);\n exportReferencer.visit(node);\n }\n ExportDefaultDeclaration(node) {\n if (node.declaration.type === types_1.AST_NODE_TYPES.Identifier) {\n // export default A;\n // this could be a type or a variable\n this.visit(node.declaration);\n }\n else {\n // export const a = 1;\n // export something();\n // etc\n // these not included in the scope of this visitor as they are all guaranteed to be values or declare variables\n }\n }\n ExportNamedDeclaration(node) {\n if (node.source) {\n // export ... from 'foo';\n // these are external identifiers so there shouldn't be references or defs\n return;\n }\n if (!node.declaration) {\n // export { x };\n this.visitChildren(node);\n }\n else {\n // export const x = 1;\n // this is not included in the scope of this visitor as it creates a variable\n }\n }\n ExportSpecifier(node) {\n if (node.exportKind === 'type' &&\n node.local.type === types_1.AST_NODE_TYPES.Identifier) {\n // export { type T };\n // type exports can only reference types\n //\n // we can't let this fall through to the Identifier selector because the exportKind is on this node\n // and we don't have access to the `.parent` during scope analysis\n this.#referencer.currentScope().referenceType(node.local);\n }\n else {\n this.visit(node.local);\n }\n }\n Identifier(node) {\n if (this.#exportNode.exportKind === 'type') {\n // export type { T };\n // type exports can only reference types\n this.#referencer.currentScope().referenceType(node);\n }\n else {\n this.#referencer.currentScope().referenceDualValueType(node);\n }\n }\n}\nexports.ExportVisitor = ExportVisitor;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImportVisitor = void 0;\nconst definition_1 = require(\"../definition\");\nconst Visitor_1 = require(\"./Visitor\");\nclass ImportVisitor extends Visitor_1.Visitor {\n #declaration;\n #referencer;\n constructor(declaration, referencer) {\n super(referencer);\n this.#declaration = declaration;\n this.#referencer = referencer;\n }\n static visit(referencer, declaration) {\n const importReferencer = new ImportVisitor(declaration, referencer);\n importReferencer.visit(declaration);\n }\n ImportDefaultSpecifier(node) {\n const local = node.local;\n this.visitImport(local, node);\n }\n ImportNamespaceSpecifier(node) {\n const local = node.local;\n this.visitImport(local, node);\n }\n ImportSpecifier(node) {\n const local = node.local;\n this.visitImport(local, node);\n }\n visitImport(id, specifier) {\n this.#referencer\n .currentScope()\n .defineIdentifier(id, new definition_1.ImportBindingDefinition(id, specifier, this.#declaration));\n }\n}\nexports.ImportVisitor = ImportVisitor;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Referencer = void 0;\nconst types_1 = require(\"@typescript-eslint/types\");\nconst assert_1 = require(\"../assert\");\nconst definition_1 = require(\"../definition\");\nconst lib_1 = require(\"../lib\");\nconst ClassVisitor_1 = require(\"./ClassVisitor\");\nconst ExportVisitor_1 = require(\"./ExportVisitor\");\nconst ImportVisitor_1 = require(\"./ImportVisitor\");\nconst PatternVisitor_1 = require(\"./PatternVisitor\");\nconst Reference_1 = require(\"./Reference\");\nconst TypeVisitor_1 = require(\"./TypeVisitor\");\nconst Visitor_1 = require(\"./Visitor\");\n// Referencing variables and creating bindings.\nclass Referencer extends Visitor_1.Visitor {\n #hasReferencedJsxFactory = false;\n #hasReferencedJsxFragmentFactory = false;\n #jsxFragmentName;\n #jsxPragma;\n #lib;\n scopeManager;\n constructor(options, scopeManager) {\n super(options);\n this.scopeManager = scopeManager;\n this.#jsxPragma = options.jsxPragma;\n this.#jsxFragmentName = options.jsxFragmentName;\n this.#lib = options.lib;\n }\n populateGlobalsFromLib(globalScope) {\n const flattenedLibs = new Set();\n for (const lib of this.#lib) {\n const definition = lib_1.lib.get(lib);\n if (!definition) {\n throw new Error(`Invalid value for lib provided: ${lib}`);\n }\n flattenedLibs.add(definition);\n }\n // Flatten and deduplicate the set of included libs\n for (const lib of flattenedLibs) {\n // By adding the dependencies to the set as we iterate it,\n // they get iterated only if they are new\n for (const referencedLib of lib.libs) {\n flattenedLibs.add(referencedLib);\n }\n // This loop is guaranteed to see each included lib exactly once\n for (const [name, variable] of lib.variables) {\n globalScope.defineImplicitVariable(name, variable);\n }\n }\n // for const assertions (`{} as const` / `<const>{}`)\n globalScope.defineImplicitVariable('const', {\n eslintImplicitGlobalSetting: 'readonly',\n isTypeVariable: true,\n isValueVariable: false,\n });\n }\n close(node) {\n while (this.currentScope(true) && node === this.currentScope().block) {\n this.scopeManager.currentScope = this.currentScope().close(this.scopeManager);\n }\n }\n currentScope(dontThrowOnNull) {\n if (!dontThrowOnNull) {\n (0, assert_1.assert)(this.scopeManager.currentScope, 'aaa');\n }\n return this.scopeManager.currentScope;\n }\n referencingDefaultValue(pattern, assignments, maybeImplicitGlobal, init) {\n assignments.forEach(assignment => {\n this.currentScope().referenceValue(pattern, Reference_1.ReferenceFlag.Write, assignment.right, maybeImplicitGlobal, init);\n });\n }\n /**\n * Searches for a variable named \"name\" in the upper scopes and adds a pseudo-reference from itself to itself\n */\n referenceInSomeUpperScope(name) {\n let scope = this.scopeManager.currentScope;\n while (scope) {\n const variable = scope.set.get(name);\n if (!variable) {\n scope = scope.upper;\n continue;\n }\n scope.referenceValue(variable.identifiers[0]);\n return true;\n }\n return false;\n }\n referenceJsxFragment() {\n if (this.#jsxFragmentName == null ||\n this.#hasReferencedJsxFragmentFactory) {\n return;\n }\n this.#hasReferencedJsxFragmentFactory = this.referenceInSomeUpperScope(this.#jsxFragmentName);\n }\n referenceJsxPragma() {\n if (this.#jsxPragma == null || this.#hasReferencedJsxFactory) {\n return;\n }\n this.#hasReferencedJsxFactory = this.referenceInSomeUpperScope(this.#jsxPragma);\n }\n ///////////////////\n // Visit helpers //\n ///////////////////\n visitClass(node) {\n ClassVisitor_1.ClassVisitor.visit(this, node);\n }\n visitForIn(node) {\n if (node.left.type === types_1.AST_NODE_TYPES.VariableDeclaration &&\n node.left.kind !== 'var') {\n this.scopeManager.nestForScope(node);\n }\n if (node.left.type === types_1.AST_NODE_TYPES.VariableDeclaration) {\n this.visit(node.left);\n this.visitPattern(node.left.declarations[0].id, pattern => {\n this.currentScope().referenceValue(pattern, Reference_1.ReferenceFlag.Write, node.right, null, true);\n });\n }\n else {\n this.visitPattern(node.left, (pattern, info) => {\n const maybeImplicitGlobal = !this.currentScope().isStrict\n ? {\n node,\n pattern,\n }\n : null;\n this.referencingDefaultValue(pattern, info.assignments, maybeImplicitGlobal, false);\n this.currentScope().referenceValue(pattern, Reference_1.ReferenceFlag.Write, node.right, maybeImplicitGlobal, false);\n }, { processRightHandNodes: true });\n }\n this.visit(node.right);\n this.visit(node.body);\n this.close(node);\n }\n visitFunction(node) {\n // FunctionDeclaration name is defined in upper scope\n // NOTE: Not referring variableScope. It is intended.\n // Since\n // in ES5, FunctionDeclaration should be in FunctionBody.\n // in ES6, FunctionDeclaration should be block scoped.\n if (node.type === types_1.AST_NODE_TYPES.FunctionExpression) {\n if (node.id) {\n // FunctionExpression with name creates its special scope;\n // FunctionExpressionNameScope.\n this.scopeManager.nestFunctionExpressionNameScope(node);\n }\n }\n else if (node.id) {\n // id is defined in upper scope\n this.currentScope().defineIdentifier(node.id, new definition_1.FunctionNameDefinition(node.id, node));\n }\n // Consider this function is in the MethodDefinition.\n this.scopeManager.nestFunctionScope(node, false);\n // Process parameter declarations.\n for (const param of node.params) {\n this.visitPattern(param, (pattern, info) => {\n this.currentScope().defineIdentifier(pattern, new definition_1.ParameterDefinition(pattern, node, info.rest));\n this.referencingDefaultValue(pattern, info.assignments, null, true);\n }, { processRightHandNodes: true });\n this.visitFunctionParameterTypeAnnotation(param);\n param.decorators.forEach(d => this.visit(d));\n }\n this.visitType(node.returnType);\n this.visitType(node.typeParameters);\n // In TypeScript there are a number of function-like constructs which have no body,\n // so check it exists before traversing\n if (node.body) {\n // Skip BlockStatement to prevent creating BlockStatement scope.\n if (node.body.type === types_1.AST_NODE_TYPES.BlockStatement) {\n this.visitChildren(node.body);\n }\n else {\n this.visit(node.body);\n }\n }\n this.close(node);\n }\n visitFunctionParameterTypeAnnotation(node) {\n switch (node.type) {\n case types_1.AST_NODE_TYPES.AssignmentPattern:\n this.visitType(node.left.typeAnnotation);\n break;\n case types_1.AST_NODE_TYPES.TSParameterProperty:\n this.visitFunctionParameterTypeAnnotation(node.parameter);\n break;\n default:\n this.visitType(node.typeAnnotation);\n break;\n }\n }\n visitJSXElement(node) {\n if (node.name.type === types_1.AST_NODE_TYPES.JSXIdentifier) {\n if (node.name.name[0].toUpperCase() === node.name.name[0] ||\n node.name.name === 'this') {\n // lower cased component names are always treated as \"intrinsic\" names, and are converted to a string,\n // not a variable by JSX transforms:\n // <div /> => React.createElement(\"div\", null)\n // the only case we want to visit a lower-cased component has its name as \"this\",\n this.visit(node.name);\n }\n }\n else {\n this.visit(node.name);\n }\n }\n visitProperty(node) {\n if (node.computed) {\n this.visit(node.key);\n }\n this.visit(node.value);\n }\n visitType(node) {\n if (!node) {\n return;\n }\n TypeVisitor_1.TypeVisitor.visit(this, node);\n }\n visitTypeAssertion(node) {\n this.visit(node.expression);\n this.visitType(node.typeAnnotation);\n }\n /////////////////////\n // Visit selectors //\n /////////////////////\n ArrowFunctionExpression(node) {\n this.visitFunction(node);\n }\n AssignmentExpression(node) {\n const left = this.visitExpressionTarget(node.left);\n if (PatternVisitor_1.PatternVisitor.isPattern(left)) {\n if (node.operator === '=') {\n this.visitPattern(left, (pattern, info) => {\n const maybeImplicitGlobal = !this.currentScope().isStrict\n ? {\n node,\n pattern,\n }\n : null;\n this.referencingDefaultValue(pattern, info.assignments, maybeImplicitGlobal, false);\n this.currentScope().referenceValue(pattern, Reference_1.ReferenceFlag.Write, node.right, maybeImplicitGlobal, false);\n }, { processRightHandNodes: true });\n }\n else if (left.type === types_1.AST_NODE_TYPES.Identifier) {\n this.currentScope().referenceValue(left, Reference_1.ReferenceFlag.ReadWrite, node.right);\n }\n }\n else {\n this.visit(left);\n }\n this.visit(node.right);\n }\n BlockStatement(node) {\n this.scopeManager.nestBlockScope(node);\n this.visitChildren(node);\n this.close(node);\n }\n BreakStatement() {\n // don't reference the break statement's label\n }\n CallExpression(node) {\n this.visitChildren(node, ['typeArguments']);\n this.visitType(node.typeArguments);\n }\n CatchClause(node) {\n this.scopeManager.nestCatchScope(node);\n if (node.param) {\n const param = node.param;\n this.visitPattern(param, (pattern, info) => {\n this.currentScope().defineIdentifier(pattern, new definition_1.CatchClauseDefinition(param, node));\n this.referencingDefaultValue(pattern, info.assignments, null, true);\n }, { processRightHandNodes: true });\n }\n this.visit(node.body);\n this.close(node);\n }\n ClassDeclaration(node) {\n this.visitClass(node);\n }\n ClassExpression(node) {\n this.visitClass(node);\n }\n ContinueStatement() {\n // don't reference the continue statement's label\n }\n ExportAllDeclaration() {\n // this defines no local variables\n }\n ExportDefaultDeclaration(node) {\n if (node.declaration.type === types_1.AST_NODE_TYPES.Identifier) {\n ExportVisitor_1.ExportVisitor.visit(this, node);\n }\n else {\n this.visit(node.declaration);\n }\n }\n ExportNamedDeclaration(node) {\n if (node.declaration) {\n this.visit(node.declaration);\n }\n else {\n ExportVisitor_1.ExportVisitor.visit(this, node);\n }\n }\n ForInStatement(node) {\n this.visitForIn(node);\n }\n ForOfStatement(node) {\n this.visitForIn(node);\n }\n ForStatement(node) {\n // Create ForStatement declaration.\n // NOTE: In ES6, ForStatement dynamically generates per iteration environment. However, this is\n // a static analyzer, we only generate one scope for ForStatement.\n if (node.init &&\n node.init.type === types_1.AST_NODE_TYPES.VariableDeclaration &&\n node.init.kind !== 'var') {\n this.scopeManager.nestForScope(node);\n }\n this.visitChildren(node);\n this.close(node);\n }\n FunctionDeclaration(node) {\n this.visitFunction(node);\n }\n FunctionExpression(node) {\n this.visitFunction(node);\n }\n Identifier(node) {\n this.currentScope().referenceValue(node);\n this.visitType(node.typeAnnotation);\n }\n ImportAttribute() {\n // import assertions are module metadata and thus have no variables to reference\n }\n ImportDeclaration(node) {\n (0, assert_1.assert)(this.scopeManager.isModule(), 'ImportDeclaration should appear when the mode is ES6 and in the module context.');\n ImportVisitor_1.ImportVisitor.visit(this, node);\n }\n JSXAttribute(node) {\n this.visit(node.value);\n }\n JSXClosingElement(node) {\n this.visitJSXElement(node);\n }\n JSXFragment(node) {\n this.referenceJsxPragma();\n this.referenceJsxFragment();\n this.visitChildren(node);\n }\n JSXIdentifier(node) {\n this.currentScope().referenceValue(node);\n }\n JSXMemberExpression(node) {\n if (node.object.type !== types_1.AST_NODE_TYPES.JSXIdentifier ||\n node.object.name !== 'this') {\n this.visit(node.object);\n }\n // we don't ever reference the property as it's always going to be a property on the thing\n }\n JSXOpeningElement(node) {\n this.referenceJsxPragma();\n this.visitJSXElement(node);\n this.visitType(node.typeArguments);\n for (const attr of node.attributes) {\n this.visit(attr);\n }\n }\n LabeledStatement(node) {\n this.visit(node.body);\n }\n MemberExpression(node) {\n this.visit(node.object);\n if (node.computed) {\n this.visit(node.property);\n }\n }\n MetaProperty() {\n // meta properties all builtin globals\n }\n NewExpression(node) {\n this.visitChildren(node, ['typeArguments']);\n this.visitType(node.typeArguments);\n }\n PrivateIdentifier() {\n // private identifiers are members on classes and thus have no variables to reference\n }\n Program(node) {\n const globalScope = this.scopeManager.nestGlobalScope(node);\n this.populateGlobalsFromLib(globalScope);\n if (this.scopeManager.isGlobalReturn()) {\n // Force strictness of GlobalScope to false when using node.js scope.\n this.currentScope().isStrict = false;\n this.scopeManager.nestFunctionScope(node, false);\n }\n if (this.scopeManager.isModule()) {\n this.scopeManager.nestModuleScope(node);\n }\n if (this.scopeManager.isImpliedStrict()) {\n this.currentScope().isStrict = true;\n }\n this.visitChildren(node);\n this.close(node);\n }\n Property(node) {\n this.visitProperty(node);\n }\n SwitchStatement(node) {\n this.visit(node.discriminant);\n this.scopeManager.nestSwitchScope(node);\n for (const switchCase of node.cases) {\n this.visit(switchCase);\n }\n this.close(node);\n }\n TaggedTemplateExpression(node) {\n this.visit(node.tag);\n this.visit(node.quasi);\n this.visitType(node.typeArguments);\n }\n TSAsExpression(node) {\n this.visitTypeAssertion(node);\n }\n TSDeclareFunction(node) {\n this.visitFunction(node);\n }\n TSEmptyBodyFunctionExpression(node) {\n this.visitFunction(node);\n }\n TSEnumDeclaration(node) {\n this.currentScope().defineIdentifier(node.id, new definition_1.TSEnumNameDefinition(node.id, node));\n // enum members can be referenced within the enum body\n this.scopeManager.nestTSEnumScope(node);\n for (const member of node.body.members) {\n // TS resolves literal named members to be actual names\n // enum Foo {\n // 'a' = 1,\n // b = a, // this references the 'a' member\n // }\n if (member.id.type === types_1.AST_NODE_TYPES.Literal &&\n typeof member.id.value === 'string') {\n const name = member.id;\n this.currentScope().defineLiteralIdentifier(name, new definition_1.TSEnumMemberDefinition(name, member));\n }\n else if (!member.computed &&\n member.id.type === types_1.AST_NODE_TYPES.Identifier) {\n this.currentScope().defineIdentifier(member.id, new definition_1.TSEnumMemberDefinition(member.id, member));\n }\n this.visit(member.initializer);\n }\n this.close(node);\n }\n TSExportAssignment(node) {\n if (node.expression.type === types_1.AST_NODE_TYPES.Identifier) {\n // this is a special case - you can `export = T` where `T` is a type OR a\n // value however `T[U]` is illegal when `T` is a type and `T.U` is illegal\n // when `T.U` is a type\n // i.e. if the expression is JUST an Identifier - it could be either ref\n // kind; otherwise the standard rules apply\n this.currentScope().referenceDualValueType(node.expression);\n }\n else {\n this.visit(node.expression);\n }\n }\n TSImportEqualsDeclaration(node) {\n this.currentScope().defineIdentifier(node.id, new definition_1.ImportBindingDefinition(node.id, node, node));\n if (node.moduleReference.type === types_1.AST_NODE_TYPES.TSQualifiedName) {\n let moduleIdentifier = node.moduleReference.left;\n while (moduleIdentifier.type === types_1.AST_NODE_TYPES.TSQualifiedName) {\n moduleIdentifier = moduleIdentifier.left;\n }\n this.visit(moduleIdentifier);\n }\n else {\n this.visit(node.moduleReference);\n }\n }\n TSInstantiationExpression(node) {\n this.visitChildren(node, ['typeArguments']);\n this.visitType(node.typeArguments);\n }\n TSInterfaceDeclaration(node) {\n this.visitType(node);\n }\n TSModuleDeclaration(node) {\n if (node.id.type === types_1.AST_NODE_TYPES.Identifier && node.kind !== 'global') {\n this.currentScope().defineIdentifier(node.id, new definition_1.TSModuleNameDefinition(node.id, node));\n }\n this.scopeManager.nestTSModuleScope(node);\n this.visit(node.body);\n this.close(node);\n }\n TSSatisfiesExpression(node) {\n this.visitTypeAssertion(node);\n }\n TSTypeAliasDeclaration(node) {\n this.visitType(node);\n }\n TSTypeAssertion(node) {\n this.visitTypeAssertion(node);\n }\n UpdateExpression(node) {\n const argument = this.visitExpressionTarget(node.argument);\n if (PatternVisitor_1.PatternVisitor.isPattern(argument)) {\n this.visitPattern(argument, pattern => {\n this.currentScope().referenceValue(pattern, Reference_1.ReferenceFlag.ReadWrite, null);\n });\n }\n else {\n this.visitChildren(node);\n }\n }\n VariableDeclaration(node) {\n const variableTargetScope = node.kind === 'var'\n ? this.currentScope().variableScope\n : this.currentScope();\n for (const decl of node.declarations) {\n const init = decl.init;\n this.visitPattern(decl.id, (pattern, info) => {\n variableTargetScope.defineIdentifier(pattern, new definition_1.VariableDefinition(pattern, decl, node));\n this.referencingDefaultValue(pattern, info.assignments, null, true);\n if (init) {\n this.currentScope().referenceValue(pattern, Reference_1.ReferenceFlag.Write, init, null, true);\n }\n }, { processRightHandNodes: true });\n this.visit(decl.init);\n this.visitType(decl.id.typeAnnotation);\n }\n }\n WithStatement(node) {\n this.visit(node.object);\n // Then nest scope for WithStatement.\n this.scopeManager.nestWithScope(node);\n this.visit(node.body);\n this.close(node);\n }\n visitExpressionTarget(left) {\n switch (left.type) {\n case types_1.AST_NODE_TYPES.TSAsExpression:\n case types_1.AST_NODE_TYPES.TSTypeAssertion:\n // explicitly visit the type annotation\n this.visitType(left.typeAnnotation);\n // intentional fallthrough\n case types_1.AST_NODE_TYPES.TSNonNullExpression:\n // unwrap the expression\n left = left.expression;\n }\n return left;\n }\n}\nexports.Referencer = Referencer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Referencer = void 0;\nvar Referencer_1 = require(\"./Referencer\");\nObject.defineProperty(exports, \"Referencer\", { enumerable: true, get: function () { return Referencer_1.Referencer; } });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ClassStaticBlockScope = void 0;\nconst ScopeBase_1 = require(\"./ScopeBase\");\nconst ScopeType_1 = require(\"./ScopeType\");\nclass ClassStaticBlockScope extends ScopeBase_1.ScopeBase {\n constructor(scopeManager, upperScope, block) {\n super(scopeManager, ScopeType_1.ScopeType.classStaticBlock, upperScope, block, false);\n }\n}\nexports.ClassStaticBlockScope = ClassStaticBlockScope;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScopeManager = void 0;\nconst assert_1 = require(\"./assert\");\nconst scope_1 = require(\"./scope\");\nconst ClassFieldInitializerScope_1 = require(\"./scope/ClassFieldInitializerScope\");\nconst ClassStaticBlockScope_1 = require(\"./scope/ClassStaticBlockScope\");\n/**\n * @see https://eslint.org/docs/latest/developer-guide/scope-manager-interface#scopemanager-interface\n */\nclass ScopeManager {\n #options;\n currentScope;\n declaredVariables;\n /**\n * The root scope\n */\n globalScope;\n nodeToScope;\n /**\n * All scopes\n * @public\n */\n scopes;\n constructor(options) {\n this.scopes = [];\n this.globalScope = null;\n this.nodeToScope = new WeakMap();\n this.currentScope = null;\n this.#options = options;\n this.declaredVariables = new WeakMap();\n }\n isES6() {\n return true;\n }\n isGlobalReturn() {\n return this.#options.globalReturn === true;\n }\n isImpliedStrict() {\n return this.#options.impliedStrict === true;\n }\n isModule() {\n return this.#options.sourceType === 'module';\n }\n isStrictModeSupported() {\n return true;\n }\n get variables() {\n const variables = new Set();\n function recurse(scope) {\n scope.variables.forEach(v => variables.add(v));\n scope.childScopes.forEach(recurse);\n }\n this.scopes.forEach(recurse);\n return [...variables].sort((a, b) => a.$id - b.$id);\n }\n /**\n * Get the variables that a given AST node defines. The gotten variables' `def[].node`/`def[].parent` property is the node.\n * If the node does not define any variable, this returns an empty array.\n * @param node An AST node to get their variables.\n */\n getDeclaredVariables(node) {\n return this.declaredVariables.get(node) ?? [];\n }\n /**\n * Get the scope of a given AST node. The gotten scope's `block` property is the node.\n * This method never returns `function-expression-name` scope. If the node does not have their scope, this returns `null`.\n *\n * @param node An AST node to get their scope.\n * @param inner If the node has multiple scopes, this returns the outermost scope normally.\n * If `inner` is `true` then this returns the innermost scope.\n */\n acquire(node, inner = false) {\n function predicate(testScope) {\n if (testScope.type === scope_1.ScopeType.function &&\n testScope.functionExpressionScope) {\n return false;\n }\n return true;\n }\n const scopes = this.nodeToScope.get(node);\n if (!scopes || scopes.length === 0) {\n return null;\n }\n // Heuristic selection from all scopes.\n // If you would like to get all scopes, please use ScopeManager#acquireAll.\n if (scopes.length === 1) {\n return scopes[0];\n }\n if (inner) {\n for (let i = scopes.length - 1; i >= 0; --i) {\n const scope = scopes[i];\n if (predicate(scope)) {\n return scope;\n }\n }\n return null;\n }\n return scopes.find(predicate) ?? null;\n }\n nestBlockScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.BlockScope(this, this.currentScope, node));\n }\n nestCatchScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.CatchScope(this, this.currentScope, node));\n }\n nestClassFieldInitializerScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new ClassFieldInitializerScope_1.ClassFieldInitializerScope(this, this.currentScope, node));\n }\n nestClassScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.ClassScope(this, this.currentScope, node));\n }\n nestClassStaticBlockScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new ClassStaticBlockScope_1.ClassStaticBlockScope(this, this.currentScope, node));\n }\n nestConditionalTypeScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.ConditionalTypeScope(this, this.currentScope, node));\n }\n nestForScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.ForScope(this, this.currentScope, node));\n }\n nestFunctionExpressionNameScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.FunctionExpressionNameScope(this, this.currentScope, node));\n }\n nestFunctionScope(node, isMethodDefinition) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.FunctionScope(this, this.currentScope, node, isMethodDefinition));\n }\n nestFunctionTypeScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.FunctionTypeScope(this, this.currentScope, node));\n }\n nestGlobalScope(node) {\n return this.nestScope(new scope_1.GlobalScope(this, node));\n }\n nestMappedTypeScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.MappedTypeScope(this, this.currentScope, node));\n }\n nestModuleScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.ModuleScope(this, this.currentScope, node));\n }\n nestSwitchScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.SwitchScope(this, this.currentScope, node));\n }\n nestTSEnumScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.TSEnumScope(this, this.currentScope, node));\n }\n nestTSModuleScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.TSModuleScope(this, this.currentScope, node));\n }\n nestTypeScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.TypeScope(this, this.currentScope, node));\n }\n nestWithScope(node) {\n (0, assert_1.assert)(this.currentScope);\n return this.nestScope(new scope_1.WithScope(this, this.currentScope, node));\n }\n nestScope(scope) {\n if (scope instanceof scope_1.GlobalScope) {\n (0, assert_1.assert)(this.currentScope == null);\n this.globalScope = scope;\n }\n this.currentScope = scope;\n return scope;\n }\n}\nexports.ScopeManager = ScopeManager;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.analyze = analyze;\nconst visitor_keys_1 = require(\"@typescript-eslint/visitor-keys\");\nconst referencer_1 = require(\"./referencer\");\nconst ScopeManager_1 = require(\"./ScopeManager\");\nconst DEFAULT_OPTIONS = {\n childVisitorKeys: visitor_keys_1.visitorKeys,\n emitDecoratorMetadata: false,\n globalReturn: false,\n impliedStrict: false,\n jsxFragmentName: null,\n jsxPragma: 'React',\n lib: ['es2018'],\n sourceType: 'script',\n};\n/**\n * Takes an AST and returns the analyzed scopes.\n */\nfunction analyze(tree, providedOptions) {\n const options = {\n childVisitorKeys: providedOptions?.childVisitorKeys ?? DEFAULT_OPTIONS.childVisitorKeys,\n emitDecoratorMetadata: false,\n globalReturn: providedOptions?.globalReturn ?? DEFAULT_OPTIONS.globalReturn,\n impliedStrict: providedOptions?.impliedStrict ?? DEFAULT_OPTIONS.impliedStrict,\n jsxFragmentName: providedOptions?.jsxFragmentName ?? DEFAULT_OPTIONS.jsxFragmentName,\n jsxPragma: \n // eslint-disable-next-line @typescript-eslint/internal/eqeq-nullish\n providedOptions?.jsxPragma === undefined\n ? DEFAULT_OPTIONS.jsxPragma\n : providedOptions.jsxPragma,\n lib: providedOptions?.lib ?? ['esnext'],\n sourceType: providedOptions?.sourceType ?? DEFAULT_OPTIONS.sourceType,\n };\n // ensure the option is lower cased\n options.lib = options.lib.map(l => l.toLowerCase());\n const scopeManager = new ScopeManager_1.ScopeManager(options);\n const referencer = new referencer_1.Referencer(options, scopeManager);\n referencer.visit(tree);\n return scopeManager;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScopeManager = exports.Visitor = exports.Reference = exports.PatternVisitor = exports.analyze = void 0;\nvar analyze_1 = require(\"./analyze\");\nObject.defineProperty(exports, \"analyze\", { enumerable: true, get: function () { return analyze_1.analyze; } });\n__exportStar(require(\"./definition\"), exports);\nvar PatternVisitor_1 = require(\"./referencer/PatternVisitor\");\nObject.defineProperty(exports, \"PatternVisitor\", { enumerable: true, get: function () { return PatternVisitor_1.PatternVisitor; } });\nvar Reference_1 = require(\"./referencer/Reference\");\nObject.defineProperty(exports, \"Reference\", { enumerable: true, get: function () { return Reference_1.Reference; } });\nvar Visitor_1 = require(\"./referencer/Visitor\");\nObject.defineProperty(exports, \"Visitor\", { enumerable: true, get: function () { return Visitor_1.Visitor; } });\n__exportStar(require(\"./scope\"), exports);\nvar ScopeManager_1 = require(\"./ScopeManager\");\nObject.defineProperty(exports, \"ScopeManager\", { enumerable: true, get: function () { return ScopeManager_1.ScopeManager; } });\n__exportStar(require(\"./variable\"), exports);\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(' ', ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n","'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\n};\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSourceFile = isSourceFile;\nexports.getCodeText = getCodeText;\nconst ts = __importStar(require(\"typescript\"));\nfunction isSourceFile(code) {\n if (typeof code !== 'object' || code == null) {\n return false;\n }\n const maybeSourceFile = code;\n return (maybeSourceFile.kind === ts.SyntaxKind.SourceFile &&\n typeof maybeSourceFile.getFullText === 'function');\n}\nfunction getCodeText(code) {\n return isSourceFile(code) ? code.getFullText(code) : code;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DEFAULT_EXTRA_FILE_EXTENSIONS = exports.CORE_COMPILER_OPTIONS = void 0;\nexports.createDefaultCompilerOptionsFromExtra = createDefaultCompilerOptionsFromExtra;\nexports.getCanonicalFileName = getCanonicalFileName;\nexports.ensureAbsolutePath = ensureAbsolutePath;\nexports.canonicalDirname = canonicalDirname;\nexports.getAstFromProgram = getAstFromProgram;\nexports.createHash = createHash;\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst ts = __importStar(require(\"typescript\"));\n/**\n * Compiler options required to avoid critical functionality issues\n */\nexports.CORE_COMPILER_OPTIONS = {\n noEmit: true, // required to avoid parse from causing emit to occur\n /**\n * Flags required to make no-unused-vars work\n */\n noUnusedLocals: true,\n noUnusedParameters: true,\n};\n/**\n * Default compiler options for program generation\n */\nconst DEFAULT_COMPILER_OPTIONS = {\n ...exports.CORE_COMPILER_OPTIONS,\n allowJs: true,\n allowNonTsExtensions: true,\n checkJs: true,\n};\nexports.DEFAULT_EXTRA_FILE_EXTENSIONS = new Set([\n ts.Extension.Cjs,\n ts.Extension.Cts,\n ts.Extension.Js,\n ts.Extension.Jsx,\n ts.Extension.Mjs,\n ts.Extension.Mts,\n ts.Extension.Ts,\n ts.Extension.Tsx,\n]);\nfunction createDefaultCompilerOptionsFromExtra(parseSettings) {\n if (parseSettings.debugLevel.has('typescript')) {\n return {\n ...DEFAULT_COMPILER_OPTIONS,\n extendedDiagnostics: true,\n };\n }\n return DEFAULT_COMPILER_OPTIONS;\n}\n// typescript doesn't provide a ts.sys implementation for browser environments\nconst useCaseSensitiveFileNames = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, @typescript-eslint/internal/eqeq-nullish\nts.sys !== undefined ? ts.sys.useCaseSensitiveFileNames : true;\nconst correctPathCasing = useCaseSensitiveFileNames\n ? (filePath) => filePath\n : (filePath) => filePath.toLowerCase();\nfunction getCanonicalFileName(filePath) {\n let normalized = node_path_1.default.normalize(filePath);\n if (normalized.endsWith(node_path_1.default.sep)) {\n normalized = normalized.slice(0, -1);\n }\n return correctPathCasing(normalized);\n}\nfunction ensureAbsolutePath(p, tsconfigRootDir) {\n return node_path_1.default.isAbsolute(p)\n ? p\n : node_path_1.default.join(tsconfigRootDir || process.cwd(), p);\n}\nfunction canonicalDirname(p) {\n return node_path_1.default.dirname(p);\n}\nconst DEFINITION_EXTENSIONS = [\n ts.Extension.Dts,\n ts.Extension.Dcts,\n ts.Extension.Dmts,\n];\nfunction getExtension(fileName) {\n if (!fileName) {\n return null;\n }\n return (DEFINITION_EXTENSIONS.find(definitionExt => fileName.endsWith(definitionExt)) ?? node_path_1.default.extname(fileName));\n}\nfunction getAstFromProgram(currentProgram, filePath) {\n const ast = currentProgram.getSourceFile(filePath);\n // working around https://github.com/typescript-eslint/typescript-eslint/issues/1573\n const expectedExt = getExtension(filePath);\n const returnedExt = getExtension(ast?.fileName);\n if (expectedExt !== returnedExt) {\n return undefined;\n }\n return ast && { ast, program: currentProgram };\n}\n/**\n * Hash content for compare content.\n * @param content hashed contend\n * @returns hashed result\n */\nfunction createHash(content) {\n // No ts.sys in browser environments.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (ts.sys?.createHash) {\n return ts.sys.createHash(content);\n }\n return content;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.clearWatchCaches = clearWatchCaches;\nexports.getWatchProgramsForProjects = getWatchProgramsForProjects;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst node_fs_1 = __importDefault(require(\"node:fs\"));\nconst ts = __importStar(require(\"typescript\"));\nconst source_files_1 = require(\"../source-files\");\nconst shared_1 = require(\"./shared\");\nconst log = (0, debug_1.default)('typescript-eslint:typescript-estree:create-program:getWatchProgramsForProjects');\n/**\n * Maps tsconfig paths to their corresponding file contents and resulting watches\n */\nconst knownWatchProgramMap = new Map();\n/**\n * Maps file/folder paths to their set of corresponding watch callbacks\n * There may be more than one per file/folder if a file/folder is shared between projects\n */\nconst fileWatchCallbackTrackingMap = new Map();\nconst folderWatchCallbackTrackingMap = new Map();\n/**\n * Stores the list of known files for each program\n */\nconst programFileListCache = new Map();\n/**\n * Caches the last modified time of the tsconfig files\n */\nconst tsconfigLastModifiedTimestampCache = new Map();\nconst parsedFilesSeenHash = new Map();\n/**\n * Clear all of the parser caches.\n * This should only be used in testing to ensure the parser is clean between tests.\n */\nfunction clearWatchCaches() {\n knownWatchProgramMap.clear();\n fileWatchCallbackTrackingMap.clear();\n folderWatchCallbackTrackingMap.clear();\n parsedFilesSeenHash.clear();\n programFileListCache.clear();\n tsconfigLastModifiedTimestampCache.clear();\n}\nfunction saveWatchCallback(trackingMap) {\n return (fileName, callback) => {\n const normalizedFileName = (0, shared_1.getCanonicalFileName)(fileName);\n const watchers = (() => {\n let watchers = trackingMap.get(normalizedFileName);\n if (!watchers) {\n watchers = new Set();\n trackingMap.set(normalizedFileName, watchers);\n }\n return watchers;\n })();\n watchers.add(callback);\n return {\n close: () => {\n watchers.delete(callback);\n },\n };\n };\n}\n/**\n * Holds information about the file currently being linted\n */\nconst currentLintOperationState = {\n code: '',\n filePath: '',\n};\n/**\n * Appropriately report issues found when reading a config file\n * @param diagnostic The diagnostic raised when creating a program\n */\nfunction diagnosticReporter(diagnostic) {\n throw new Error(ts.flattenDiagnosticMessageText(diagnostic.messageText, ts.sys.newLine));\n}\nfunction updateCachedFileList(tsconfigPath, program) {\n const fileList = new Set(program.getRootFileNames().map(f => (0, shared_1.getCanonicalFileName)(f)));\n programFileListCache.set(tsconfigPath, fileList);\n return fileList;\n}\n/**\n * Calculate project environments using options provided by consumer and paths from config\n * @param parseSettings Internal settings for parsing the file\n * @returns The programs corresponding to the supplied tsconfig paths\n */\nfunction getWatchProgramsForProjects(parseSettings) {\n const filePath = (0, shared_1.getCanonicalFileName)(parseSettings.filePath);\n const results = [];\n // preserve reference to code and file being linted\n currentLintOperationState.code = parseSettings.code;\n currentLintOperationState.filePath = filePath;\n // Update file version if necessary\n const fileWatchCallbacks = fileWatchCallbackTrackingMap.get(filePath);\n const codeHash = (0, shared_1.createHash)((0, source_files_1.getCodeText)(parseSettings.code));\n if (parsedFilesSeenHash.get(filePath) !== codeHash &&\n fileWatchCallbacks &&\n fileWatchCallbacks.size > 0) {\n fileWatchCallbacks.forEach(cb => cb(filePath, ts.FileWatcherEventKind.Changed));\n }\n const currentProjectsFromSettings = new Map(parseSettings.projects);\n /*\n * before we go into the process of attempting to find and update every program\n * see if we know of a program that contains this file\n */\n for (const [tsconfigPath, existingWatch] of knownWatchProgramMap.entries()) {\n if (!currentProjectsFromSettings.has(tsconfigPath)) {\n // the current parser run doesn't specify this tsconfig in parserOptions.project\n // so we don't want to consider it for caching purposes.\n //\n // if we did consider it we might return a program for a project\n // that wasn't specified in the current parser run (which is obv bad!).\n continue;\n }\n let fileList = programFileListCache.get(tsconfigPath);\n let updatedProgram = null;\n if (!fileList) {\n updatedProgram = existingWatch.getProgram().getProgram();\n fileList = updateCachedFileList(tsconfigPath, updatedProgram);\n }\n if (fileList.has(filePath)) {\n log('Found existing program for file. %s', filePath);\n updatedProgram ??= existingWatch.getProgram().getProgram();\n // sets parent pointers in source files\n updatedProgram.getTypeChecker();\n return [updatedProgram];\n }\n }\n log('File did not belong to any existing programs, moving to create/update. %s', filePath);\n /*\n * We don't know of a program that contains the file, this means that either:\n * - the required program hasn't been created yet, or\n * - the file is new/renamed, and the program hasn't been updated.\n */\n for (const tsconfigPath of parseSettings.projects) {\n const existingWatch = knownWatchProgramMap.get(tsconfigPath[0]);\n if (existingWatch) {\n const updatedProgram = maybeInvalidateProgram(existingWatch, filePath, tsconfigPath[0]);\n if (!updatedProgram) {\n continue;\n }\n // sets parent pointers in source files\n updatedProgram.getTypeChecker();\n // cache and check the file list\n const fileList = updateCachedFileList(tsconfigPath[0], updatedProgram);\n if (fileList.has(filePath)) {\n log('Found updated program for file. %s', filePath);\n // we can return early because we know this program contains the file\n return [updatedProgram];\n }\n results.push(updatedProgram);\n continue;\n }\n const programWatch = createWatchProgram(tsconfigPath[1], parseSettings);\n knownWatchProgramMap.set(tsconfigPath[0], programWatch);\n const program = programWatch.getProgram().getProgram();\n // sets parent pointers in source files\n program.getTypeChecker();\n // cache and check the file list\n const fileList = updateCachedFileList(tsconfigPath[0], program);\n if (fileList.has(filePath)) {\n log('Found program for file. %s', filePath);\n // we can return early because we know this program contains the file\n return [program];\n }\n results.push(program);\n }\n return results;\n}\nfunction createWatchProgram(tsconfigPath, parseSettings) {\n log('Creating watch program for %s.', tsconfigPath);\n // create compiler host\n const watchCompilerHost = ts.createWatchCompilerHost(tsconfigPath, (0, shared_1.createDefaultCompilerOptionsFromExtra)(parseSettings), ts.sys, ts.createAbstractBuilder, diagnosticReporter, \n // TODO: file issue on TypeScript to suggest making optional?\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n /*reportWatchStatus*/ () => { });\n watchCompilerHost.jsDocParsingMode = parseSettings.jsDocParsingMode;\n // ensure readFile reads the code being linted instead of the copy on disk\n const oldReadFile = watchCompilerHost.readFile;\n watchCompilerHost.readFile = (filePathIn, encoding) => {\n const filePath = (0, shared_1.getCanonicalFileName)(filePathIn);\n const fileContent = filePath === currentLintOperationState.filePath\n ? (0, source_files_1.getCodeText)(currentLintOperationState.code)\n : oldReadFile(filePath, encoding);\n if (fileContent != null) {\n parsedFilesSeenHash.set(filePath, (0, shared_1.createHash)(fileContent));\n }\n return fileContent;\n };\n // ensure process reports error on failure instead of exiting process immediately\n watchCompilerHost.onUnRecoverableConfigFileDiagnostic = diagnosticReporter;\n // ensure process doesn't emit programs\n watchCompilerHost.afterProgramCreate = (program) => {\n // report error if there are any errors in the config file\n const configFileDiagnostics = program\n .getConfigFileParsingDiagnostics()\n .filter(diag => diag.category === ts.DiagnosticCategory.Error && diag.code !== 18003);\n if (configFileDiagnostics.length > 0) {\n diagnosticReporter(configFileDiagnostics[0]);\n }\n };\n /*\n * From the CLI, the file watchers won't matter, as the files will be parsed once and then forgotten.\n * When running from an IDE, these watchers will let us tell typescript about changes.\n *\n * ESLint IDE plugins will send us unfinished file content as the user types (before it's saved to disk).\n * We use the file watchers to tell typescript about this latest file content.\n *\n * When files are created (or renamed), we won't know about them because we have no filesystem watchers attached.\n * We use the folder watchers to tell typescript it needs to go and find new files in the project folders.\n */\n watchCompilerHost.watchFile = saveWatchCallback(fileWatchCallbackTrackingMap);\n watchCompilerHost.watchDirectory = saveWatchCallback(folderWatchCallbackTrackingMap);\n // allow files with custom extensions to be included in program (uses internal ts api)\n const oldOnDirectoryStructureHostCreate = watchCompilerHost.onCachedDirectoryStructureHostCreate;\n watchCompilerHost.onCachedDirectoryStructureHostCreate = (host) => {\n const oldReadDirectory = host.readDirectory;\n host.readDirectory = (path, extensions, exclude, include, depth) => oldReadDirectory(path, !extensions\n ? undefined\n : [...extensions, ...parseSettings.extraFileExtensions], exclude, include, depth);\n oldOnDirectoryStructureHostCreate(host);\n };\n // This works only on 3.9\n watchCompilerHost.extraFileExtensions = parseSettings.extraFileExtensions.map(extension => ({\n extension,\n isMixedContent: true,\n scriptKind: ts.ScriptKind.Deferred,\n }));\n watchCompilerHost.trace = log;\n // Since we don't want to asynchronously update program we want to disable timeout methods\n // So any changes in the program will be delayed and updated when getProgram is called on watch\n watchCompilerHost.setTimeout = undefined;\n watchCompilerHost.clearTimeout = undefined;\n return ts.createWatchProgram(watchCompilerHost);\n}\nfunction hasTSConfigChanged(tsconfigPath) {\n const stat = node_fs_1.default.statSync(tsconfigPath);\n const lastModifiedAt = stat.mtimeMs;\n const cachedLastModifiedAt = tsconfigLastModifiedTimestampCache.get(tsconfigPath);\n tsconfigLastModifiedTimestampCache.set(tsconfigPath, lastModifiedAt);\n if (cachedLastModifiedAt == null) {\n return false;\n }\n return Math.abs(cachedLastModifiedAt - lastModifiedAt) > Number.EPSILON;\n}\nfunction maybeInvalidateProgram(existingWatch, filePath, tsconfigPath) {\n /*\n * By calling watchProgram.getProgram(), it will trigger a resync of the program based on\n * whatever new file content we've given it from our input.\n */\n let updatedProgram = existingWatch.getProgram().getProgram();\n // In case this change causes problems in larger real world codebases\n // Provide an escape hatch so people don't _have_ to revert to an older version\n if (process.env.TSESTREE_NO_INVALIDATION === 'true') {\n return updatedProgram;\n }\n if (hasTSConfigChanged(tsconfigPath)) {\n /*\n * If the stat of the tsconfig has changed, that could mean the include/exclude/files lists has changed\n * We need to make sure typescript knows this so it can update appropriately\n */\n log('tsconfig has changed - triggering program update. %s', tsconfigPath);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n fileWatchCallbackTrackingMap\n .get(tsconfigPath)\n .forEach(cb => cb(tsconfigPath, ts.FileWatcherEventKind.Changed));\n // tsconfig change means that the file list more than likely changed, so clear the cache\n programFileListCache.delete(tsconfigPath);\n }\n let sourceFile = updatedProgram.getSourceFile(filePath);\n if (sourceFile) {\n return updatedProgram;\n }\n /*\n * Missing source file means our program's folder structure might be out of date.\n * So we need to tell typescript it needs to update the correct folder.\n */\n log('File was not found in program - triggering folder update. %s', filePath);\n // Find the correct directory callback by climbing the folder tree\n const currentDir = (0, shared_1.canonicalDirname)(filePath);\n let current = null;\n let next = currentDir;\n let hasCallback = false;\n while (current !== next) {\n current = next;\n const folderWatchCallbacks = folderWatchCallbackTrackingMap.get(current);\n if (folderWatchCallbacks) {\n for (const cb of folderWatchCallbacks) {\n if (currentDir !== current) {\n cb(currentDir, ts.FileWatcherEventKind.Changed);\n }\n cb(current, ts.FileWatcherEventKind.Changed);\n }\n hasCallback = true;\n }\n next = (0, shared_1.canonicalDirname)(current);\n }\n if (!hasCallback) {\n /*\n * No callback means the paths don't matchup - so no point returning any program\n * this will signal to the caller to skip this program\n */\n log('No callback found for file, not part of this program. %s', filePath);\n return null;\n }\n // directory update means that the file list more than likely changed, so clear the cache\n programFileListCache.delete(tsconfigPath);\n // force the immediate resync\n updatedProgram = existingWatch.getProgram().getProgram();\n sourceFile = updatedProgram.getSourceFile(filePath);\n if (sourceFile) {\n return updatedProgram;\n }\n /*\n * At this point we're in one of two states:\n * - The file isn't supposed to be in this program due to exclusions\n * - The file is new, and was renamed from an old, included filename\n *\n * For the latter case, we need to tell typescript that the old filename is now deleted\n */\n log('File was still not found in program after directory update - checking file deletions. %s', filePath);\n const rootFilenames = updatedProgram.getRootFileNames();\n // use find because we only need to \"delete\" one file to cause typescript to do a full resync\n const deletedFile = rootFilenames.find(file => !node_fs_1.default.existsSync(file));\n if (!deletedFile) {\n // There are no deleted files, so it must be the former case of the file not belonging to this program\n return null;\n }\n const fileWatchCallbacks = fileWatchCallbackTrackingMap.get((0, shared_1.getCanonicalFileName)(deletedFile));\n if (!fileWatchCallbacks) {\n // shouldn't happen, but just in case\n log('Could not find watch callbacks for root file. %s', deletedFile);\n return updatedProgram;\n }\n log('Marking file as deleted. %s', deletedFile);\n fileWatchCallbacks.forEach(cb => cb(deletedFile, ts.FileWatcherEventKind.Deleted));\n // deleted files means that the file list _has_ changed, so clear the cache\n programFileListCache.delete(tsconfigPath);\n updatedProgram = existingWatch.getProgram().getProgram();\n sourceFile = updatedProgram.getSourceFile(filePath);\n if (sourceFile) {\n return updatedProgram;\n }\n log('File was still not found in program after deletion check, assuming it is not part of this program. %s', filePath);\n return null;\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst safeSrc = exports.safeSrc = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n safeSrc[index] = safe\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, safeSrc: src, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n if (release.startsWith('pre')) {\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n // Avoid an invalid semver results\n if (identifier) {\n const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`)\n const match = `-${identifier}`.match(r)\n if (!match || match[1] !== identifier) {\n throw new Error(`invalid identifier: ${identifier}`)\n }\n }\n }\n\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n case 'release':\n if (this.prerelease.length === 0) {\n throw new Error(`version ${this.raw} is not a prerelease`)\n }\n this.prerelease.length = 0\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const parse = require('./parse.js')\n\nconst diff = (version1, version2) => {\n const v1 = parse(version1, null, true)\n const v2 = parse(version2, null, true)\n const comparison = v1.compare(v2)\n\n if (comparison === 0) {\n return null\n }\n\n const v1Higher = comparison > 0\n const highVersion = v1Higher ? v1 : v2\n const lowVersion = v1Higher ? v2 : v1\n const highHasPre = !!highVersion.prerelease.length\n const lowHasPre = !!lowVersion.prerelease.length\n\n if (lowHasPre && !highHasPre) {\n // Going from prerelease -> no prerelease requires some special casing\n\n // If the low version has only a major, then it will always be a major\n // Some examples:\n // 1.0.0-1 -> 1.0.0\n // 1.0.0-1 -> 1.1.1\n // 1.0.0-1 -> 2.0.0\n if (!lowVersion.patch && !lowVersion.minor) {\n return 'major'\n }\n\n // If the main part has no difference\n if (lowVersion.compareMain(highVersion) === 0) {\n if (lowVersion.minor && !lowVersion.patch) {\n return 'minor'\n }\n return 'patch'\n }\n }\n\n // add the `pre` prefix if we are going to a prerelease version\n const prefix = highHasPre ? 'pre' : ''\n\n if (v1.major !== v2.major) {\n return prefix + 'major'\n }\n\n if (v1.minor !== v2.minor) {\n return prefix + 'minor'\n }\n\n if (v1.patch !== v2.patch) {\n return prefix + 'patch'\n }\n\n // high and low are preleases\n return 'prerelease'\n}\n\nmodule.exports = diff\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]\n let next\n while ((next = coerceRtlRegex.exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n coerceRtlRegex.lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n const major = match[2]\n const minor = match[3] || '0'\n const patch = match[4] || '0'\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''\n\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options)\n}\nmodule.exports = coerce\n","class LRUCache {\n constructor () {\n this.max = 1000\n this.map = new Map()\n }\n\n get (key) {\n const value = this.map.get(key)\n if (value === undefined) {\n return undefined\n } else {\n // Remove the key from the map and add it to the end\n this.map.delete(key)\n this.map.set(key, value)\n return value\n }\n }\n\n delete (key) {\n return this.map.delete(key)\n }\n\n set (key, value) {\n const deleted = this.delete(key)\n\n if (!deleted && value !== undefined) {\n // If cache is full, delete the least recently used item\n if (this.map.size >= this.max) {\n const firstKey = this.map.keys().next().value\n this.delete(firstKey)\n }\n\n this.map.set(key, value)\n }\n\n return this\n }\n}\n\nmodule.exports = LRUCache\n","const SPACE_CHARACTERS = /\\s+/g\n\n// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.formatted = undefined\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range.trim().replace(SPACE_CHARACTERS, ' ')\n\n // First, split on ||\n this.set = this.raw\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.formatted = undefined\n }\n\n get range () {\n if (this.formatted === undefined) {\n this.formatted = ''\n for (let i = 0; i < this.set.length; i++) {\n if (i > 0) {\n this.formatted += '||'\n }\n const comps = this.set[i]\n for (let k = 0; k < comps.length; k++) {\n if (k > 0) {\n this.formatted += ' '\n }\n this.formatted += comps[k].toString().trim()\n }\n }\n }\n return this.formatted\n }\n\n format () {\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n debug('tilde trim', range)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n debug('caret trim', range)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = require('../internal/lrucache')\nconst cache = new LRU()\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n safeRe: re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceTilde(c, options))\n .join(' ')\n}\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceCaret(c, options))\n .join(' ')\n}\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp\n .split(/\\s+/)\n .map((c) => replaceXRange(c, options))\n .join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp\n .trim()\n .replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp\n .trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\n// TODO build?\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return `${from} ${to}`.trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { safeRe: re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2, options)\n}\nmodule.exports = intersects\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]\nconst minimumVersion = [new Comparator('>=0.0.0')]\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = minimumVersionWithPreRelease\n } else {\n sub = minimumVersion\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = minimumVersion\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.typescriptVersionIsAtLeast = void 0;\nconst semver = __importStar(require(\"semver\"));\nconst ts = __importStar(require(\"typescript\"));\nfunction semverCheck(version) {\n return semver.satisfies(ts.version, `>= ${version}.0 || >= ${version}.1-rc || >= ${version}.0-beta`, {\n includePrerelease: true,\n });\n}\nconst versions = [\n '4.7',\n '4.8',\n '4.9',\n '5.0',\n '5.1',\n '5.2',\n '5.3',\n '5.4',\n];\nexports.typescriptVersionIsAtLeast = {};\nfor (const version of versions) {\n exports.typescriptVersionIsAtLeast[version] = semverCheck(version);\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getModifiers = getModifiers;\nexports.getDecorators = getDecorators;\nconst ts = __importStar(require(\"typescript\"));\nconst version_check_1 = require(\"./version-check\");\nconst isAtLeast48 = version_check_1.typescriptVersionIsAtLeast['4.8'];\nfunction getModifiers(node, includeIllegalModifiers = false) {\n if (node == null) {\n return undefined;\n }\n if (isAtLeast48) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- this is safe as it's guarded\n if (includeIllegalModifiers || ts.canHaveModifiers(node)) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- this is safe as it's guarded\n const modifiers = ts.getModifiers(node);\n return modifiers ? [...modifiers] : undefined;\n }\n return undefined;\n }\n return (\n // @ts-expect-error intentional fallback for older TS versions\n node.modifiers?.filter((m) => !ts.isDecorator(m)));\n}\nfunction getDecorators(node, includeIllegalDecorators = false) {\n if (node == null) {\n return undefined;\n }\n if (isAtLeast48) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- this is safe as it's guarded\n if (includeIllegalDecorators || ts.canHaveDecorators(node)) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- this is safe as it's guarded\n const decorators = ts.getDecorators(node);\n return decorators ? [...decorators] : undefined;\n }\n return undefined;\n }\n return (\n // @ts-expect-error intentional fallback for older TS versions\n node.decorators?.filter(ts.isDecorator));\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.xhtmlEntities = void 0;\nexports.xhtmlEntities = {\n Aacute: '\\u00C1',\n aacute: '\\u00E1',\n Acirc: '\\u00C2',\n acirc: '\\u00E2',\n acute: '\\u00B4',\n AElig: '\\u00C6',\n aelig: '\\u00E6',\n Agrave: '\\u00C0',\n agrave: '\\u00E0',\n alefsym: '\\u2135',\n Alpha: '\\u0391',\n alpha: '\\u03B1',\n amp: '&',\n and: '\\u2227',\n ang: '\\u2220',\n apos: '\\u0027',\n Aring: '\\u00C5',\n aring: '\\u00E5',\n asymp: '\\u2248',\n Atilde: '\\u00C3',\n atilde: '\\u00E3',\n Auml: '\\u00C4',\n auml: '\\u00E4',\n bdquo: '\\u201E',\n Beta: '\\u0392',\n beta: '\\u03B2',\n brvbar: '\\u00A6',\n bull: '\\u2022',\n cap: '\\u2229',\n Ccedil: '\\u00C7',\n ccedil: '\\u00E7',\n cedil: '\\u00B8',\n cent: '\\u00A2',\n Chi: '\\u03A7',\n chi: '\\u03C7',\n circ: '\\u02C6',\n clubs: '\\u2663',\n cong: '\\u2245',\n copy: '\\u00A9',\n crarr: '\\u21B5',\n cup: '\\u222A',\n curren: '\\u00A4',\n dagger: '\\u2020',\n Dagger: '\\u2021',\n darr: '\\u2193',\n dArr: '\\u21D3',\n deg: '\\u00B0',\n Delta: '\\u0394',\n delta: '\\u03B4',\n diams: '\\u2666',\n divide: '\\u00F7',\n Eacute: '\\u00C9',\n eacute: '\\u00E9',\n Ecirc: '\\u00CA',\n ecirc: '\\u00EA',\n Egrave: '\\u00C8',\n egrave: '\\u00E8',\n empty: '\\u2205',\n emsp: '\\u2003',\n ensp: '\\u2002',\n Epsilon: '\\u0395',\n epsilon: '\\u03B5',\n equiv: '\\u2261',\n Eta: '\\u0397',\n eta: '\\u03B7',\n ETH: '\\u00D0',\n eth: '\\u00F0',\n Euml: '\\u00CB',\n euml: '\\u00EB',\n euro: '\\u20AC',\n exist: '\\u2203',\n fnof: '\\u0192',\n forall: '\\u2200',\n frac12: '\\u00BD',\n frac14: '\\u00BC',\n frac34: '\\u00BE',\n frasl: '\\u2044',\n Gamma: '\\u0393',\n gamma: '\\u03B3',\n ge: '\\u2265',\n gt: '>',\n harr: '\\u2194',\n hArr: '\\u21D4',\n hearts: '\\u2665',\n hellip: '\\u2026',\n Iacute: '\\u00CD',\n iacute: '\\u00ED',\n Icirc: '\\u00CE',\n icirc: '\\u00EE',\n iexcl: '\\u00A1',\n Igrave: '\\u00CC',\n igrave: '\\u00EC',\n image: '\\u2111',\n infin: '\\u221E',\n int: '\\u222B',\n Iota: '\\u0399',\n iota: '\\u03B9',\n iquest: '\\u00BF',\n isin: '\\u2208',\n Iuml: '\\u00CF',\n iuml: '\\u00EF',\n Kappa: '\\u039A',\n kappa: '\\u03BA',\n Lambda: '\\u039B',\n lambda: '\\u03BB',\n lang: '\\u2329',\n laquo: '\\u00AB',\n larr: '\\u2190',\n lArr: '\\u21D0',\n lceil: '\\u2308',\n ldquo: '\\u201C',\n le: '\\u2264',\n lfloor: '\\u230A',\n lowast: '\\u2217',\n loz: '\\u25CA',\n lrm: '\\u200E',\n lsaquo: '\\u2039',\n lsquo: '\\u2018',\n lt: '<',\n macr: '\\u00AF',\n mdash: '\\u2014',\n micro: '\\u00B5',\n middot: '\\u00B7',\n minus: '\\u2212',\n Mu: '\\u039C',\n mu: '\\u03BC',\n nabla: '\\u2207',\n nbsp: '\\u00A0',\n ndash: '\\u2013',\n ne: '\\u2260',\n ni: '\\u220B',\n not: '\\u00AC',\n notin: '\\u2209',\n nsub: '\\u2284',\n Ntilde: '\\u00D1',\n ntilde: '\\u00F1',\n Nu: '\\u039D',\n nu: '\\u03BD',\n Oacute: '\\u00D3',\n oacute: '\\u00F3',\n Ocirc: '\\u00D4',\n ocirc: '\\u00F4',\n OElig: '\\u0152',\n oelig: '\\u0153',\n Ograve: '\\u00D2',\n ograve: '\\u00F2',\n oline: '\\u203E',\n Omega: '\\u03A9',\n omega: '\\u03C9',\n Omicron: '\\u039F',\n omicron: '\\u03BF',\n oplus: '\\u2295',\n or: '\\u2228',\n ordf: '\\u00AA',\n ordm: '\\u00BA',\n Oslash: '\\u00D8',\n oslash: '\\u00F8',\n Otilde: '\\u00D5',\n otilde: '\\u00F5',\n otimes: '\\u2297',\n Ouml: '\\u00D6',\n ouml: '\\u00F6',\n para: '\\u00B6',\n part: '\\u2202',\n permil: '\\u2030',\n perp: '\\u22A5',\n Phi: '\\u03A6',\n phi: '\\u03C6',\n Pi: '\\u03A0',\n pi: '\\u03C0',\n piv: '\\u03D6',\n plusmn: '\\u00B1',\n pound: '\\u00A3',\n prime: '\\u2032',\n Prime: '\\u2033',\n prod: '\\u220F',\n prop: '\\u221D',\n Psi: '\\u03A8',\n psi: '\\u03C8',\n quot: '\\u0022',\n radic: '\\u221A',\n rang: '\\u232A',\n raquo: '\\u00BB',\n rarr: '\\u2192',\n rArr: '\\u21D2',\n rceil: '\\u2309',\n rdquo: '\\u201D',\n real: '\\u211C',\n reg: '\\u00AE',\n rfloor: '\\u230B',\n Rho: '\\u03A1',\n rho: '\\u03C1',\n rlm: '\\u200F',\n rsaquo: '\\u203A',\n rsquo: '\\u2019',\n sbquo: '\\u201A',\n Scaron: '\\u0160',\n scaron: '\\u0161',\n sdot: '\\u22C5',\n sect: '\\u00A7',\n shy: '\\u00AD',\n Sigma: '\\u03A3',\n sigma: '\\u03C3',\n sigmaf: '\\u03C2',\n sim: '\\u223C',\n spades: '\\u2660',\n sub: '\\u2282',\n sube: '\\u2286',\n sum: '\\u2211',\n sup: '\\u2283',\n sup1: '\\u00B9',\n sup2: '\\u00B2',\n sup3: '\\u00B3',\n supe: '\\u2287',\n szlig: '\\u00DF',\n Tau: '\\u03A4',\n tau: '\\u03C4',\n there4: '\\u2234',\n Theta: '\\u0398',\n theta: '\\u03B8',\n thetasym: '\\u03D1',\n thinsp: '\\u2009',\n THORN: '\\u00DE',\n thorn: '\\u00FE',\n tilde: '\\u02DC',\n times: '\\u00D7',\n trade: '\\u2122',\n Uacute: '\\u00DA',\n uacute: '\\u00FA',\n uarr: '\\u2191',\n uArr: '\\u21D1',\n Ucirc: '\\u00DB',\n ucirc: '\\u00FB',\n Ugrave: '\\u00D9',\n ugrave: '\\u00F9',\n uml: '\\u00A8',\n upsih: '\\u03D2',\n Upsilon: '\\u03A5',\n upsilon: '\\u03C5',\n Uuml: '\\u00DC',\n uuml: '\\u00FC',\n weierp: '\\u2118',\n Xi: '\\u039E',\n xi: '\\u03BE',\n Yacute: '\\u00DD',\n yacute: '\\u00FD',\n yen: '\\u00A5',\n yuml: '\\u00FF',\n Yuml: '\\u0178',\n Zeta: '\\u0396',\n zeta: '\\u03B6',\n zwj: '\\u200D',\n zwnj: '\\u200C',\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TSESTree = exports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0;\n// for simplicity and backwards-compatibility\n__exportStar(require(\"./estree-to-ts-node-types\"), exports);\n__exportStar(require(\"./ts-nodes\"), exports);\nvar types_1 = require(\"@typescript-eslint/types\");\nObject.defineProperty(exports, \"AST_NODE_TYPES\", { enumerable: true, get: function () { return types_1.AST_NODE_TYPES; } });\nObject.defineProperty(exports, \"AST_TOKEN_TYPES\", { enumerable: true, get: function () { return types_1.AST_TOKEN_TYPES; } });\nObject.defineProperty(exports, \"TSESTree\", { enumerable: true, get: function () { return types_1.TSESTree; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TSError = void 0;\nexports.isLogicalOperator = isLogicalOperator;\nexports.isESTreeBinaryOperator = isESTreeBinaryOperator;\nexports.getTextForTokenKind = getTextForTokenKind;\nexports.isESTreeClassMember = isESTreeClassMember;\nexports.hasModifier = hasModifier;\nexports.getLastModifier = getLastModifier;\nexports.isComma = isComma;\nexports.isComment = isComment;\nexports.getBinaryExpressionType = getBinaryExpressionType;\nexports.getLineAndCharacterFor = getLineAndCharacterFor;\nexports.getLocFor = getLocFor;\nexports.canContainDirective = canContainDirective;\nexports.getRange = getRange;\nexports.isJSXToken = isJSXToken;\nexports.getDeclarationKind = getDeclarationKind;\nexports.getTSNodeAccessibility = getTSNodeAccessibility;\nexports.findNextToken = findNextToken;\nexports.findFirstMatchingAncestor = findFirstMatchingAncestor;\nexports.hasJSXAncestor = hasJSXAncestor;\nexports.unescapeStringLiteralText = unescapeStringLiteralText;\nexports.isComputedProperty = isComputedProperty;\nexports.isOptional = isOptional;\nexports.isChainExpression = isChainExpression;\nexports.isChildUnwrappableOptionalChain = isChildUnwrappableOptionalChain;\nexports.getTokenType = getTokenType;\nexports.convertToken = convertToken;\nexports.convertTokens = convertTokens;\nexports.createError = createError;\nexports.nodeHasIllegalDecorators = nodeHasIllegalDecorators;\nexports.nodeHasTokens = nodeHasTokens;\nexports.firstDefined = firstDefined;\nexports.identifierIsThisKeyword = identifierIsThisKeyword;\nexports.isThisIdentifier = isThisIdentifier;\nexports.isThisInTypeQuery = isThisInTypeQuery;\nexports.nodeIsPresent = nodeIsPresent;\nexports.getContainingFunction = getContainingFunction;\nexports.nodeCanBeDecorated = nodeCanBeDecorated;\nexports.isValidAssignmentTarget = isValidAssignmentTarget;\nexports.getNamespaceModifiers = getNamespaceModifiers;\nconst ts = __importStar(require(\"typescript\"));\nconst getModifiers_1 = require(\"./getModifiers\");\nconst xhtml_entities_1 = require(\"./jsx/xhtml-entities\");\nconst ts_estree_1 = require(\"./ts-estree\");\nconst version_check_1 = require(\"./version-check\");\nconst isAtLeast50 = version_check_1.typescriptVersionIsAtLeast['5.0'];\nconst SyntaxKind = ts.SyntaxKind;\nconst LOGICAL_OPERATORS = new Set([\n SyntaxKind.AmpersandAmpersandToken,\n SyntaxKind.BarBarToken,\n SyntaxKind.QuestionQuestionToken,\n]);\nconst ASSIGNMENT_OPERATORS = new Set([\n ts.SyntaxKind.AmpersandAmpersandEqualsToken,\n ts.SyntaxKind.AmpersandEqualsToken,\n ts.SyntaxKind.AsteriskAsteriskEqualsToken,\n ts.SyntaxKind.AsteriskEqualsToken,\n ts.SyntaxKind.BarBarEqualsToken,\n ts.SyntaxKind.BarEqualsToken,\n ts.SyntaxKind.CaretEqualsToken,\n ts.SyntaxKind.EqualsToken,\n ts.SyntaxKind.GreaterThanGreaterThanEqualsToken,\n ts.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken,\n ts.SyntaxKind.LessThanLessThanEqualsToken,\n ts.SyntaxKind.MinusEqualsToken,\n ts.SyntaxKind.PercentEqualsToken,\n ts.SyntaxKind.PlusEqualsToken,\n ts.SyntaxKind.QuestionQuestionEqualsToken,\n ts.SyntaxKind.SlashEqualsToken,\n]);\nconst BINARY_OPERATORS = new Set([\n SyntaxKind.AmpersandAmpersandToken,\n SyntaxKind.AmpersandToken,\n SyntaxKind.AsteriskAsteriskToken,\n SyntaxKind.AsteriskToken,\n SyntaxKind.BarBarToken,\n SyntaxKind.BarToken,\n SyntaxKind.CaretToken,\n SyntaxKind.EqualsEqualsEqualsToken,\n SyntaxKind.EqualsEqualsToken,\n SyntaxKind.ExclamationEqualsEqualsToken,\n SyntaxKind.ExclamationEqualsToken,\n SyntaxKind.GreaterThanEqualsToken,\n SyntaxKind.GreaterThanGreaterThanGreaterThanToken,\n SyntaxKind.GreaterThanGreaterThanToken,\n SyntaxKind.GreaterThanToken,\n SyntaxKind.InKeyword,\n SyntaxKind.InstanceOfKeyword,\n SyntaxKind.LessThanEqualsToken,\n SyntaxKind.LessThanLessThanToken,\n SyntaxKind.LessThanToken,\n SyntaxKind.MinusToken,\n SyntaxKind.PercentToken,\n SyntaxKind.PlusToken,\n SyntaxKind.SlashToken,\n]);\n/**\n * Returns true if the given ts.Token is the assignment operator\n */\nfunction isAssignmentOperator(operator) {\n return ASSIGNMENT_OPERATORS.has(operator.kind);\n}\n/**\n * Returns true if the given ts.Token is a logical operator\n */\nfunction isLogicalOperator(operator) {\n return LOGICAL_OPERATORS.has(operator.kind);\n}\nfunction isESTreeBinaryOperator(operator) {\n return BINARY_OPERATORS.has(operator.kind);\n}\n/**\n * Returns the string form of the given TSToken SyntaxKind\n */\nfunction getTextForTokenKind(kind) {\n return ts.tokenToString(kind);\n}\n/**\n * Returns true if the given ts.Node is a valid ESTree class member\n */\nfunction isESTreeClassMember(node) {\n return node.kind !== SyntaxKind.SemicolonClassElement;\n}\n/**\n * Checks if a ts.Node has a modifier\n */\nfunction hasModifier(modifierKind, node) {\n const modifiers = (0, getModifiers_1.getModifiers)(node);\n return modifiers?.some(modifier => modifier.kind === modifierKind) === true;\n}\n/**\n * Get last last modifier in ast\n * @returns returns last modifier if present or null\n */\nfunction getLastModifier(node) {\n const modifiers = (0, getModifiers_1.getModifiers)(node);\n if (modifiers == null) {\n return null;\n }\n return modifiers[modifiers.length - 1] ?? null;\n}\n/**\n * Returns true if the given ts.Token is a comma\n */\nfunction isComma(token) {\n return token.kind === SyntaxKind.CommaToken;\n}\n/**\n * Returns true if the given ts.Node is a comment\n */\nfunction isComment(node) {\n return (node.kind === SyntaxKind.SingleLineCommentTrivia ||\n node.kind === SyntaxKind.MultiLineCommentTrivia);\n}\n/**\n * Returns true if the given ts.Node is a JSDoc comment\n */\nfunction isJSDocComment(node) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- SyntaxKind.JSDoc was only added in TS4.7 so we can't use it yet\n return node.kind === SyntaxKind.JSDocComment;\n}\n/**\n * Returns the binary expression type of the given ts.Token\n */\nfunction getBinaryExpressionType(operator) {\n if (isAssignmentOperator(operator)) {\n return {\n type: ts_estree_1.AST_NODE_TYPES.AssignmentExpression,\n operator: getTextForTokenKind(operator.kind),\n };\n }\n if (isLogicalOperator(operator)) {\n return {\n type: ts_estree_1.AST_NODE_TYPES.LogicalExpression,\n operator: getTextForTokenKind(operator.kind),\n };\n }\n if (isESTreeBinaryOperator(operator)) {\n return {\n type: ts_estree_1.AST_NODE_TYPES.BinaryExpression,\n operator: getTextForTokenKind(operator.kind),\n };\n }\n throw new Error(`Unexpected binary operator ${ts.tokenToString(operator.kind)}`);\n}\n/**\n * Returns line and column data for the given positions\n */\nfunction getLineAndCharacterFor(pos, ast) {\n const loc = ast.getLineAndCharacterOfPosition(pos);\n return {\n column: loc.character,\n line: loc.line + 1,\n };\n}\n/**\n * Returns line and column data for the given start and end positions,\n * for the given AST\n */\nfunction getLocFor(range, ast) {\n const [start, end] = range.map(pos => getLineAndCharacterFor(pos, ast));\n return { end, start };\n}\n/**\n * Check whatever node can contain directive\n */\nfunction canContainDirective(node) {\n if (node.kind === ts.SyntaxKind.Block) {\n switch (node.parent.kind) {\n case ts.SyntaxKind.Constructor:\n case ts.SyntaxKind.GetAccessor:\n case ts.SyntaxKind.SetAccessor:\n case ts.SyntaxKind.ArrowFunction:\n case ts.SyntaxKind.FunctionExpression:\n case ts.SyntaxKind.FunctionDeclaration:\n case ts.SyntaxKind.MethodDeclaration:\n return true;\n default:\n return false;\n }\n }\n return true;\n}\n/**\n * Returns range for the given ts.Node\n */\nfunction getRange(node, ast) {\n return [node.getStart(ast), node.getEnd()];\n}\n/**\n * Returns true if a given ts.Node is a token\n */\nfunction isToken(node) {\n return (node.kind >= SyntaxKind.FirstToken && node.kind <= SyntaxKind.LastToken);\n}\n/**\n * Returns true if a given ts.Node is a JSX token\n */\nfunction isJSXToken(node) {\n return (node.kind >= SyntaxKind.JsxElement && node.kind <= SyntaxKind.JsxAttribute);\n}\n/**\n * Returns the declaration kind of the given ts.Node\n */\nfunction getDeclarationKind(node) {\n if (node.flags & ts.NodeFlags.Let) {\n return 'let';\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison\n if ((node.flags & ts.NodeFlags.AwaitUsing) === ts.NodeFlags.AwaitUsing) {\n return 'await using';\n }\n if (node.flags & ts.NodeFlags.Const) {\n return 'const';\n }\n if (node.flags & ts.NodeFlags.Using) {\n return 'using';\n }\n return 'var';\n}\n/**\n * Gets a ts.Node's accessibility level\n */\nfunction getTSNodeAccessibility(node) {\n const modifiers = (0, getModifiers_1.getModifiers)(node);\n if (modifiers == null) {\n return undefined;\n }\n for (const modifier of modifiers) {\n switch (modifier.kind) {\n case SyntaxKind.PublicKeyword:\n return 'public';\n case SyntaxKind.ProtectedKeyword:\n return 'protected';\n case SyntaxKind.PrivateKeyword:\n return 'private';\n default:\n break;\n }\n }\n return undefined;\n}\n/**\n * Finds the next token based on the previous one and its parent\n * Had to copy this from TS instead of using TS's version because theirs doesn't pass the ast to getChildren\n */\nfunction findNextToken(previousToken, parent, ast) {\n return find(parent);\n function find(n) {\n if (ts.isToken(n) && n.pos === previousToken.end) {\n // this is token that starts at the end of previous token - return it\n return n;\n }\n return firstDefined(n.getChildren(ast), (child) => {\n const shouldDiveInChildNode = \n // previous token is enclosed somewhere in the child\n (child.pos <= previousToken.pos && child.end > previousToken.end) ||\n // previous token ends exactly at the beginning of child\n child.pos === previousToken.end;\n return shouldDiveInChildNode && nodeHasTokens(child, ast)\n ? find(child)\n : undefined;\n });\n }\n}\n/**\n * Find the first matching ancestor based on the given predicate function.\n * @param node The current ts.Node\n * @param predicate The predicate function to apply to each checked ancestor\n * @returns a matching parent ts.Node\n */\nfunction findFirstMatchingAncestor(node, predicate) {\n let current = node;\n while (current) {\n if (predicate(current)) {\n return current;\n }\n current = current.parent;\n }\n return undefined;\n}\n/**\n * Returns true if a given ts.Node has a JSX token within its hierarchy\n */\nfunction hasJSXAncestor(node) {\n return !!findFirstMatchingAncestor(node, isJSXToken);\n}\n/**\n * Unescape the text content of string literals, e.g. &amp; -> &\n * @param text The escaped string literal text.\n * @returns The unescaped string literal text.\n */\nfunction unescapeStringLiteralText(text) {\n return text.replaceAll(/&(?:#\\d+|#x[\\da-fA-F]+|[0-9a-zA-Z]+);/g, entity => {\n const item = entity.slice(1, -1);\n if (item[0] === '#') {\n const codePoint = item[1] === 'x'\n ? parseInt(item.slice(2), 16)\n : parseInt(item.slice(1), 10);\n return codePoint > 0x10ffff // RangeError: Invalid code point\n ? entity\n : String.fromCodePoint(codePoint);\n }\n return xhtml_entities_1.xhtmlEntities[item] || entity;\n });\n}\n/**\n * Returns true if a given ts.Node is a computed property\n */\nfunction isComputedProperty(node) {\n return node.kind === SyntaxKind.ComputedPropertyName;\n}\n/**\n * Returns true if a given ts.Node is optional (has QuestionToken)\n * @param node ts.Node to be checked\n */\nfunction isOptional(node) {\n return !!node.questionToken;\n}\n/**\n * Returns true if the node is an optional chain node\n */\nfunction isChainExpression(node) {\n return node.type === ts_estree_1.AST_NODE_TYPES.ChainExpression;\n}\n/**\n * Returns true of the child of property access expression is an optional chain\n */\nfunction isChildUnwrappableOptionalChain(node, child) {\n return (isChainExpression(child) &&\n // (x?.y).z is semantically different, and as such .z is no longer optional\n node.expression.kind !== ts.SyntaxKind.ParenthesizedExpression);\n}\n/**\n * Returns the type of a given ts.Token\n */\nfunction getTokenType(token) {\n let keywordKind;\n if (isAtLeast50 && token.kind === SyntaxKind.Identifier) {\n keywordKind = ts.identifierToKeywordKind(token);\n }\n else if ('originalKeywordKind' in token) {\n // @ts-expect-error -- intentional fallback for older TS versions <=4.9\n keywordKind = token.originalKeywordKind;\n }\n if (keywordKind) {\n if (keywordKind === SyntaxKind.NullKeyword) {\n return ts_estree_1.AST_TOKEN_TYPES.Null;\n }\n if (keywordKind >= SyntaxKind.FirstFutureReservedWord &&\n keywordKind <= SyntaxKind.LastKeyword) {\n return ts_estree_1.AST_TOKEN_TYPES.Identifier;\n }\n return ts_estree_1.AST_TOKEN_TYPES.Keyword;\n }\n if (token.kind >= SyntaxKind.FirstKeyword &&\n token.kind <= SyntaxKind.LastFutureReservedWord) {\n if (token.kind === SyntaxKind.FalseKeyword ||\n token.kind === SyntaxKind.TrueKeyword) {\n return ts_estree_1.AST_TOKEN_TYPES.Boolean;\n }\n return ts_estree_1.AST_TOKEN_TYPES.Keyword;\n }\n if (token.kind >= SyntaxKind.FirstPunctuation &&\n token.kind <= SyntaxKind.LastPunctuation) {\n return ts_estree_1.AST_TOKEN_TYPES.Punctuator;\n }\n if (token.kind >= SyntaxKind.NoSubstitutionTemplateLiteral &&\n token.kind <= SyntaxKind.TemplateTail) {\n return ts_estree_1.AST_TOKEN_TYPES.Template;\n }\n switch (token.kind) {\n case SyntaxKind.NumericLiteral:\n return ts_estree_1.AST_TOKEN_TYPES.Numeric;\n case SyntaxKind.JsxText:\n return ts_estree_1.AST_TOKEN_TYPES.JSXText;\n case SyntaxKind.StringLiteral:\n // A TypeScript-StringLiteral token with a TypeScript-JsxAttribute or TypeScript-JsxElement parent,\n // must actually be an ESTree-JSXText token\n if (token.parent.kind === SyntaxKind.JsxAttribute ||\n token.parent.kind === SyntaxKind.JsxElement) {\n return ts_estree_1.AST_TOKEN_TYPES.JSXText;\n }\n return ts_estree_1.AST_TOKEN_TYPES.String;\n case SyntaxKind.RegularExpressionLiteral:\n return ts_estree_1.AST_TOKEN_TYPES.RegularExpression;\n case SyntaxKind.Identifier:\n case SyntaxKind.ConstructorKeyword:\n case SyntaxKind.GetKeyword:\n case SyntaxKind.SetKeyword:\n // intentional fallthrough\n default:\n }\n // Some JSX tokens have to be determined based on their parent\n if (token.kind === SyntaxKind.Identifier) {\n if (isJSXToken(token.parent)) {\n return ts_estree_1.AST_TOKEN_TYPES.JSXIdentifier;\n }\n if (token.parent.kind === SyntaxKind.PropertyAccessExpression &&\n hasJSXAncestor(token)) {\n return ts_estree_1.AST_TOKEN_TYPES.JSXIdentifier;\n }\n }\n return ts_estree_1.AST_TOKEN_TYPES.Identifier;\n}\n/**\n * Extends and formats a given ts.Token, for a given AST\n */\nfunction convertToken(token, ast) {\n const start = token.kind === SyntaxKind.JsxText\n ? token.getFullStart()\n : token.getStart(ast);\n const end = token.getEnd();\n const value = ast.text.slice(start, end);\n const tokenType = getTokenType(token);\n const range = [start, end];\n const loc = getLocFor(range, ast);\n if (tokenType === ts_estree_1.AST_TOKEN_TYPES.RegularExpression) {\n return {\n type: tokenType,\n loc,\n range,\n regex: {\n flags: value.slice(value.lastIndexOf('/') + 1),\n pattern: value.slice(1, value.lastIndexOf('/')),\n },\n value,\n };\n }\n // @ts-expect-error TS is complaining about `value` not being the correct\n // type but it is\n return {\n type: tokenType,\n loc,\n range,\n value,\n };\n}\n/**\n * Converts all tokens for the given AST\n * @param ast the AST object\n * @returns the converted Tokens\n */\nfunction convertTokens(ast) {\n const result = [];\n /**\n * @param node the ts.Node\n */\n function walk(node) {\n // TypeScript generates tokens for types in JSDoc blocks. Comment tokens\n // and their children should not be walked or added to the resulting tokens list.\n if (isComment(node) || isJSDocComment(node)) {\n return;\n }\n if (isToken(node) && node.kind !== SyntaxKind.EndOfFileToken) {\n result.push(convertToken(node, ast));\n }\n else {\n node.getChildren(ast).forEach(walk);\n }\n }\n walk(ast);\n return result;\n}\nclass TSError extends Error {\n fileName;\n location;\n constructor(message, fileName, location) {\n super(message);\n this.fileName = fileName;\n this.location = location;\n Object.defineProperty(this, 'name', {\n configurable: true,\n enumerable: false,\n value: new.target.name,\n });\n }\n // For old version of ESLint https://github.com/typescript-eslint/typescript-eslint/pull/6556#discussion_r1123237311\n get index() {\n return this.location.start.offset;\n }\n // https://github.com/eslint/eslint/blob/b09a512107249a4eb19ef5a37b0bd672266eafdb/lib/linter/linter.js#L853\n get lineNumber() {\n return this.location.start.line;\n }\n // https://github.com/eslint/eslint/blob/b09a512107249a4eb19ef5a37b0bd672266eafdb/lib/linter/linter.js#L854\n get column() {\n return this.location.start.column;\n }\n}\nexports.TSError = TSError;\nfunction createError(message, ast, startIndex, endIndex = startIndex) {\n const [start, end] = [startIndex, endIndex].map(offset => {\n const { character: column, line } = ast.getLineAndCharacterOfPosition(offset);\n return { column, line: line + 1, offset };\n });\n return new TSError(message, ast.fileName, { end, start });\n}\nfunction nodeHasIllegalDecorators(node) {\n return !!('illegalDecorators' in node &&\n node.illegalDecorators?.length);\n}\nfunction nodeHasTokens(n, ast) {\n // If we have a token or node that has a non-zero width, it must have tokens.\n // Note: getWidth() does not take trivia into account.\n return n.kind === SyntaxKind.EndOfFileToken\n ? !!n.jsDoc\n : n.getWidth(ast) !== 0;\n}\n/**\n * Like `forEach`, but suitable for use with numbers and strings (which may be falsy).\n */\nfunction firstDefined(array, callback) {\n // eslint-disable-next-line @typescript-eslint/internal/eqeq-nullish\n if (array === undefined) {\n return undefined;\n }\n for (let i = 0; i < array.length; i++) {\n const result = callback(array[i], i);\n // eslint-disable-next-line @typescript-eslint/internal/eqeq-nullish\n if (result !== undefined) {\n return result;\n }\n }\n return undefined;\n}\nfunction identifierIsThisKeyword(id) {\n return ((isAtLeast50\n ? ts.identifierToKeywordKind(id)\n : // @ts-expect-error -- intentional fallback for older TS versions <=4.9\n id.originalKeywordKind) === SyntaxKind.ThisKeyword);\n}\nfunction isThisIdentifier(node) {\n return (!!node &&\n node.kind === SyntaxKind.Identifier &&\n identifierIsThisKeyword(node));\n}\nfunction isThisInTypeQuery(node) {\n if (!isThisIdentifier(node)) {\n return false;\n }\n while (ts.isQualifiedName(node.parent) && node.parent.left === node) {\n node = node.parent;\n }\n return node.parent.kind === SyntaxKind.TypeQuery;\n}\n// `ts.nodeIsMissing`\nfunction nodeIsMissing(node) {\n if (node == null) {\n return true;\n }\n return (node.pos === node.end &&\n node.pos >= 0 &&\n node.kind !== SyntaxKind.EndOfFileToken);\n}\n// `ts.nodeIsPresent`\nfunction nodeIsPresent(node) {\n return !nodeIsMissing(node);\n}\n// `ts.getContainingFunction`\nfunction getContainingFunction(node) {\n return ts.findAncestor(node.parent, ts.isFunctionLike);\n}\n// `ts.hasAbstractModifier`\nfunction hasAbstractModifier(node) {\n return hasModifier(SyntaxKind.AbstractKeyword, node);\n}\n// `ts.getThisParameter`\nfunction getThisParameter(signature) {\n if (signature.parameters.length && !ts.isJSDocSignature(signature)) {\n const thisParameter = signature.parameters[0];\n if (parameterIsThisKeyword(thisParameter)) {\n return thisParameter;\n }\n }\n return null;\n}\n// `ts.parameterIsThisKeyword`\nfunction parameterIsThisKeyword(parameter) {\n return isThisIdentifier(parameter.name);\n}\n// Rewrite version of `ts.nodeCanBeDecorated`\n// Returns `true` for both `useLegacyDecorators: true` and `useLegacyDecorators: false`\nfunction nodeCanBeDecorated(node) {\n switch (node.kind) {\n case SyntaxKind.ClassDeclaration:\n return true;\n case SyntaxKind.ClassExpression:\n // `ts.nodeCanBeDecorated` returns `false` if `useLegacyDecorators: true`\n return true;\n case SyntaxKind.PropertyDeclaration: {\n const { parent } = node;\n // `ts.nodeCanBeDecorated` uses this if `useLegacyDecorators: true`\n if (ts.isClassDeclaration(parent)) {\n return true;\n }\n // `ts.nodeCanBeDecorated` uses this if `useLegacyDecorators: false`\n if (ts.isClassLike(parent) && !hasAbstractModifier(node)) {\n return true;\n }\n return false;\n }\n case SyntaxKind.GetAccessor:\n case SyntaxKind.SetAccessor:\n case SyntaxKind.MethodDeclaration: {\n const { parent } = node;\n // In `ts.nodeCanBeDecorated`\n // when `useLegacyDecorators: true` uses `ts.isClassDeclaration`\n // when `useLegacyDecorators: true` uses `ts.isClassLike`\n return (Boolean(node.body) &&\n (ts.isClassDeclaration(parent) || ts.isClassLike(parent)));\n }\n case SyntaxKind.Parameter: {\n // `ts.nodeCanBeDecorated` returns `false` if `useLegacyDecorators: false`\n const { parent } = node;\n const grandparent = parent.parent;\n return (Boolean(parent) &&\n 'body' in parent &&\n Boolean(parent.body) &&\n (parent.kind === SyntaxKind.Constructor ||\n parent.kind === SyntaxKind.MethodDeclaration ||\n parent.kind === SyntaxKind.SetAccessor) &&\n getThisParameter(parent) !== node &&\n Boolean(grandparent) &&\n grandparent.kind === SyntaxKind.ClassDeclaration);\n }\n }\n return false;\n}\nfunction isValidAssignmentTarget(node) {\n switch (node.kind) {\n case SyntaxKind.Identifier:\n return true;\n case SyntaxKind.PropertyAccessExpression:\n case SyntaxKind.ElementAccessExpression:\n if (node.flags & ts.NodeFlags.OptionalChain) {\n return false;\n }\n return true;\n case SyntaxKind.ParenthesizedExpression:\n case SyntaxKind.TypeAssertionExpression:\n case SyntaxKind.AsExpression:\n case SyntaxKind.SatisfiesExpression:\n case SyntaxKind.ExpressionWithTypeArguments:\n case SyntaxKind.NonNullExpression:\n return isValidAssignmentTarget(node.expression);\n default:\n return false;\n }\n}\nfunction getNamespaceModifiers(node) {\n // For following nested namespaces, use modifiers given to the topmost namespace\n // export declare namespace foo.bar.baz {}\n let modifiers = (0, getModifiers_1.getModifiers)(node);\n let moduleDeclaration = node;\n while ((!modifiers || modifiers.length === 0) &&\n ts.isModuleDeclaration(moduleDeclaration.parent)) {\n const parentModifiers = (0, getModifiers_1.getModifiers)(moduleDeclaration.parent);\n if (parentModifiers?.length) {\n modifiers = parentModifiers;\n }\n moduleDeclaration = moduleDeclaration.parent;\n }\n return modifiers;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Converter = void 0;\nexports.convertError = convertError;\n// There's lots of funny stuff due to the typing of ts.Node\n/* eslint-disable @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-unnecessary-condition, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access */\nconst ts = __importStar(require(\"typescript\"));\nconst getModifiers_1 = require(\"./getModifiers\");\nconst node_utils_1 = require(\"./node-utils\");\nconst ts_estree_1 = require(\"./ts-estree\");\nconst SyntaxKind = ts.SyntaxKind;\n/**\n * Extends and formats a given error object\n * @param error the error object\n * @returns converted error object\n */\nfunction convertError(error) {\n return (0, node_utils_1.createError)(('message' in error && error.message) || error.messageText, error.file, error.start);\n}\nclass Converter {\n allowPattern = false;\n ast;\n esTreeNodeToTSNodeMap = new WeakMap();\n options;\n tsNodeToESTreeNodeMap = new WeakMap();\n /**\n * Converts a TypeScript node into an ESTree node\n * @param ast the full TypeScript AST\n * @param options additional options for the conversion\n * @returns the converted ESTreeNode\n */\n constructor(ast, options) {\n this.ast = ast;\n this.options = { ...options };\n }\n #checkForStatementDeclaration(initializer, kind) {\n const loop = kind === ts.SyntaxKind.ForInStatement ? 'for...in' : 'for...of';\n if (ts.isVariableDeclarationList(initializer)) {\n if (initializer.declarations.length !== 1) {\n this.#throwError(initializer, `Only a single variable declaration is allowed in a '${loop}' statement.`);\n }\n const declaration = initializer.declarations[0];\n if (declaration.initializer) {\n this.#throwError(declaration, `The variable declaration of a '${loop}' statement cannot have an initializer.`);\n }\n else if (declaration.type) {\n this.#throwError(declaration, `The variable declaration of a '${loop}' statement cannot have a type annotation.`);\n }\n if (kind === ts.SyntaxKind.ForInStatement &&\n initializer.flags & ts.NodeFlags.Using) {\n this.#throwError(initializer, \"The left-hand side of a 'for...in' statement cannot be a 'using' declaration.\");\n }\n }\n else if (!(0, node_utils_1.isValidAssignmentTarget)(initializer) &&\n initializer.kind !== ts.SyntaxKind.ObjectLiteralExpression &&\n initializer.kind !== ts.SyntaxKind.ArrayLiteralExpression) {\n this.#throwError(initializer, `The left-hand side of a '${loop}' statement must be a variable or a property access.`);\n }\n }\n #checkModifiers(node) {\n if (this.options.allowInvalidAST) {\n return;\n }\n // typescript<5.0.0\n if ((0, node_utils_1.nodeHasIllegalDecorators)(node)) {\n this.#throwError(node.illegalDecorators[0], 'Decorators are not valid here.');\n }\n for (const decorator of (0, getModifiers_1.getDecorators)(node, \n /* includeIllegalDecorators */ true) ?? []) {\n // `checkGrammarModifiers` function in typescript\n if (!(0, node_utils_1.nodeCanBeDecorated)(node)) {\n if (ts.isMethodDeclaration(node) && !(0, node_utils_1.nodeIsPresent)(node.body)) {\n this.#throwError(decorator, 'A decorator can only decorate a method implementation, not an overload.');\n }\n else {\n this.#throwError(decorator, 'Decorators are not valid here.');\n }\n }\n }\n for (const modifier of (0, getModifiers_1.getModifiers)(node, \n /* includeIllegalModifiers */ true) ?? []) {\n if (modifier.kind !== SyntaxKind.ReadonlyKeyword) {\n if (node.kind === SyntaxKind.PropertySignature ||\n node.kind === SyntaxKind.MethodSignature) {\n this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a type member`);\n }\n if (node.kind === SyntaxKind.IndexSignature &&\n (modifier.kind !== SyntaxKind.StaticKeyword ||\n !ts.isClassLike(node.parent))) {\n this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on an index signature`);\n }\n }\n if (modifier.kind !== SyntaxKind.InKeyword &&\n modifier.kind !== SyntaxKind.OutKeyword &&\n modifier.kind !== SyntaxKind.ConstKeyword &&\n node.kind === SyntaxKind.TypeParameter) {\n this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a type parameter`);\n }\n if ((modifier.kind === SyntaxKind.InKeyword ||\n modifier.kind === SyntaxKind.OutKeyword) &&\n (node.kind !== SyntaxKind.TypeParameter ||\n !(ts.isInterfaceDeclaration(node.parent) ||\n ts.isClassLike(node.parent) ||\n ts.isTypeAliasDeclaration(node.parent)))) {\n this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier can only appear on a type parameter of a class, interface or type alias`);\n }\n if (modifier.kind === SyntaxKind.ReadonlyKeyword &&\n node.kind !== SyntaxKind.PropertyDeclaration &&\n node.kind !== SyntaxKind.PropertySignature &&\n node.kind !== SyntaxKind.IndexSignature &&\n node.kind !== SyntaxKind.Parameter) {\n this.#throwError(modifier, \"'readonly' modifier can only appear on a property declaration or index signature.\");\n }\n if (modifier.kind === SyntaxKind.DeclareKeyword &&\n ts.isClassLike(node.parent) &&\n !ts.isPropertyDeclaration(node)) {\n this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on class elements of this kind.`);\n }\n if (modifier.kind === SyntaxKind.DeclareKeyword &&\n ts.isVariableStatement(node)) {\n const declarationKind = (0, node_utils_1.getDeclarationKind)(node.declarationList);\n if (declarationKind === 'using' || declarationKind === 'await using') {\n this.#throwError(modifier, `'declare' modifier cannot appear on a '${declarationKind}' declaration.`);\n }\n }\n if (modifier.kind === SyntaxKind.AbstractKeyword &&\n node.kind !== SyntaxKind.ClassDeclaration &&\n node.kind !== SyntaxKind.ConstructorType &&\n node.kind !== SyntaxKind.MethodDeclaration &&\n node.kind !== SyntaxKind.PropertyDeclaration &&\n node.kind !== SyntaxKind.GetAccessor &&\n node.kind !== SyntaxKind.SetAccessor) {\n this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier can only appear on a class, method, or property declaration.`);\n }\n if ((modifier.kind === SyntaxKind.StaticKeyword ||\n modifier.kind === SyntaxKind.PublicKeyword ||\n modifier.kind === SyntaxKind.ProtectedKeyword ||\n modifier.kind === SyntaxKind.PrivateKeyword) &&\n (node.parent.kind === SyntaxKind.ModuleBlock ||\n node.parent.kind === SyntaxKind.SourceFile)) {\n this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a module or namespace element.`);\n }\n if (modifier.kind === SyntaxKind.AccessorKeyword &&\n node.kind !== SyntaxKind.PropertyDeclaration) {\n this.#throwError(modifier, \"'accessor' modifier can only appear on a property declaration.\");\n }\n // `checkGrammarAsyncModifier` function in `typescript`\n if (modifier.kind === SyntaxKind.AsyncKeyword &&\n node.kind !== SyntaxKind.MethodDeclaration &&\n node.kind !== SyntaxKind.FunctionDeclaration &&\n node.kind !== SyntaxKind.FunctionExpression &&\n node.kind !== SyntaxKind.ArrowFunction) {\n this.#throwError(modifier, \"'async' modifier cannot be used here.\");\n }\n // `checkGrammarModifiers` function in `typescript`\n if (node.kind === SyntaxKind.Parameter &&\n (modifier.kind === SyntaxKind.StaticKeyword ||\n modifier.kind === SyntaxKind.ExportKeyword ||\n modifier.kind === SyntaxKind.DeclareKeyword ||\n modifier.kind === SyntaxKind.AsyncKeyword)) {\n this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a parameter.`);\n }\n // `checkGrammarModifiers` function in `typescript`\n if (modifier.kind === SyntaxKind.PublicKeyword ||\n modifier.kind === SyntaxKind.ProtectedKeyword ||\n modifier.kind === SyntaxKind.PrivateKeyword) {\n for (const anotherModifier of (0, getModifiers_1.getModifiers)(node) ?? []) {\n if (anotherModifier !== modifier &&\n (anotherModifier.kind === SyntaxKind.PublicKeyword ||\n anotherModifier.kind === SyntaxKind.ProtectedKeyword ||\n anotherModifier.kind === SyntaxKind.PrivateKeyword)) {\n this.#throwError(anotherModifier, `Accessibility modifier already seen.`);\n }\n }\n }\n // `checkParameter` function in `typescript`\n if (node.kind === SyntaxKind.Parameter &&\n // In `typescript` package, it's `ts.hasSyntacticModifier(node, ts.ModifierFlags.ParameterPropertyModifier)`\n // https://github.com/typescript-eslint/typescript-eslint/pull/6615#discussion_r1136489935\n (modifier.kind === SyntaxKind.PublicKeyword ||\n modifier.kind === SyntaxKind.PrivateKeyword ||\n modifier.kind === SyntaxKind.ProtectedKeyword ||\n modifier.kind === SyntaxKind.ReadonlyKeyword ||\n modifier.kind === SyntaxKind.OverrideKeyword)) {\n const func = (0, node_utils_1.getContainingFunction)(node);\n if (!(func.kind === SyntaxKind.Constructor && (0, node_utils_1.nodeIsPresent)(func.body))) {\n this.#throwError(modifier, 'A parameter property is only allowed in a constructor implementation.');\n }\n }\n }\n }\n #throwError(node, message) {\n let start;\n let end;\n if (typeof node === 'number') {\n start = end = node;\n }\n else {\n start = node.getStart(this.ast);\n end = node.getEnd();\n }\n throw (0, node_utils_1.createError)(message, this.ast, start, end);\n }\n #throwUnlessAllowInvalidAST(node, message) {\n if (!this.options.allowInvalidAST) {\n this.#throwError(node, message);\n }\n }\n /**\n * Creates a getter for a property under aliasKey that returns the value under\n * valueKey. If suppressDeprecatedPropertyWarnings is not enabled, the\n * getter also console warns about the deprecation.\n *\n * @see https://github.com/typescript-eslint/typescript-eslint/issues/6469\n */\n #withDeprecatedAliasGetter(node, aliasKey, valueKey, suppressWarnings = false) {\n let warned = suppressWarnings;\n Object.defineProperty(node, aliasKey, {\n configurable: true,\n get: this.options.suppressDeprecatedPropertyWarnings\n ? () => node[valueKey]\n : () => {\n if (!warned) {\n process.emitWarning(`The '${aliasKey}' property is deprecated on ${node.type} nodes. Use '${valueKey}' instead. See https://typescript-eslint.io/troubleshooting/faqs/general#the-key-property-is-deprecated-on-type-nodes-use-key-instead-warnings.`, 'DeprecationWarning');\n warned = true;\n }\n return node[valueKey];\n },\n set(value) {\n Object.defineProperty(node, aliasKey, {\n enumerable: true,\n value,\n writable: true,\n });\n },\n });\n return node;\n }\n #withDeprecatedGetter(node, deprecatedKey, preferredKey, value) {\n let warned = false;\n Object.defineProperty(node, deprecatedKey, {\n configurable: true,\n get: this.options.suppressDeprecatedPropertyWarnings\n ? () => value\n : () => {\n if (!warned) {\n process.emitWarning(`The '${deprecatedKey}' property is deprecated on ${node.type} nodes. Use ${preferredKey} instead. See https://typescript-eslint.io/troubleshooting/faqs/general#the-key-property-is-deprecated-on-type-nodes-use-key-instead-warnings.`, 'DeprecationWarning');\n warned = true;\n }\n return value;\n },\n set(value) {\n Object.defineProperty(node, deprecatedKey, {\n enumerable: true,\n value,\n writable: true,\n });\n },\n });\n return node;\n }\n assertModuleSpecifier(node, allowNull) {\n if (!allowNull && node.moduleSpecifier == null) {\n this.#throwUnlessAllowInvalidAST(node, 'Module specifier must be a string literal.');\n }\n if (node.moduleSpecifier &&\n node.moduleSpecifier?.kind !== SyntaxKind.StringLiteral) {\n this.#throwUnlessAllowInvalidAST(node.moduleSpecifier, 'Module specifier must be a string literal.');\n }\n }\n convertBindingNameWithTypeAnnotation(name, tsType, parent) {\n const id = this.convertPattern(name);\n if (tsType) {\n id.typeAnnotation = this.convertTypeAnnotation(tsType, parent);\n this.fixParentLocation(id, id.typeAnnotation.range);\n }\n return id;\n }\n /**\n * Coverts body Nodes and add a directive field to StringLiterals\n * @param nodes of ts.Node\n * @param parent parentNode\n * @returns Array of body statements\n */\n convertBodyExpressions(nodes, parent) {\n let allowDirectives = (0, node_utils_1.canContainDirective)(parent);\n return (nodes\n .map(statement => {\n const child = this.convertChild(statement);\n if (allowDirectives) {\n if (child?.expression &&\n ts.isExpressionStatement(statement) &&\n ts.isStringLiteral(statement.expression)) {\n const raw = child.expression.raw;\n child.directive = raw.slice(1, -1);\n return child; // child can be null, but it's filtered below\n }\n allowDirectives = false;\n }\n return child; // child can be null, but it's filtered below\n })\n // filter out unknown nodes for now\n .filter(statement => statement));\n }\n convertChainExpression(node, tsNode) {\n const { child, isOptional } = (() => {\n if (node.type === ts_estree_1.AST_NODE_TYPES.MemberExpression) {\n return { child: node.object, isOptional: node.optional };\n }\n if (node.type === ts_estree_1.AST_NODE_TYPES.CallExpression) {\n return { child: node.callee, isOptional: node.optional };\n }\n return { child: node.expression, isOptional: false };\n })();\n const isChildUnwrappable = (0, node_utils_1.isChildUnwrappableOptionalChain)(tsNode, child);\n if (!isChildUnwrappable && !isOptional) {\n return node;\n }\n if (isChildUnwrappable && (0, node_utils_1.isChainExpression)(child)) {\n // unwrap the chain expression child\n const newChild = child.expression;\n if (node.type === ts_estree_1.AST_NODE_TYPES.MemberExpression) {\n node.object = newChild;\n }\n else if (node.type === ts_estree_1.AST_NODE_TYPES.CallExpression) {\n node.callee = newChild;\n }\n else {\n node.expression = newChild;\n }\n }\n return this.createNode(tsNode, {\n type: ts_estree_1.AST_NODE_TYPES.ChainExpression,\n expression: node,\n });\n }\n /**\n * Converts a TypeScript node into an ESTree node.\n * @param child the child ts.Node\n * @param parent parentNode\n * @returns the converted ESTree node\n */\n convertChild(child, parent) {\n return this.converter(child, parent, false);\n }\n /**\n * Converts a TypeScript node into an ESTree node.\n * @param child the child ts.Node\n * @param parent parentNode\n * @returns the converted ESTree node\n */\n convertPattern(child, parent) {\n return this.converter(child, parent, true);\n }\n /**\n * Converts a child into a type annotation. This creates an intermediary\n * TypeAnnotation node to match what Flow does.\n * @param child The TypeScript AST node to convert.\n * @param parent parentNode\n * @returns The type annotation node.\n */\n convertTypeAnnotation(child, parent) {\n // in FunctionType and ConstructorType typeAnnotation has 2 characters `=>` and in other places is just colon\n const offset = parent?.kind === SyntaxKind.FunctionType ||\n parent?.kind === SyntaxKind.ConstructorType\n ? 2\n : 1;\n const annotationStartCol = child.getFullStart() - offset;\n const range = [annotationStartCol, child.end];\n const loc = (0, node_utils_1.getLocFor)(range, this.ast);\n return {\n type: ts_estree_1.AST_NODE_TYPES.TSTypeAnnotation,\n loc,\n range,\n typeAnnotation: this.convertChild(child),\n };\n }\n /**\n * Converts a ts.Node's typeArguments to TSTypeParameterInstantiation node\n * @param typeArguments ts.NodeArray typeArguments\n * @param node parent used to create this node\n * @returns TypeParameterInstantiation node\n */\n convertTypeArgumentsToTypeParameterInstantiation(typeArguments, node) {\n const greaterThanToken = (0, node_utils_1.findNextToken)(typeArguments, this.ast, this.ast);\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSTypeParameterInstantiation,\n range: [typeArguments.pos - 1, greaterThanToken.end],\n params: typeArguments.map(typeArgument => this.convertChild(typeArgument)),\n });\n }\n /**\n * Converts a ts.Node's typeParameters to TSTypeParameterDeclaration node\n * @param typeParameters ts.Node typeParameters\n * @returns TypeParameterDeclaration node\n */\n convertTSTypeParametersToTypeParametersDeclaration(typeParameters) {\n const greaterThanToken = (0, node_utils_1.findNextToken)(typeParameters, this.ast, this.ast);\n const range = [\n typeParameters.pos - 1,\n greaterThanToken.end,\n ];\n return {\n type: ts_estree_1.AST_NODE_TYPES.TSTypeParameterDeclaration,\n loc: (0, node_utils_1.getLocFor)(range, this.ast),\n range,\n params: typeParameters.map(typeParameter => this.convertChild(typeParameter)),\n };\n }\n /**\n * Converts an array of ts.Node parameters into an array of ESTreeNode params\n * @param parameters An array of ts.Node params to be converted\n * @returns an array of converted ESTreeNode params\n */\n convertParameters(parameters) {\n if (!parameters?.length) {\n return [];\n }\n return parameters.map(param => {\n const convertedParam = this.convertChild(param);\n convertedParam.decorators =\n (0, getModifiers_1.getDecorators)(param)?.map(el => this.convertChild(el)) ?? [];\n return convertedParam;\n });\n }\n /**\n * Converts a TypeScript node into an ESTree node.\n * @param node the child ts.Node\n * @param parent parentNode\n * @param allowPattern flag to determine if patterns are allowed\n * @returns the converted ESTree node\n */\n converter(node, parent, allowPattern) {\n /**\n * Exit early for null and undefined\n */\n if (!node) {\n return null;\n }\n this.#checkModifiers(node);\n const pattern = this.allowPattern;\n if (allowPattern != null) {\n this.allowPattern = allowPattern;\n }\n const result = this.convertNode(node, (parent ?? node.parent));\n this.registerTSNodeInNodeMap(node, result);\n this.allowPattern = pattern;\n return result;\n }\n convertImportAttributes(node) {\n return node == null\n ? []\n : node.elements.map(element => this.convertChild(element));\n }\n convertJSXIdentifier(node) {\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier,\n name: node.getText(),\n });\n this.registerTSNodeInNodeMap(node, result);\n return result;\n }\n convertJSXNamespaceOrIdentifier(node) {\n // TypeScript@5.1 added in ts.JsxNamespacedName directly\n // We prefer using that if it's relevant for this node type\n if (node.kind === ts.SyntaxKind.JsxNamespacedName) {\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXNamespacedName,\n name: this.createNode(node.name, {\n type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier,\n name: node.name.text,\n }),\n namespace: this.createNode(node.namespace, {\n type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier,\n name: node.namespace.text,\n }),\n });\n this.registerTSNodeInNodeMap(node, result);\n return result;\n }\n // TypeScript@<5.1 has to manually parse the JSX attributes\n const text = node.getText();\n const colonIndex = text.indexOf(':');\n // this is intentional we can ignore conversion if `:` is in first character\n if (colonIndex > 0) {\n const range = (0, node_utils_1.getRange)(node, this.ast);\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXNamespacedName,\n range,\n name: this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier,\n range: [range[0] + colonIndex + 1, range[1]],\n name: text.slice(colonIndex + 1),\n }),\n namespace: this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier,\n range: [range[0], range[0] + colonIndex],\n name: text.slice(0, colonIndex),\n }),\n });\n this.registerTSNodeInNodeMap(node, result);\n return result;\n }\n return this.convertJSXIdentifier(node);\n }\n /**\n * Converts a TypeScript JSX node.tagName into an ESTree node.name\n * @param node the tagName object from a JSX ts.Node\n * @returns the converted ESTree name object\n */\n convertJSXTagName(node, parent) {\n let result;\n switch (node.kind) {\n case SyntaxKind.PropertyAccessExpression:\n if (node.name.kind === SyntaxKind.PrivateIdentifier) {\n // This is one of the few times where TS explicitly errors, and doesn't even gracefully handle the syntax.\n // So we shouldn't ever get into this state to begin with.\n this.#throwError(node.name, 'Non-private identifier expected.');\n }\n result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXMemberExpression,\n object: this.convertJSXTagName(node.expression, parent),\n property: this.convertJSXIdentifier(node.name),\n });\n break;\n case SyntaxKind.ThisKeyword:\n case SyntaxKind.Identifier:\n default:\n return this.convertJSXNamespaceOrIdentifier(node);\n }\n this.registerTSNodeInNodeMap(node, result);\n return result;\n }\n convertMethodSignature(node) {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSMethodSignature,\n accessibility: (0, node_utils_1.getTSNodeAccessibility)(node),\n computed: (0, node_utils_1.isComputedProperty)(node.name),\n key: this.convertChild(node.name),\n kind: (() => {\n switch (node.kind) {\n case SyntaxKind.GetAccessor:\n return 'get';\n case SyntaxKind.SetAccessor:\n return 'set';\n case SyntaxKind.MethodSignature:\n return 'method';\n }\n })(),\n optional: (0, node_utils_1.isOptional)(node),\n params: this.convertParameters(node.parameters),\n readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node),\n returnType: node.type && this.convertTypeAnnotation(node.type, node),\n static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node),\n typeParameters: node.typeParameters &&\n this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters),\n });\n }\n /**\n * Uses the provided range location to adjust the location data of the given Node\n * @param result The node that will have its location data mutated\n * @param childRange The child node range used to expand location\n */\n fixParentLocation(result, childRange) {\n if (childRange[0] < result.range[0]) {\n result.range[0] = childRange[0];\n result.loc.start = (0, node_utils_1.getLineAndCharacterFor)(result.range[0], this.ast);\n }\n if (childRange[1] > result.range[1]) {\n result.range[1] = childRange[1];\n result.loc.end = (0, node_utils_1.getLineAndCharacterFor)(result.range[1], this.ast);\n }\n }\n /**\n * Converts a TypeScript node into an ESTree node.\n * The core of the conversion logic:\n * Identify and convert each relevant TypeScript SyntaxKind\n * @returns the converted ESTree node\n */\n convertNode(node, parent) {\n switch (node.kind) {\n case SyntaxKind.SourceFile: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Program,\n range: [node.getStart(this.ast), node.endOfFileToken.end],\n body: this.convertBodyExpressions(node.statements, node),\n comments: undefined,\n sourceType: node.externalModuleIndicator ? 'module' : 'script',\n tokens: undefined,\n });\n }\n case SyntaxKind.Block: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.BlockStatement,\n body: this.convertBodyExpressions(node.statements, node),\n });\n }\n case SyntaxKind.Identifier: {\n if ((0, node_utils_1.isThisInTypeQuery)(node)) {\n // special case for `typeof this.foo` - TS emits an Identifier for `this`\n // but we want to treat it as a ThisExpression for consistency\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ThisExpression,\n });\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Identifier,\n decorators: [],\n name: node.text,\n optional: false,\n typeAnnotation: undefined,\n });\n }\n case SyntaxKind.PrivateIdentifier: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.PrivateIdentifier,\n // typescript includes the `#` in the text\n name: node.text.slice(1),\n });\n }\n case SyntaxKind.WithStatement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.WithStatement,\n body: this.convertChild(node.statement),\n object: this.convertChild(node.expression),\n });\n // Control Flow\n case SyntaxKind.ReturnStatement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ReturnStatement,\n argument: this.convertChild(node.expression),\n });\n case SyntaxKind.LabeledStatement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.LabeledStatement,\n body: this.convertChild(node.statement),\n label: this.convertChild(node.label),\n });\n case SyntaxKind.ContinueStatement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ContinueStatement,\n label: this.convertChild(node.label),\n });\n case SyntaxKind.BreakStatement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.BreakStatement,\n label: this.convertChild(node.label),\n });\n // Choice\n case SyntaxKind.IfStatement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.IfStatement,\n alternate: this.convertChild(node.elseStatement),\n consequent: this.convertChild(node.thenStatement),\n test: this.convertChild(node.expression),\n });\n case SyntaxKind.SwitchStatement:\n if (node.caseBlock.clauses.filter(switchCase => switchCase.kind === SyntaxKind.DefaultClause).length > 1) {\n this.#throwError(node, \"A 'default' clause cannot appear more than once in a 'switch' statement.\");\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.SwitchStatement,\n cases: node.caseBlock.clauses.map(el => this.convertChild(el)),\n discriminant: this.convertChild(node.expression),\n });\n case SyntaxKind.CaseClause:\n case SyntaxKind.DefaultClause:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.SwitchCase,\n // expression is present in case only\n consequent: node.statements.map(el => this.convertChild(el)),\n test: node.kind === SyntaxKind.CaseClause\n ? this.convertChild(node.expression)\n : null,\n });\n // Exceptions\n case SyntaxKind.ThrowStatement:\n if (node.expression.end === node.expression.pos) {\n this.#throwUnlessAllowInvalidAST(node, 'A throw statement must throw an expression.');\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ThrowStatement,\n argument: this.convertChild(node.expression),\n });\n case SyntaxKind.TryStatement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TryStatement,\n block: this.convertChild(node.tryBlock),\n finalizer: this.convertChild(node.finallyBlock),\n handler: this.convertChild(node.catchClause),\n });\n case SyntaxKind.CatchClause:\n if (node.variableDeclaration?.initializer) {\n this.#throwError(node.variableDeclaration.initializer, 'Catch clause variable cannot have an initializer.');\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.CatchClause,\n body: this.convertChild(node.block),\n param: node.variableDeclaration\n ? this.convertBindingNameWithTypeAnnotation(node.variableDeclaration.name, node.variableDeclaration.type)\n : null,\n });\n // Loops\n case SyntaxKind.WhileStatement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.WhileStatement,\n body: this.convertChild(node.statement),\n test: this.convertChild(node.expression),\n });\n /**\n * Unlike other parsers, TypeScript calls a \"DoWhileStatement\"\n * a \"DoStatement\"\n */\n case SyntaxKind.DoStatement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.DoWhileStatement,\n body: this.convertChild(node.statement),\n test: this.convertChild(node.expression),\n });\n case SyntaxKind.ForStatement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ForStatement,\n body: this.convertChild(node.statement),\n init: this.convertChild(node.initializer),\n test: this.convertChild(node.condition),\n update: this.convertChild(node.incrementor),\n });\n case SyntaxKind.ForInStatement:\n this.#checkForStatementDeclaration(node.initializer, node.kind);\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ForInStatement,\n body: this.convertChild(node.statement),\n left: this.convertPattern(node.initializer),\n right: this.convertChild(node.expression),\n });\n case SyntaxKind.ForOfStatement: {\n this.#checkForStatementDeclaration(node.initializer, node.kind);\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ForOfStatement,\n await: Boolean(node.awaitModifier &&\n node.awaitModifier.kind === SyntaxKind.AwaitKeyword),\n body: this.convertChild(node.statement),\n left: this.convertPattern(node.initializer),\n right: this.convertChild(node.expression),\n });\n }\n // Declarations\n case SyntaxKind.FunctionDeclaration: {\n const isDeclare = (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node);\n const isAsync = (0, node_utils_1.hasModifier)(SyntaxKind.AsyncKeyword, node);\n const isGenerator = !!node.asteriskToken;\n if (isDeclare) {\n if (node.body) {\n this.#throwError(node, 'An implementation cannot be declared in ambient contexts.');\n }\n else if (isAsync) {\n this.#throwError(node, \"'async' modifier cannot be used in an ambient context.\");\n }\n else if (isGenerator) {\n this.#throwError(node, 'Generators are not allowed in an ambient context.');\n }\n }\n else if (!node.body && isGenerator) {\n this.#throwError(node, 'A function signature cannot be declared as a generator.');\n }\n const result = this.createNode(node, {\n // declare implies no body due to the invariant above\n type: !node.body\n ? ts_estree_1.AST_NODE_TYPES.TSDeclareFunction\n : ts_estree_1.AST_NODE_TYPES.FunctionDeclaration,\n async: isAsync,\n body: this.convertChild(node.body) || undefined,\n declare: isDeclare,\n expression: false,\n generator: isGenerator,\n id: this.convertChild(node.name),\n params: this.convertParameters(node.parameters),\n returnType: node.type && this.convertTypeAnnotation(node.type, node),\n typeParameters: node.typeParameters &&\n this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters),\n });\n return this.fixExports(node, result);\n }\n case SyntaxKind.VariableDeclaration: {\n const definite = !!node.exclamationToken;\n const init = this.convertChild(node.initializer);\n const id = this.convertBindingNameWithTypeAnnotation(node.name, node.type, node);\n if (definite) {\n if (init) {\n this.#throwError(node, 'Declarations with initializers cannot also have definite assignment assertions.');\n }\n else if (id.type !== ts_estree_1.AST_NODE_TYPES.Identifier ||\n !id.typeAnnotation) {\n this.#throwError(node, 'Declarations with definite assignment assertions must also have type annotations.');\n }\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.VariableDeclarator,\n definite,\n id,\n init,\n });\n }\n case SyntaxKind.VariableStatement: {\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.VariableDeclaration,\n declarations: node.declarationList.declarations.map(el => this.convertChild(el)),\n declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node),\n kind: (0, node_utils_1.getDeclarationKind)(node.declarationList),\n });\n if (!result.declarations.length) {\n this.#throwUnlessAllowInvalidAST(node, 'A variable declaration list must have at least one variable declarator.');\n }\n if (result.kind === 'using' || result.kind === 'await using') {\n node.declarationList.declarations.forEach((declaration, i) => {\n if (result.declarations[i].init == null) {\n this.#throwError(declaration, `'${result.kind}' declarations must be initialized.`);\n }\n if (result.declarations[i].id.type !== ts_estree_1.AST_NODE_TYPES.Identifier) {\n this.#throwError(declaration.name, `'${result.kind}' declarations may not have binding patterns.`);\n }\n });\n }\n // Definite assignment only allowed for non-declare let and var\n if (result.declare ||\n ['await using', 'const', 'using'].includes(result.kind)) {\n node.declarationList.declarations.forEach((declaration, i) => {\n if (result.declarations[i].definite) {\n this.#throwError(declaration, `A definite assignment assertion '!' is not permitted in this context.`);\n }\n });\n }\n if (result.declare) {\n node.declarationList.declarations.forEach((declaration, i) => {\n if (result.declarations[i].init &&\n (['let', 'var'].includes(result.kind) ||\n result.declarations[i].id.typeAnnotation)) {\n this.#throwError(declaration, `Initializers are not permitted in ambient contexts.`);\n }\n });\n // Theoretically, only certain initializers are allowed for declare const,\n // (TS1254: A 'const' initializer in an ambient context must be a string\n // or numeric literal or literal enum reference.) but we just allow\n // all expressions\n }\n // Note! No-declare does not mean the variable is not ambient, because\n // it can be further nested in other declare contexts. Therefore we cannot\n // check for const initializers.\n /**\n * Semantically, decorators are not allowed on variable declarations,\n * Pre 4.8 TS would include them in the AST, so we did as well.\n * However as of 4.8 TS no longer includes it (as it is, well, invalid).\n *\n * So for consistency across versions, we no longer include it either.\n */\n return this.fixExports(node, result);\n }\n // mostly for for-of, for-in\n case SyntaxKind.VariableDeclarationList: {\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.VariableDeclaration,\n declarations: node.declarations.map(el => this.convertChild(el)),\n declare: false,\n kind: (0, node_utils_1.getDeclarationKind)(node),\n });\n if (result.kind === 'using' || result.kind === 'await using') {\n node.declarations.forEach((declaration, i) => {\n if (result.declarations[i].init != null) {\n this.#throwError(declaration, `'${result.kind}' declarations may not be initialized in for statement.`);\n }\n if (result.declarations[i].id.type !== ts_estree_1.AST_NODE_TYPES.Identifier) {\n this.#throwError(declaration.name, `'${result.kind}' declarations may not have binding patterns.`);\n }\n });\n }\n return result;\n }\n // Expressions\n case SyntaxKind.ExpressionStatement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ExpressionStatement,\n directive: undefined,\n expression: this.convertChild(node.expression),\n });\n case SyntaxKind.ThisKeyword:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ThisExpression,\n });\n case SyntaxKind.ArrayLiteralExpression: {\n // TypeScript uses ArrayLiteralExpression in destructuring assignment, too\n if (this.allowPattern) {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ArrayPattern,\n decorators: [],\n elements: node.elements.map(el => this.convertPattern(el)),\n optional: false,\n typeAnnotation: undefined,\n });\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ArrayExpression,\n elements: node.elements.map(el => this.convertChild(el)),\n });\n }\n case SyntaxKind.ObjectLiteralExpression: {\n // TypeScript uses ObjectLiteralExpression in destructuring assignment, too\n if (this.allowPattern) {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ObjectPattern,\n decorators: [],\n optional: false,\n properties: node.properties.map(el => this.convertPattern(el)),\n typeAnnotation: undefined,\n });\n }\n const properties = [];\n for (const property of node.properties) {\n if ((property.kind === SyntaxKind.GetAccessor ||\n property.kind === SyntaxKind.SetAccessor ||\n property.kind === SyntaxKind.MethodDeclaration) &&\n !property.body) {\n this.#throwUnlessAllowInvalidAST(property.end - 1, \"'{' expected.\");\n }\n properties.push(this.convertChild(property));\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ObjectExpression,\n properties,\n });\n }\n case SyntaxKind.PropertyAssignment: {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const { exclamationToken, questionToken } = node;\n if (questionToken) {\n this.#throwError(questionToken, 'A property assignment cannot have a question token.');\n }\n if (exclamationToken) {\n this.#throwError(exclamationToken, 'A property assignment cannot have an exclamation token.');\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Property,\n computed: (0, node_utils_1.isComputedProperty)(node.name),\n key: this.convertChild(node.name),\n kind: 'init',\n method: false,\n optional: false,\n shorthand: false,\n value: this.converter(node.initializer, node, this.allowPattern),\n });\n }\n case SyntaxKind.ShorthandPropertyAssignment: {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const { exclamationToken, modifiers, questionToken } = node;\n if (modifiers) {\n this.#throwError(modifiers[0], 'A shorthand property assignment cannot have modifiers.');\n }\n if (questionToken) {\n this.#throwError(questionToken, 'A shorthand property assignment cannot have a question token.');\n }\n if (exclamationToken) {\n this.#throwError(exclamationToken, 'A shorthand property assignment cannot have an exclamation token.');\n }\n if (node.objectAssignmentInitializer) {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Property,\n computed: false,\n key: this.convertChild(node.name),\n kind: 'init',\n method: false,\n optional: false,\n shorthand: true,\n value: this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern,\n decorators: [],\n left: this.convertPattern(node.name),\n optional: false,\n right: this.convertChild(node.objectAssignmentInitializer),\n typeAnnotation: undefined,\n }),\n });\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Property,\n computed: false,\n key: this.convertChild(node.name),\n kind: 'init',\n method: false,\n optional: false,\n shorthand: true,\n value: this.convertChild(node.name),\n });\n }\n case SyntaxKind.ComputedPropertyName:\n return this.convertChild(node.expression);\n case SyntaxKind.PropertyDeclaration: {\n const isAbstract = (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node);\n if (isAbstract && node.initializer) {\n this.#throwError(node.initializer, `Abstract property cannot have an initializer.`);\n }\n const isAccessor = (0, node_utils_1.hasModifier)(SyntaxKind.AccessorKeyword, node);\n const type = (() => {\n if (isAccessor) {\n if (isAbstract) {\n return ts_estree_1.AST_NODE_TYPES.TSAbstractAccessorProperty;\n }\n return ts_estree_1.AST_NODE_TYPES.AccessorProperty;\n }\n if (isAbstract) {\n return ts_estree_1.AST_NODE_TYPES.TSAbstractPropertyDefinition;\n }\n return ts_estree_1.AST_NODE_TYPES.PropertyDefinition;\n })();\n const key = this.convertChild(node.name);\n return this.createNode(node, {\n type,\n accessibility: (0, node_utils_1.getTSNodeAccessibility)(node),\n computed: (0, node_utils_1.isComputedProperty)(node.name),\n declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node),\n decorators: (0, getModifiers_1.getDecorators)(node)?.map(el => this.convertChild(el)) ?? [],\n definite: !!node.exclamationToken,\n key,\n optional: (key.type === ts_estree_1.AST_NODE_TYPES.Literal ||\n node.name.kind === SyntaxKind.Identifier ||\n node.name.kind === SyntaxKind.ComputedPropertyName ||\n node.name.kind === SyntaxKind.PrivateIdentifier) &&\n !!node.questionToken,\n override: (0, node_utils_1.hasModifier)(SyntaxKind.OverrideKeyword, node),\n readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node),\n static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node),\n typeAnnotation: node.type && this.convertTypeAnnotation(node.type, node),\n value: isAbstract ? null : this.convertChild(node.initializer),\n });\n }\n case SyntaxKind.GetAccessor:\n case SyntaxKind.SetAccessor: {\n if (node.parent.kind === SyntaxKind.InterfaceDeclaration ||\n node.parent.kind === SyntaxKind.TypeLiteral) {\n return this.convertMethodSignature(node);\n }\n }\n // otherwise, it is a non-type accessor - intentional fallthrough\n case SyntaxKind.MethodDeclaration: {\n const method = this.createNode(node, {\n type: !node.body\n ? ts_estree_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression\n : ts_estree_1.AST_NODE_TYPES.FunctionExpression,\n range: [node.parameters.pos - 1, node.end],\n async: (0, node_utils_1.hasModifier)(SyntaxKind.AsyncKeyword, node),\n body: this.convertChild(node.body),\n declare: false,\n expression: false, // ESTreeNode as ESTreeNode here\n generator: !!node.asteriskToken,\n id: null,\n params: [],\n returnType: node.type && this.convertTypeAnnotation(node.type, node),\n typeParameters: node.typeParameters &&\n this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters),\n });\n if (method.typeParameters) {\n this.fixParentLocation(method, method.typeParameters.range);\n }\n let result;\n if (parent.kind === SyntaxKind.ObjectLiteralExpression) {\n method.params = node.parameters.map(el => this.convertChild(el));\n result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Property,\n computed: (0, node_utils_1.isComputedProperty)(node.name),\n key: this.convertChild(node.name),\n kind: 'init',\n method: node.kind === SyntaxKind.MethodDeclaration,\n optional: !!node.questionToken,\n shorthand: false,\n value: method,\n });\n }\n else {\n // class\n /**\n * Unlike in object literal methods, class method params can have decorators\n */\n method.params = this.convertParameters(node.parameters);\n /**\n * TypeScript class methods can be defined as \"abstract\"\n */\n const methodDefinitionType = (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node)\n ? ts_estree_1.AST_NODE_TYPES.TSAbstractMethodDefinition\n : ts_estree_1.AST_NODE_TYPES.MethodDefinition;\n result = this.createNode(node, {\n type: methodDefinitionType,\n accessibility: (0, node_utils_1.getTSNodeAccessibility)(node),\n computed: (0, node_utils_1.isComputedProperty)(node.name),\n decorators: (0, getModifiers_1.getDecorators)(node)?.map(el => this.convertChild(el)) ?? [],\n key: this.convertChild(node.name),\n kind: 'method',\n optional: !!node.questionToken,\n override: (0, node_utils_1.hasModifier)(SyntaxKind.OverrideKeyword, node),\n static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node),\n value: method,\n });\n }\n if (node.kind === SyntaxKind.GetAccessor) {\n result.kind = 'get';\n }\n else if (node.kind === SyntaxKind.SetAccessor) {\n result.kind = 'set';\n }\n else if (!result.static &&\n node.name.kind === SyntaxKind.StringLiteral &&\n node.name.text === 'constructor' &&\n result.type !== ts_estree_1.AST_NODE_TYPES.Property) {\n result.kind = 'constructor';\n }\n return result;\n }\n // TypeScript uses this even for static methods named \"constructor\"\n case SyntaxKind.Constructor: {\n const lastModifier = (0, node_utils_1.getLastModifier)(node);\n const constructorToken = (lastModifier && (0, node_utils_1.findNextToken)(lastModifier, node, this.ast)) ??\n node.getFirstToken();\n const constructor = this.createNode(node, {\n type: !node.body\n ? ts_estree_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression\n : ts_estree_1.AST_NODE_TYPES.FunctionExpression,\n range: [node.parameters.pos - 1, node.end],\n async: false,\n body: this.convertChild(node.body),\n declare: false,\n expression: false, // is not present in ESTreeNode\n generator: false,\n id: null,\n params: this.convertParameters(node.parameters),\n returnType: node.type && this.convertTypeAnnotation(node.type, node),\n typeParameters: node.typeParameters &&\n this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters),\n });\n if (constructor.typeParameters) {\n this.fixParentLocation(constructor, constructor.typeParameters.range);\n }\n const constructorKey = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Identifier,\n range: [constructorToken.getStart(this.ast), constructorToken.end],\n decorators: [],\n name: 'constructor',\n optional: false,\n typeAnnotation: undefined,\n });\n const isStatic = (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node);\n return this.createNode(node, {\n type: (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node)\n ? ts_estree_1.AST_NODE_TYPES.TSAbstractMethodDefinition\n : ts_estree_1.AST_NODE_TYPES.MethodDefinition,\n accessibility: (0, node_utils_1.getTSNodeAccessibility)(node),\n computed: false,\n decorators: [],\n key: constructorKey,\n kind: isStatic ? 'method' : 'constructor',\n optional: false,\n override: false,\n static: isStatic,\n value: constructor,\n });\n }\n case SyntaxKind.FunctionExpression: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.FunctionExpression,\n async: (0, node_utils_1.hasModifier)(SyntaxKind.AsyncKeyword, node),\n body: this.convertChild(node.body),\n declare: false,\n expression: false,\n generator: !!node.asteriskToken,\n id: this.convertChild(node.name),\n params: this.convertParameters(node.parameters),\n returnType: node.type && this.convertTypeAnnotation(node.type, node),\n typeParameters: node.typeParameters &&\n this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters),\n });\n }\n case SyntaxKind.SuperKeyword:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Super,\n });\n case SyntaxKind.ArrayBindingPattern:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ArrayPattern,\n decorators: [],\n elements: node.elements.map(el => this.convertPattern(el)),\n optional: false,\n typeAnnotation: undefined,\n });\n // occurs with missing array elements like [,]\n case SyntaxKind.OmittedExpression:\n return null;\n case SyntaxKind.ObjectBindingPattern:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ObjectPattern,\n decorators: [],\n optional: false,\n properties: node.elements.map(el => this.convertPattern(el)),\n typeAnnotation: undefined,\n });\n case SyntaxKind.BindingElement: {\n if (parent.kind === SyntaxKind.ArrayBindingPattern) {\n const arrayItem = this.convertChild(node.name, parent);\n if (node.initializer) {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern,\n decorators: [],\n left: arrayItem,\n optional: false,\n right: this.convertChild(node.initializer),\n typeAnnotation: undefined,\n });\n }\n if (node.dotDotDotToken) {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.RestElement,\n argument: arrayItem,\n decorators: [],\n optional: false,\n typeAnnotation: undefined,\n value: undefined,\n });\n }\n return arrayItem;\n }\n let result;\n if (node.dotDotDotToken) {\n result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.RestElement,\n argument: this.convertChild(node.propertyName ?? node.name),\n decorators: [],\n optional: false,\n typeAnnotation: undefined,\n value: undefined,\n });\n }\n else {\n result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Property,\n computed: Boolean(node.propertyName &&\n node.propertyName.kind === SyntaxKind.ComputedPropertyName),\n key: this.convertChild(node.propertyName ?? node.name),\n kind: 'init',\n method: false,\n optional: false,\n shorthand: !node.propertyName,\n value: this.convertChild(node.name),\n });\n }\n if (node.initializer) {\n result.value = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern,\n range: [node.name.getStart(this.ast), node.initializer.end],\n decorators: [],\n left: this.convertChild(node.name),\n optional: false,\n right: this.convertChild(node.initializer),\n typeAnnotation: undefined,\n });\n }\n return result;\n }\n case SyntaxKind.ArrowFunction: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ArrowFunctionExpression,\n async: (0, node_utils_1.hasModifier)(SyntaxKind.AsyncKeyword, node),\n body: this.convertChild(node.body),\n expression: node.body.kind !== SyntaxKind.Block,\n generator: false,\n id: null,\n params: this.convertParameters(node.parameters),\n returnType: node.type && this.convertTypeAnnotation(node.type, node),\n typeParameters: node.typeParameters &&\n this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters),\n });\n }\n case SyntaxKind.YieldExpression:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.YieldExpression,\n argument: this.convertChild(node.expression),\n delegate: !!node.asteriskToken,\n });\n case SyntaxKind.AwaitExpression:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.AwaitExpression,\n argument: this.convertChild(node.expression),\n });\n // Template Literals\n case SyntaxKind.NoSubstitutionTemplateLiteral:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TemplateLiteral,\n expressions: [],\n quasis: [\n this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TemplateElement,\n tail: true,\n value: {\n cooked: node.text,\n raw: this.ast.text.slice(node.getStart(this.ast) + 1, node.end - 1),\n },\n }),\n ],\n });\n case SyntaxKind.TemplateExpression: {\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TemplateLiteral,\n expressions: [],\n quasis: [this.convertChild(node.head)],\n });\n node.templateSpans.forEach(templateSpan => {\n result.expressions.push(this.convertChild(templateSpan.expression));\n result.quasis.push(this.convertChild(templateSpan.literal));\n });\n return result;\n }\n case SyntaxKind.TaggedTemplateExpression:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TaggedTemplateExpression,\n quasi: this.convertChild(node.template),\n tag: this.convertChild(node.tag),\n typeArguments: node.typeArguments &&\n this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node),\n });\n case SyntaxKind.TemplateHead:\n case SyntaxKind.TemplateMiddle:\n case SyntaxKind.TemplateTail: {\n const tail = node.kind === SyntaxKind.TemplateTail;\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TemplateElement,\n tail,\n value: {\n cooked: node.text,\n raw: this.ast.text.slice(node.getStart(this.ast) + 1, node.end - (tail ? 1 : 2)),\n },\n });\n }\n // Patterns\n case SyntaxKind.SpreadAssignment:\n case SyntaxKind.SpreadElement: {\n if (this.allowPattern) {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.RestElement,\n argument: this.convertPattern(node.expression),\n decorators: [],\n optional: false,\n typeAnnotation: undefined,\n value: undefined,\n });\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.SpreadElement,\n argument: this.convertChild(node.expression),\n });\n }\n case SyntaxKind.Parameter: {\n let parameter;\n let result;\n if (node.dotDotDotToken) {\n parameter = result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.RestElement,\n argument: this.convertChild(node.name),\n decorators: [],\n optional: false,\n typeAnnotation: undefined,\n value: undefined,\n });\n }\n else if (node.initializer) {\n parameter = this.convertChild(node.name);\n result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern,\n range: [node.name.getStart(this.ast), node.initializer.end],\n decorators: [],\n left: parameter,\n optional: false,\n right: this.convertChild(node.initializer),\n typeAnnotation: undefined,\n });\n const modifiers = (0, getModifiers_1.getModifiers)(node);\n if (modifiers) {\n // AssignmentPattern should not contain modifiers in range\n result.range[0] = parameter.range[0];\n result.loc = (0, node_utils_1.getLocFor)(result.range, this.ast);\n }\n }\n else {\n parameter = result = this.convertChild(node.name, parent);\n }\n if (node.type) {\n parameter.typeAnnotation = this.convertTypeAnnotation(node.type, node);\n this.fixParentLocation(parameter, parameter.typeAnnotation.range);\n }\n if (node.questionToken) {\n if (node.questionToken.end > parameter.range[1]) {\n parameter.range[1] = node.questionToken.end;\n parameter.loc.end = (0, node_utils_1.getLineAndCharacterFor)(parameter.range[1], this.ast);\n }\n parameter.optional = true;\n }\n const modifiers = (0, getModifiers_1.getModifiers)(node);\n if (modifiers) {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSParameterProperty,\n accessibility: (0, node_utils_1.getTSNodeAccessibility)(node),\n decorators: [],\n override: (0, node_utils_1.hasModifier)(SyntaxKind.OverrideKeyword, node),\n parameter: result,\n readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node),\n static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node),\n });\n }\n return result;\n }\n // Classes\n case SyntaxKind.ClassDeclaration:\n if (!node.name &&\n (!(0, node_utils_1.hasModifier)(ts.SyntaxKind.ExportKeyword, node) ||\n !(0, node_utils_1.hasModifier)(ts.SyntaxKind.DefaultKeyword, node))) {\n this.#throwUnlessAllowInvalidAST(node, \"A class declaration without the 'default' modifier must have a name.\");\n }\n /* intentional fallthrough */\n case SyntaxKind.ClassExpression: {\n const heritageClauses = node.heritageClauses ?? [];\n const classNodeType = node.kind === SyntaxKind.ClassDeclaration\n ? ts_estree_1.AST_NODE_TYPES.ClassDeclaration\n : ts_estree_1.AST_NODE_TYPES.ClassExpression;\n let extendsClause;\n let implementsClause;\n for (const heritageClause of heritageClauses) {\n const { token, types } = heritageClause;\n if (types.length === 0) {\n this.#throwUnlessAllowInvalidAST(heritageClause, `'${ts.tokenToString(token)}' list cannot be empty.`);\n }\n if (token === SyntaxKind.ExtendsKeyword) {\n if (extendsClause) {\n this.#throwUnlessAllowInvalidAST(heritageClause, \"'extends' clause already seen.\");\n }\n if (implementsClause) {\n this.#throwUnlessAllowInvalidAST(heritageClause, \"'extends' clause must precede 'implements' clause.\");\n }\n if (types.length > 1) {\n this.#throwUnlessAllowInvalidAST(types[1], 'Classes can only extend a single class.');\n }\n extendsClause ??= heritageClause;\n }\n else if (token === SyntaxKind.ImplementsKeyword) {\n if (implementsClause) {\n this.#throwUnlessAllowInvalidAST(heritageClause, \"'implements' clause already seen.\");\n }\n implementsClause ??= heritageClause;\n }\n }\n const result = this.createNode(node, {\n type: classNodeType,\n abstract: (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node),\n body: this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ClassBody,\n range: [node.members.pos - 1, node.end],\n body: node.members\n .filter(node_utils_1.isESTreeClassMember)\n .map(el => this.convertChild(el)),\n }),\n declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node),\n decorators: (0, getModifiers_1.getDecorators)(node)?.map(el => this.convertChild(el)) ?? [],\n id: this.convertChild(node.name),\n implements: implementsClause?.types.map(el => this.convertChild(el)) ?? [],\n superClass: extendsClause?.types[0]\n ? this.convertChild(extendsClause.types[0].expression)\n : null,\n superTypeArguments: undefined,\n typeParameters: node.typeParameters &&\n this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters),\n });\n if (extendsClause?.types[0]?.typeArguments) {\n result.superTypeArguments =\n this.convertTypeArgumentsToTypeParameterInstantiation(extendsClause.types[0].typeArguments, extendsClause.types[0]);\n }\n return this.fixExports(node, result);\n }\n // Modules\n case SyntaxKind.ModuleBlock:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSModuleBlock,\n body: this.convertBodyExpressions(node.statements, node),\n });\n case SyntaxKind.ImportDeclaration: {\n this.assertModuleSpecifier(node, false);\n const result = this.createNode(node, this.#withDeprecatedAliasGetter({\n type: ts_estree_1.AST_NODE_TYPES.ImportDeclaration,\n attributes: this.convertImportAttributes(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n node.attributes ?? node.assertClause),\n importKind: 'value',\n source: this.convertChild(node.moduleSpecifier),\n specifiers: [],\n }, 'assertions', 'attributes', true));\n if (node.importClause) {\n if (node.importClause.isTypeOnly) {\n result.importKind = 'type';\n }\n if (node.importClause.name) {\n result.specifiers.push(this.convertChild(node.importClause));\n }\n if (node.importClause.namedBindings) {\n switch (node.importClause.namedBindings.kind) {\n case SyntaxKind.NamespaceImport:\n result.specifiers.push(this.convertChild(node.importClause.namedBindings));\n break;\n case SyntaxKind.NamedImports:\n result.specifiers.push(...node.importClause.namedBindings.elements.map(el => this.convertChild(el)));\n break;\n }\n }\n }\n return result;\n }\n case SyntaxKind.NamespaceImport:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ImportNamespaceSpecifier,\n local: this.convertChild(node.name),\n });\n case SyntaxKind.ImportSpecifier:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ImportSpecifier,\n imported: this.convertChild(node.propertyName ?? node.name),\n importKind: node.isTypeOnly ? 'type' : 'value',\n local: this.convertChild(node.name),\n });\n case SyntaxKind.ImportClause: {\n const local = this.convertChild(node.name);\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ImportDefaultSpecifier,\n range: local.range,\n local,\n });\n }\n case SyntaxKind.ExportDeclaration: {\n if (node.exportClause?.kind === SyntaxKind.NamedExports) {\n this.assertModuleSpecifier(node, true);\n return this.createNode(node, this.#withDeprecatedAliasGetter({\n type: ts_estree_1.AST_NODE_TYPES.ExportNamedDeclaration,\n attributes: this.convertImportAttributes(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n node.attributes ?? node.assertClause),\n declaration: null,\n exportKind: node.isTypeOnly ? 'type' : 'value',\n source: this.convertChild(node.moduleSpecifier),\n specifiers: node.exportClause.elements.map(el => this.convertChild(el, node)),\n }, 'assertions', 'attributes', true));\n }\n this.assertModuleSpecifier(node, false);\n return this.createNode(node, this.#withDeprecatedAliasGetter({\n type: ts_estree_1.AST_NODE_TYPES.ExportAllDeclaration,\n attributes: this.convertImportAttributes(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n node.attributes ?? node.assertClause),\n exported: node.exportClause?.kind === SyntaxKind.NamespaceExport\n ? this.convertChild(node.exportClause.name)\n : null,\n exportKind: node.isTypeOnly ? 'type' : 'value',\n source: this.convertChild(node.moduleSpecifier),\n }, 'assertions', 'attributes', true));\n }\n case SyntaxKind.ExportSpecifier: {\n const local = node.propertyName ?? node.name;\n if (local.kind === SyntaxKind.StringLiteral &&\n parent.kind === SyntaxKind.ExportDeclaration &&\n parent.moduleSpecifier?.kind !== SyntaxKind.StringLiteral) {\n this.#throwError(local, 'A string literal cannot be used as a local exported binding without `from`.');\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ExportSpecifier,\n exported: this.convertChild(node.name),\n exportKind: node.isTypeOnly ? 'type' : 'value',\n local: this.convertChild(local),\n });\n }\n case SyntaxKind.ExportAssignment:\n if (node.isExportEquals) {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSExportAssignment,\n expression: this.convertChild(node.expression),\n });\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ExportDefaultDeclaration,\n declaration: this.convertChild(node.expression),\n exportKind: 'value',\n });\n // Unary Operations\n case SyntaxKind.PrefixUnaryExpression:\n case SyntaxKind.PostfixUnaryExpression: {\n const operator = (0, node_utils_1.getTextForTokenKind)(node.operator);\n /**\n * ESTree uses UpdateExpression for ++/--\n */\n if (operator === '++' || operator === '--') {\n if (!(0, node_utils_1.isValidAssignmentTarget)(node.operand)) {\n this.#throwUnlessAllowInvalidAST(node.operand, 'Invalid left-hand side expression in unary operation');\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.UpdateExpression,\n argument: this.convertChild(node.operand),\n operator,\n prefix: node.kind === SyntaxKind.PrefixUnaryExpression,\n });\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.UnaryExpression,\n argument: this.convertChild(node.operand),\n operator,\n prefix: node.kind === SyntaxKind.PrefixUnaryExpression,\n });\n }\n case SyntaxKind.DeleteExpression:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.UnaryExpression,\n argument: this.convertChild(node.expression),\n operator: 'delete',\n prefix: true,\n });\n case SyntaxKind.VoidExpression:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.UnaryExpression,\n argument: this.convertChild(node.expression),\n operator: 'void',\n prefix: true,\n });\n case SyntaxKind.TypeOfExpression:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.UnaryExpression,\n argument: this.convertChild(node.expression),\n operator: 'typeof',\n prefix: true,\n });\n case SyntaxKind.TypeOperator:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSTypeOperator,\n operator: (0, node_utils_1.getTextForTokenKind)(node.operator),\n typeAnnotation: this.convertChild(node.type),\n });\n // Binary Operations\n case SyntaxKind.BinaryExpression: {\n // TypeScript uses BinaryExpression for sequences as well\n if ((0, node_utils_1.isComma)(node.operatorToken)) {\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.SequenceExpression,\n expressions: [],\n });\n const left = this.convertChild(node.left);\n if (left.type === ts_estree_1.AST_NODE_TYPES.SequenceExpression &&\n node.left.kind !== SyntaxKind.ParenthesizedExpression) {\n result.expressions.push(...left.expressions);\n }\n else {\n result.expressions.push(left);\n }\n result.expressions.push(this.convertChild(node.right));\n return result;\n }\n const expressionType = (0, node_utils_1.getBinaryExpressionType)(node.operatorToken);\n if (this.allowPattern &&\n expressionType.type === ts_estree_1.AST_NODE_TYPES.AssignmentExpression) {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern,\n decorators: [],\n left: this.convertPattern(node.left, node),\n optional: false,\n right: this.convertChild(node.right),\n typeAnnotation: undefined,\n });\n }\n return this.createNode(node, {\n ...expressionType,\n left: this.converter(node.left, node, expressionType.type === ts_estree_1.AST_NODE_TYPES.AssignmentExpression),\n right: this.convertChild(node.right),\n });\n }\n case SyntaxKind.PropertyAccessExpression: {\n const object = this.convertChild(node.expression);\n const property = this.convertChild(node.name);\n const computed = false;\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.MemberExpression,\n computed,\n object,\n optional: node.questionDotToken != null,\n property,\n });\n return this.convertChainExpression(result, node);\n }\n case SyntaxKind.ElementAccessExpression: {\n const object = this.convertChild(node.expression);\n const property = this.convertChild(node.argumentExpression);\n const computed = true;\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.MemberExpression,\n computed,\n object,\n optional: node.questionDotToken != null,\n property,\n });\n return this.convertChainExpression(result, node);\n }\n case SyntaxKind.CallExpression: {\n if (node.expression.kind === SyntaxKind.ImportKeyword) {\n if (node.arguments.length !== 1 && node.arguments.length !== 2) {\n this.#throwUnlessAllowInvalidAST(node.arguments[2] ?? node, 'Dynamic import requires exactly one or two arguments.');\n }\n return this.createNode(node, this.#withDeprecatedAliasGetter({\n type: ts_estree_1.AST_NODE_TYPES.ImportExpression,\n options: node.arguments[1]\n ? this.convertChild(node.arguments[1])\n : null,\n source: this.convertChild(node.arguments[0]),\n }, 'attributes', 'options', true));\n }\n const callee = this.convertChild(node.expression);\n const args = node.arguments.map(el => this.convertChild(el));\n const typeArguments = node.typeArguments &&\n this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node);\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.CallExpression,\n arguments: args,\n callee,\n optional: node.questionDotToken != null,\n typeArguments,\n });\n return this.convertChainExpression(result, node);\n }\n case SyntaxKind.NewExpression: {\n const typeArguments = node.typeArguments &&\n this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node);\n // NOTE - NewExpression cannot have an optional chain in it\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.NewExpression,\n arguments: node.arguments\n ? node.arguments.map(el => this.convertChild(el))\n : [],\n callee: this.convertChild(node.expression),\n typeArguments,\n });\n }\n case SyntaxKind.ConditionalExpression:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ConditionalExpression,\n alternate: this.convertChild(node.whenFalse),\n consequent: this.convertChild(node.whenTrue),\n test: this.convertChild(node.condition),\n });\n case SyntaxKind.MetaProperty: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.MetaProperty,\n meta: this.createNode(\n // TODO: do we really want to convert it to Token?\n node.getFirstToken(), {\n type: ts_estree_1.AST_NODE_TYPES.Identifier,\n decorators: [],\n name: (0, node_utils_1.getTextForTokenKind)(node.keywordToken),\n optional: false,\n typeAnnotation: undefined,\n }),\n property: this.convertChild(node.name),\n });\n }\n case SyntaxKind.Decorator: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Decorator,\n expression: this.convertChild(node.expression),\n });\n }\n // Literals\n case SyntaxKind.StringLiteral: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Literal,\n raw: node.getText(),\n value: parent.kind === SyntaxKind.JsxAttribute\n ? (0, node_utils_1.unescapeStringLiteralText)(node.text)\n : node.text,\n });\n }\n case SyntaxKind.NumericLiteral: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Literal,\n raw: node.getText(),\n value: Number(node.text),\n });\n }\n case SyntaxKind.BigIntLiteral: {\n const range = (0, node_utils_1.getRange)(node, this.ast);\n const rawValue = this.ast.text.slice(range[0], range[1]);\n const bigint = rawValue\n // remove suffix `n`\n .slice(0, -1)\n // `BigInt` doesn't accept numeric separator\n // and `bigint` property should not include numeric separator\n .replaceAll('_', '');\n const value = typeof BigInt !== 'undefined' ? BigInt(bigint) : null;\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Literal,\n range,\n bigint: value == null ? bigint : String(value),\n raw: rawValue,\n value,\n });\n }\n case SyntaxKind.RegularExpressionLiteral: {\n const pattern = node.text.slice(1, node.text.lastIndexOf('/'));\n const flags = node.text.slice(node.text.lastIndexOf('/') + 1);\n let regex = null;\n try {\n regex = new RegExp(pattern, flags);\n }\n catch {\n // Intentionally blank, so regex stays null\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Literal,\n raw: node.text,\n regex: {\n flags,\n pattern,\n },\n value: regex,\n });\n }\n case SyntaxKind.TrueKeyword:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Literal,\n raw: 'true',\n value: true,\n });\n case SyntaxKind.FalseKeyword:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Literal,\n raw: 'false',\n value: false,\n });\n case SyntaxKind.NullKeyword: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Literal,\n raw: 'null',\n value: null,\n });\n }\n case SyntaxKind.EmptyStatement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.EmptyStatement,\n });\n case SyntaxKind.DebuggerStatement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.DebuggerStatement,\n });\n // JSX\n case SyntaxKind.JsxElement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXElement,\n children: node.children.map(el => this.convertChild(el)),\n closingElement: this.convertChild(node.closingElement),\n openingElement: this.convertChild(node.openingElement),\n });\n case SyntaxKind.JsxFragment:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXFragment,\n children: node.children.map(el => this.convertChild(el)),\n closingFragment: this.convertChild(node.closingFragment),\n openingFragment: this.convertChild(node.openingFragment),\n });\n case SyntaxKind.JsxSelfClosingElement: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXElement,\n /**\n * Convert SyntaxKind.JsxSelfClosingElement to SyntaxKind.JsxOpeningElement,\n * TypeScript does not seem to have the idea of openingElement when tag is self-closing\n */\n children: [],\n closingElement: null,\n openingElement: this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXOpeningElement,\n range: (0, node_utils_1.getRange)(node, this.ast),\n attributes: node.attributes.properties.map(el => this.convertChild(el)),\n name: this.convertJSXTagName(node.tagName, node),\n selfClosing: true,\n typeArguments: node.typeArguments\n ? this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node)\n : undefined,\n }),\n });\n }\n case SyntaxKind.JsxOpeningElement: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXOpeningElement,\n attributes: node.attributes.properties.map(el => this.convertChild(el)),\n name: this.convertJSXTagName(node.tagName, node),\n selfClosing: false,\n typeArguments: node.typeArguments &&\n this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node),\n });\n }\n case SyntaxKind.JsxClosingElement:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXClosingElement,\n name: this.convertJSXTagName(node.tagName, node),\n });\n case SyntaxKind.JsxOpeningFragment:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXOpeningFragment,\n });\n case SyntaxKind.JsxClosingFragment:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXClosingFragment,\n });\n case SyntaxKind.JsxExpression: {\n const expression = node.expression\n ? this.convertChild(node.expression)\n : this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXEmptyExpression,\n range: [node.getStart(this.ast) + 1, node.getEnd() - 1],\n });\n if (node.dotDotDotToken) {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXSpreadChild,\n expression,\n });\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXExpressionContainer,\n expression,\n });\n }\n case SyntaxKind.JsxAttribute: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXAttribute,\n name: this.convertJSXNamespaceOrIdentifier(node.name),\n value: this.convertChild(node.initializer),\n });\n }\n case SyntaxKind.JsxText: {\n const start = node.getFullStart();\n const end = node.getEnd();\n const text = this.ast.text.slice(start, end);\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXText,\n range: [start, end],\n raw: text,\n value: (0, node_utils_1.unescapeStringLiteralText)(text),\n });\n }\n case SyntaxKind.JsxSpreadAttribute:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.JSXSpreadAttribute,\n argument: this.convertChild(node.expression),\n });\n case SyntaxKind.QualifiedName: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSQualifiedName,\n left: this.convertChild(node.left),\n right: this.convertChild(node.right),\n });\n }\n // TypeScript specific\n case SyntaxKind.TypeReference:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSTypeReference,\n typeArguments: node.typeArguments &&\n this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node),\n typeName: this.convertChild(node.typeName),\n });\n case SyntaxKind.TypeParameter: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSTypeParameter,\n const: (0, node_utils_1.hasModifier)(SyntaxKind.ConstKeyword, node),\n constraint: node.constraint && this.convertChild(node.constraint),\n default: node.default ? this.convertChild(node.default) : undefined,\n in: (0, node_utils_1.hasModifier)(SyntaxKind.InKeyword, node),\n name: this.convertChild(node.name),\n out: (0, node_utils_1.hasModifier)(SyntaxKind.OutKeyword, node),\n });\n }\n case SyntaxKind.ThisType:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSThisType,\n });\n case SyntaxKind.AnyKeyword:\n case SyntaxKind.BigIntKeyword:\n case SyntaxKind.BooleanKeyword:\n case SyntaxKind.NeverKeyword:\n case SyntaxKind.NumberKeyword:\n case SyntaxKind.ObjectKeyword:\n case SyntaxKind.StringKeyword:\n case SyntaxKind.SymbolKeyword:\n case SyntaxKind.UnknownKeyword:\n case SyntaxKind.VoidKeyword:\n case SyntaxKind.UndefinedKeyword:\n case SyntaxKind.IntrinsicKeyword: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES[`TS${SyntaxKind[node.kind]}`],\n });\n }\n case SyntaxKind.NonNullExpression: {\n const nnExpr = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSNonNullExpression,\n expression: this.convertChild(node.expression),\n });\n return this.convertChainExpression(nnExpr, node);\n }\n case SyntaxKind.TypeLiteral: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSTypeLiteral,\n members: node.members.map(el => this.convertChild(el)),\n });\n }\n case SyntaxKind.ArrayType: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSArrayType,\n elementType: this.convertChild(node.elementType),\n });\n }\n case SyntaxKind.IndexedAccessType: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSIndexedAccessType,\n indexType: this.convertChild(node.indexType),\n objectType: this.convertChild(node.objectType),\n });\n }\n case SyntaxKind.ConditionalType: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSConditionalType,\n checkType: this.convertChild(node.checkType),\n extendsType: this.convertChild(node.extendsType),\n falseType: this.convertChild(node.falseType),\n trueType: this.convertChild(node.trueType),\n });\n }\n case SyntaxKind.TypeQuery:\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSTypeQuery,\n exprName: this.convertChild(node.exprName),\n typeArguments: node.typeArguments &&\n this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node),\n });\n case SyntaxKind.MappedType: {\n if (node.members && node.members.length > 0) {\n this.#throwUnlessAllowInvalidAST(node.members[0], 'A mapped type may not declare properties or methods.');\n }\n return this.createNode(node, this.#withDeprecatedGetter({\n type: ts_estree_1.AST_NODE_TYPES.TSMappedType,\n constraint: this.convertChild(node.typeParameter.constraint),\n key: this.convertChild(node.typeParameter.name),\n nameType: this.convertChild(node.nameType) ?? null,\n optional: node.questionToken &&\n (node.questionToken.kind === SyntaxKind.QuestionToken ||\n (0, node_utils_1.getTextForTokenKind)(node.questionToken.kind)),\n readonly: node.readonlyToken &&\n (node.readonlyToken.kind === SyntaxKind.ReadonlyKeyword ||\n (0, node_utils_1.getTextForTokenKind)(node.readonlyToken.kind)),\n typeAnnotation: node.type && this.convertChild(node.type),\n }, 'typeParameter', \"'constraint' and 'key'\", this.convertChild(node.typeParameter)));\n }\n case SyntaxKind.ParenthesizedExpression:\n return this.convertChild(node.expression, parent);\n case SyntaxKind.TypeAliasDeclaration: {\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSTypeAliasDeclaration,\n declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node),\n id: this.convertChild(node.name),\n typeAnnotation: this.convertChild(node.type),\n typeParameters: node.typeParameters &&\n this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters),\n });\n return this.fixExports(node, result);\n }\n case SyntaxKind.MethodSignature: {\n return this.convertMethodSignature(node);\n }\n case SyntaxKind.PropertySignature: {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const { initializer } = node;\n if (initializer) {\n this.#throwError(initializer, 'A property signature cannot have an initializer.');\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSPropertySignature,\n accessibility: (0, node_utils_1.getTSNodeAccessibility)(node),\n computed: (0, node_utils_1.isComputedProperty)(node.name),\n key: this.convertChild(node.name),\n optional: (0, node_utils_1.isOptional)(node),\n readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node),\n static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node),\n typeAnnotation: node.type && this.convertTypeAnnotation(node.type, node),\n });\n }\n case SyntaxKind.IndexSignature: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSIndexSignature,\n accessibility: (0, node_utils_1.getTSNodeAccessibility)(node),\n parameters: node.parameters.map(el => this.convertChild(el)),\n readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node),\n static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node),\n typeAnnotation: node.type && this.convertTypeAnnotation(node.type, node),\n });\n }\n case SyntaxKind.ConstructorType: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSConstructorType,\n abstract: (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node),\n params: this.convertParameters(node.parameters),\n returnType: node.type && this.convertTypeAnnotation(node.type, node),\n typeParameters: node.typeParameters &&\n this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters),\n });\n }\n case SyntaxKind.FunctionType: {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const { modifiers } = node;\n if (modifiers) {\n this.#throwError(modifiers[0], 'A function type cannot have modifiers.');\n }\n }\n // intentional fallthrough\n case SyntaxKind.ConstructSignature:\n case SyntaxKind.CallSignature: {\n const type = node.kind === SyntaxKind.ConstructSignature\n ? ts_estree_1.AST_NODE_TYPES.TSConstructSignatureDeclaration\n : node.kind === SyntaxKind.CallSignature\n ? ts_estree_1.AST_NODE_TYPES.TSCallSignatureDeclaration\n : ts_estree_1.AST_NODE_TYPES.TSFunctionType;\n return this.createNode(node, {\n type,\n params: this.convertParameters(node.parameters),\n returnType: node.type && this.convertTypeAnnotation(node.type, node),\n typeParameters: node.typeParameters &&\n this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters),\n });\n }\n case SyntaxKind.ExpressionWithTypeArguments: {\n const parentKind = parent.kind;\n const type = parentKind === SyntaxKind.InterfaceDeclaration\n ? ts_estree_1.AST_NODE_TYPES.TSInterfaceHeritage\n : parentKind === SyntaxKind.HeritageClause\n ? ts_estree_1.AST_NODE_TYPES.TSClassImplements\n : ts_estree_1.AST_NODE_TYPES.TSInstantiationExpression;\n return this.createNode(node, {\n type,\n expression: this.convertChild(node.expression),\n typeArguments: node.typeArguments &&\n this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node),\n });\n }\n case SyntaxKind.InterfaceDeclaration: {\n const interfaceHeritageClauses = node.heritageClauses ?? [];\n const interfaceExtends = [];\n for (const heritageClause of interfaceHeritageClauses) {\n if (heritageClause.token !== SyntaxKind.ExtendsKeyword) {\n this.#throwError(heritageClause, heritageClause.token === SyntaxKind.ImplementsKeyword\n ? \"Interface declaration cannot have 'implements' clause.\"\n : 'Unexpected token.');\n }\n for (const heritageType of heritageClause.types) {\n interfaceExtends.push(this.convertChild(heritageType, node));\n }\n }\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSInterfaceDeclaration,\n body: this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSInterfaceBody,\n range: [node.members.pos - 1, node.end],\n body: node.members.map(member => this.convertChild(member)),\n }),\n declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node),\n extends: interfaceExtends,\n id: this.convertChild(node.name),\n typeParameters: node.typeParameters &&\n this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters),\n });\n return this.fixExports(node, result);\n }\n case SyntaxKind.TypePredicate: {\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSTypePredicate,\n asserts: node.assertsModifier != null,\n parameterName: this.convertChild(node.parameterName),\n typeAnnotation: null,\n });\n /**\n * Specific fix for type-guard location data\n */\n if (node.type) {\n result.typeAnnotation = this.convertTypeAnnotation(node.type, node);\n result.typeAnnotation.loc = result.typeAnnotation.typeAnnotation.loc;\n result.typeAnnotation.range =\n result.typeAnnotation.typeAnnotation.range;\n }\n return result;\n }\n case SyntaxKind.ImportType: {\n const range = (0, node_utils_1.getRange)(node, this.ast);\n if (node.isTypeOf) {\n const token = (0, node_utils_1.findNextToken)(node.getFirstToken(), node, this.ast);\n range[0] = token.getStart(this.ast);\n }\n let options = null;\n if (node.attributes) {\n const value = this.createNode(node.attributes, {\n type: ts_estree_1.AST_NODE_TYPES.ObjectExpression,\n properties: node.attributes.elements.map(importAttribute => this.createNode(importAttribute, {\n type: ts_estree_1.AST_NODE_TYPES.Property,\n computed: false,\n key: this.convertChild(importAttribute.name),\n kind: 'init',\n method: false,\n optional: false,\n shorthand: false,\n value: this.convertChild(importAttribute.value),\n })),\n });\n const commaToken = (0, node_utils_1.findNextToken)(node.argument, node, this.ast);\n const openBraceToken = (0, node_utils_1.findNextToken)(commaToken, node, this.ast);\n const closeBraceToken = (0, node_utils_1.findNextToken)(node.attributes, node, this.ast);\n const withToken = (0, node_utils_1.findNextToken)(openBraceToken, node, this.ast);\n const withTokenRange = (0, node_utils_1.getRange)(withToken, this.ast);\n options = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ObjectExpression,\n range: [openBraceToken.getStart(this.ast), closeBraceToken.end],\n properties: [\n this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Property,\n range: [withTokenRange[0], node.attributes.end],\n computed: false,\n key: this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.Identifier,\n range: withTokenRange,\n decorators: [],\n name: 'with',\n optional: false,\n typeAnnotation: undefined,\n }),\n kind: 'init',\n method: false,\n optional: false,\n shorthand: false,\n value,\n }),\n ],\n });\n }\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSImportType,\n range,\n argument: this.convertChild(node.argument),\n options,\n qualifier: this.convertChild(node.qualifier),\n typeArguments: node.typeArguments\n ? this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node)\n : null,\n });\n if (node.isTypeOf) {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSTypeQuery,\n exprName: result,\n typeArguments: undefined,\n });\n }\n return result;\n }\n case SyntaxKind.EnumDeclaration: {\n const members = node.members.map(el => this.convertChild(el));\n const result = this.createNode(node, this.#withDeprecatedGetter({\n type: ts_estree_1.AST_NODE_TYPES.TSEnumDeclaration,\n body: this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSEnumBody,\n range: [node.members.pos - 1, node.end],\n members,\n }),\n const: (0, node_utils_1.hasModifier)(SyntaxKind.ConstKeyword, node),\n declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node),\n id: this.convertChild(node.name),\n }, 'members', `'body.members'`, node.members.map(el => this.convertChild(el))));\n return this.fixExports(node, result);\n }\n case SyntaxKind.EnumMember: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSEnumMember,\n computed: node.name.kind === ts.SyntaxKind.ComputedPropertyName,\n id: this.convertChild(node.name),\n initializer: node.initializer && this.convertChild(node.initializer),\n });\n }\n case SyntaxKind.ModuleDeclaration: {\n let isDeclare = (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node);\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSModuleDeclaration,\n ...(() => {\n // the constraints checked by this function are syntactically enforced by TS\n // the checks mostly exist for type's sake\n if (node.flags & ts.NodeFlags.GlobalAugmentation) {\n const id = this.convertChild(node.name);\n const body = this.convertChild(node.body);\n if (body == null ||\n body.type === ts_estree_1.AST_NODE_TYPES.TSModuleDeclaration) {\n this.#throwUnlessAllowInvalidAST(node.body ?? node, 'Expected a valid module body');\n }\n if (id.type !== ts_estree_1.AST_NODE_TYPES.Identifier) {\n this.#throwUnlessAllowInvalidAST(node.name, 'global module augmentation must have an Identifier id');\n }\n return {\n body: body,\n declare: false,\n global: false,\n id,\n kind: 'global',\n };\n }\n if (ts.isStringLiteral(node.name)) {\n const body = this.convertChild(node.body);\n return {\n kind: 'module',\n ...(body != null ? { body } : {}),\n declare: false,\n global: false,\n id: this.convertChild(node.name),\n };\n }\n // Nested module declarations are stored in TypeScript as nested tree nodes.\n // We \"unravel\" them here by making our own nested TSQualifiedName,\n // with the innermost node's body as the actual node body.\n if (node.body == null) {\n this.#throwUnlessAllowInvalidAST(node, 'Expected a module body');\n }\n if (node.name.kind !== ts.SyntaxKind.Identifier) {\n this.#throwUnlessAllowInvalidAST(node.name, '`namespace`s must have an Identifier id');\n }\n let name = this.createNode(node.name, {\n type: ts_estree_1.AST_NODE_TYPES.Identifier,\n range: [node.name.getStart(this.ast), node.name.getEnd()],\n decorators: [],\n name: node.name.text,\n optional: false,\n typeAnnotation: undefined,\n });\n while (node.body &&\n ts.isModuleDeclaration(node.body) &&\n node.body.name) {\n node = node.body;\n isDeclare ||= (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node);\n const nextName = node.name;\n const right = this.createNode(nextName, {\n type: ts_estree_1.AST_NODE_TYPES.Identifier,\n range: [nextName.getStart(this.ast), nextName.getEnd()],\n decorators: [],\n name: nextName.text,\n optional: false,\n typeAnnotation: undefined,\n });\n name = this.createNode(nextName, {\n type: ts_estree_1.AST_NODE_TYPES.TSQualifiedName,\n range: [name.range[0], right.range[1]],\n left: name,\n right,\n });\n }\n return {\n body: this.convertChild(node.body),\n declare: false,\n global: false,\n id: name,\n kind: node.flags & ts.NodeFlags.Namespace ? 'namespace' : 'module',\n };\n })(),\n });\n result.declare = isDeclare;\n if (node.flags & ts.NodeFlags.GlobalAugmentation) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n result.global = true;\n }\n return this.fixExports(node, result);\n }\n // TypeScript specific types\n case SyntaxKind.ParenthesizedType: {\n return this.convertChild(node.type);\n }\n case SyntaxKind.UnionType: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSUnionType,\n types: node.types.map(el => this.convertChild(el)),\n });\n }\n case SyntaxKind.IntersectionType: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSIntersectionType,\n types: node.types.map(el => this.convertChild(el)),\n });\n }\n case SyntaxKind.AsExpression: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSAsExpression,\n expression: this.convertChild(node.expression),\n typeAnnotation: this.convertChild(node.type),\n });\n }\n case SyntaxKind.InferType: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSInferType,\n typeParameter: this.convertChild(node.typeParameter),\n });\n }\n case SyntaxKind.LiteralType: {\n if (node.literal.kind === SyntaxKind.NullKeyword) {\n // 4.0 started nesting null types inside a LiteralType node\n // but our AST is designed around the old way of null being a keyword\n return this.createNode(node.literal, {\n type: ts_estree_1.AST_NODE_TYPES.TSNullKeyword,\n });\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSLiteralType,\n literal: this.convertChild(node.literal),\n });\n }\n case SyntaxKind.TypeAssertionExpression: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSTypeAssertion,\n expression: this.convertChild(node.expression),\n typeAnnotation: this.convertChild(node.type),\n });\n }\n case SyntaxKind.ImportEqualsDeclaration: {\n return this.fixExports(node, this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSImportEqualsDeclaration,\n id: this.convertChild(node.name),\n importKind: node.isTypeOnly ? 'type' : 'value',\n moduleReference: this.convertChild(node.moduleReference),\n }));\n }\n case SyntaxKind.ExternalModuleReference: {\n if (node.expression.kind !== SyntaxKind.StringLiteral) {\n this.#throwError(node.expression, 'String literal expected.');\n }\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSExternalModuleReference,\n expression: this.convertChild(node.expression),\n });\n }\n case SyntaxKind.NamespaceExportDeclaration: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSNamespaceExportDeclaration,\n id: this.convertChild(node.name),\n });\n }\n case SyntaxKind.AbstractKeyword: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSAbstractKeyword,\n });\n }\n // Tuple\n case SyntaxKind.TupleType: {\n const elementTypes = node.elements.map(el => this.convertChild(el));\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSTupleType,\n elementTypes,\n });\n }\n case SyntaxKind.NamedTupleMember: {\n const member = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSNamedTupleMember,\n elementType: this.convertChild(node.type, node),\n label: this.convertChild(node.name, node),\n optional: node.questionToken != null,\n });\n if (node.dotDotDotToken) {\n // adjust the start to account for the \"...\"\n member.range[0] = member.label.range[0];\n member.loc.start = member.label.loc.start;\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSRestType,\n typeAnnotation: member,\n });\n }\n return member;\n }\n case SyntaxKind.OptionalType: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSOptionalType,\n typeAnnotation: this.convertChild(node.type),\n });\n }\n case SyntaxKind.RestType: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSRestType,\n typeAnnotation: this.convertChild(node.type),\n });\n }\n // Template Literal Types\n case SyntaxKind.TemplateLiteralType: {\n const result = this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSTemplateLiteralType,\n quasis: [this.convertChild(node.head)],\n types: [],\n });\n node.templateSpans.forEach(templateSpan => {\n result.types.push(this.convertChild(templateSpan.type));\n result.quasis.push(this.convertChild(templateSpan.literal));\n });\n return result;\n }\n case SyntaxKind.ClassStaticBlockDeclaration: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.StaticBlock,\n body: this.convertBodyExpressions(node.body.statements, node),\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n case SyntaxKind.AssertEntry:\n case SyntaxKind.ImportAttribute: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ImportAttribute,\n key: this.convertChild(node.name),\n value: this.convertChild(node.value),\n });\n }\n case SyntaxKind.SatisfiesExpression: {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.TSSatisfiesExpression,\n expression: this.convertChild(node.expression),\n typeAnnotation: this.convertChild(node.type),\n });\n }\n default:\n return this.deeplyCopy(node);\n }\n }\n createNode(node, data) {\n const result = data;\n result.range ??= (0, node_utils_1.getRange)(node, this.ast);\n result.loc ??= (0, node_utils_1.getLocFor)(result.range, this.ast);\n if (result && this.options.shouldPreserveNodeMaps) {\n this.esTreeNodeToTSNodeMap.set(result, node);\n }\n return result;\n }\n convertProgram() {\n return this.converter(this.ast);\n }\n /**\n * For nodes that are copied directly from the TypeScript AST into\n * ESTree mostly as-is. The only difference is the addition of a type\n * property instead of a kind property. Recursively copies all children.\n */\n deeplyCopy(node) {\n if (node.kind === ts.SyntaxKind.JSDocFunctionType) {\n this.#throwError(node, 'JSDoc types can only be used inside documentation comments.');\n }\n const customType = `TS${SyntaxKind[node.kind]}`;\n /**\n * If the \"errorOnUnknownASTType\" option is set to true, throw an error,\n * otherwise fallback to just including the unknown type as-is.\n */\n if (this.options.errorOnUnknownASTType && !ts_estree_1.AST_NODE_TYPES[customType]) {\n throw new Error(`Unknown AST_NODE_TYPE: \"${customType}\"`);\n }\n const result = this.createNode(node, {\n type: customType,\n });\n if ('type' in node) {\n result.typeAnnotation =\n node.type && 'kind' in node.type && ts.isTypeNode(node.type)\n ? this.convertTypeAnnotation(node.type, node)\n : null;\n }\n if ('typeArguments' in node) {\n result.typeArguments =\n node.typeArguments && 'pos' in node.typeArguments\n ? this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node)\n : null;\n }\n if ('typeParameters' in node) {\n result.typeParameters =\n node.typeParameters && 'pos' in node.typeParameters\n ? this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters)\n : null;\n }\n const decorators = (0, getModifiers_1.getDecorators)(node);\n if (decorators?.length) {\n result.decorators = decorators.map(el => this.convertChild(el));\n }\n // keys we never want to clone from the base typescript node as they\n // introduce garbage into our AST\n const KEYS_TO_NOT_COPY = new Set([\n '_children',\n 'decorators',\n 'end',\n 'flags',\n 'heritageClauses',\n 'illegalDecorators',\n 'jsDoc',\n 'kind',\n 'locals',\n 'localSymbol',\n 'modifierFlagsCache',\n 'modifiers',\n 'nextContainer',\n 'parent',\n 'pos',\n 'symbol',\n 'transformFlags',\n 'type',\n 'typeArguments',\n 'typeParameters',\n ]);\n Object.entries(node)\n .filter(([key]) => !KEYS_TO_NOT_COPY.has(key))\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n result[key] = value.map(el => this.convertChild(el));\n }\n else if (value && typeof value === 'object' && value.kind) {\n // need to check node[key].kind to ensure we don't try to convert a symbol\n result[key] = this.convertChild(value);\n }\n else {\n result[key] = value;\n }\n });\n return result;\n }\n /**\n * Fixes the exports of the given ts.Node\n * @returns the ESTreeNode with fixed exports\n */\n fixExports(node, result) {\n const isNamespaceNode = ts.isModuleDeclaration(node) && !ts.isStringLiteral(node.name);\n const modifiers = isNamespaceNode\n ? (0, node_utils_1.getNamespaceModifiers)(node)\n : (0, getModifiers_1.getModifiers)(node);\n if (modifiers?.[0].kind === SyntaxKind.ExportKeyword) {\n /**\n * Make sure that original node is registered instead of export\n */\n this.registerTSNodeInNodeMap(node, result);\n const exportKeyword = modifiers[0];\n const nextModifier = modifiers[1];\n const declarationIsDefault = nextModifier?.kind === SyntaxKind.DefaultKeyword;\n const varToken = declarationIsDefault\n ? (0, node_utils_1.findNextToken)(nextModifier, this.ast, this.ast)\n : (0, node_utils_1.findNextToken)(exportKeyword, this.ast, this.ast);\n result.range[0] = varToken.getStart(this.ast);\n result.loc = (0, node_utils_1.getLocFor)(result.range, this.ast);\n if (declarationIsDefault) {\n return this.createNode(node, {\n type: ts_estree_1.AST_NODE_TYPES.ExportDefaultDeclaration,\n range: [exportKeyword.getStart(this.ast), result.range[1]],\n declaration: result,\n exportKind: 'value',\n });\n }\n const isType = result.type === ts_estree_1.AST_NODE_TYPES.TSInterfaceDeclaration ||\n result.type === ts_estree_1.AST_NODE_TYPES.TSTypeAliasDeclaration;\n const isDeclare = 'declare' in result && result.declare;\n return this.createNode(node, \n // @ts-expect-error - TODO, narrow the types here\n this.#withDeprecatedAliasGetter({\n type: ts_estree_1.AST_NODE_TYPES.ExportNamedDeclaration,\n range: [exportKeyword.getStart(this.ast), result.range[1]],\n attributes: [],\n declaration: result,\n exportKind: isType || isDeclare ? 'type' : 'value',\n source: null,\n specifiers: [],\n }, 'assertions', 'attributes', true));\n }\n return result;\n }\n getASTMaps() {\n return {\n esTreeNodeToTSNodeMap: this.esTreeNodeToTSNodeMap,\n tsNodeToESTreeNodeMap: this.tsNodeToESTreeNodeMap,\n };\n }\n /**\n * Register specific TypeScript node into map with first ESTree node provided\n */\n registerTSNodeInNodeMap(node, result) {\n if (result &&\n this.options.shouldPreserveNodeMaps &&\n !this.tsNodeToESTreeNodeMap.has(node)) {\n this.tsNodeToESTreeNodeMap.set(node, result);\n }\n }\n}\nexports.Converter = Converter;\n","'use strict';\n\nvar ts9 = require('typescript');\n\nfunction _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }\n\nvar ts9__default = /*#__PURE__*/_interopDefault(ts9);\n\n// src/comments.ts\nfunction forEachToken(node, callback, sourceFile = node.getSourceFile()) {\n const queue = [];\n while (true) {\n if (ts9__default.default.isTokenKind(node.kind)) {\n callback(node);\n } else {\n const children = node.getChildren(sourceFile);\n if (children.length === 1) {\n node = children[0];\n continue;\n }\n for (let i = children.length - 1; i >= 0; --i) {\n queue.push(children[i]);\n }\n }\n if (queue.length === 0) {\n break;\n }\n node = queue.pop();\n }\n}\n\n// src/comments.ts\nfunction forEachComment(node, callback, sourceFile = node.getSourceFile()) {\n const fullText = sourceFile.text;\n const notJsx = sourceFile.languageVariant !== ts9__default.default.LanguageVariant.JSX;\n return forEachToken(\n node,\n (token) => {\n if (token.pos === token.end) {\n return;\n }\n if (token.kind !== ts9__default.default.SyntaxKind.JsxText) {\n ts9__default.default.forEachLeadingCommentRange(\n fullText,\n // skip shebang at position 0\n token.pos === 0 ? (ts9__default.default.getShebang(fullText) ?? \"\").length : token.pos,\n commentCallback\n );\n }\n if (notJsx || canHaveTrailingTrivia(token)) {\n return ts9__default.default.forEachTrailingCommentRange(\n fullText,\n token.end,\n commentCallback\n );\n }\n },\n sourceFile\n );\n function commentCallback(pos, end, kind) {\n callback(fullText, { end, kind, pos });\n }\n}\nfunction canHaveTrailingTrivia(token) {\n switch (token.kind) {\n case ts9__default.default.SyntaxKind.CloseBraceToken:\n return token.parent.kind !== ts9__default.default.SyntaxKind.JsxExpression || !isJsxElementOrFragment(token.parent.parent);\n case ts9__default.default.SyntaxKind.GreaterThanToken:\n switch (token.parent.kind) {\n case ts9__default.default.SyntaxKind.JsxClosingElement:\n case ts9__default.default.SyntaxKind.JsxClosingFragment:\n return !isJsxElementOrFragment(token.parent.parent.parent);\n case ts9__default.default.SyntaxKind.JsxOpeningElement:\n return token.end !== token.parent.end;\n case ts9__default.default.SyntaxKind.JsxOpeningFragment:\n return false;\n // would be inside the fragment\n case ts9__default.default.SyntaxKind.JsxSelfClosingElement:\n return token.end !== token.parent.end || // if end is not equal, this is part of the type arguments list\n !isJsxElementOrFragment(token.parent.parent);\n }\n }\n return true;\n}\nfunction isJsxElementOrFragment(node) {\n return node.kind === ts9__default.default.SyntaxKind.JsxElement || node.kind === ts9__default.default.SyntaxKind.JsxFragment;\n}\nfunction isCompilerOptionEnabled(options, option) {\n switch (option) {\n case \"allowJs\":\n return options.allowJs === undefined ? isCompilerOptionEnabled(options, \"checkJs\") : options.allowJs;\n case \"allowSyntheticDefaultImports\":\n return options.allowSyntheticDefaultImports !== undefined ? options.allowSyntheticDefaultImports : isCompilerOptionEnabled(options, \"esModuleInterop\") || options.module === ts9__default.default.ModuleKind.System;\n case \"alwaysStrict\":\n case \"noImplicitAny\":\n case \"noImplicitThis\":\n case \"strictBindCallApply\":\n case \"strictFunctionTypes\":\n case \"strictNullChecks\":\n case \"strictPropertyInitialization\":\n return isStrictCompilerOptionEnabled(\n options,\n option\n );\n case \"declaration\":\n return options.declaration || isCompilerOptionEnabled(options, \"composite\");\n case \"declarationMap\":\n case \"emitDeclarationOnly\":\n case \"stripInternal\":\n return options[option] === true && isCompilerOptionEnabled(options, \"declaration\");\n case \"incremental\":\n return options.incremental === undefined ? isCompilerOptionEnabled(options, \"composite\") : options.incremental;\n case \"noUncheckedIndexedAccess\":\n return options.noUncheckedIndexedAccess === true && isCompilerOptionEnabled(options, \"strictNullChecks\");\n case \"skipDefaultLibCheck\":\n return options.skipDefaultLibCheck || isCompilerOptionEnabled(options, \"skipLibCheck\");\n case \"suppressImplicitAnyIndexErrors\":\n return (\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n options.suppressImplicitAnyIndexErrors === true && isCompilerOptionEnabled(options, \"noImplicitAny\")\n );\n }\n return options[option] === true;\n}\nfunction isStrictCompilerOptionEnabled(options, option) {\n return (options.strict ? options[option] !== false : options[option] === true) && (option !== \"strictPropertyInitialization\" || isStrictCompilerOptionEnabled(options, \"strictNullChecks\"));\n}\nfunction isModifierFlagSet(node, flag) {\n return isFlagSet(ts9__default.default.getCombinedModifierFlags(node), flag);\n}\nfunction isFlagSet(allFlags, flag) {\n return (allFlags & flag) !== 0;\n}\nfunction isFlagSetOnObject(obj, flag) {\n return isFlagSet(obj.flags, flag);\n}\nvar isNodeFlagSet = isFlagSetOnObject;\nfunction isObjectFlagSet(objectType, flag) {\n return isFlagSet(objectType.objectFlags, flag);\n}\nvar isSymbolFlagSet = isFlagSetOnObject;\nfunction isTransientSymbolLinksFlagSet(links, flag) {\n return isFlagSet(links.checkFlags, flag);\n}\nvar isTypeFlagSet = isFlagSetOnObject;\n\n// src/modifiers.ts\nfunction includesModifier(modifiers, ...kinds) {\n if (modifiers === undefined) {\n return false;\n }\n for (const modifier of modifiers) {\n if (kinds.includes(modifier.kind)) {\n return true;\n }\n }\n return false;\n}\nfunction isAssignmentKind(kind) {\n return kind >= ts9__default.default.SyntaxKind.FirstAssignment && kind <= ts9__default.default.SyntaxKind.LastAssignment;\n}\nfunction isNumericPropertyName(name) {\n return String(+name) === name;\n}\nfunction isValidPropertyAccess(text, languageVersion = ts9__default.default.ScriptTarget.Latest) {\n if (text.length === 0) {\n return false;\n }\n let ch = text.codePointAt(0);\n if (!ts9__default.default.isIdentifierStart(ch, languageVersion)) {\n return false;\n }\n for (let i = charSize(ch); i < text.length; i += charSize(ch)) {\n ch = text.codePointAt(i);\n if (!ts9__default.default.isIdentifierPart(ch, languageVersion)) {\n return false;\n }\n }\n return true;\n}\nfunction charSize(ch) {\n return ch >= 65536 ? 2 : 1;\n}\n\n// src/nodes/access.ts\nvar AccessKind = /* @__PURE__ */ ((AccessKind2) => {\n AccessKind2[AccessKind2[\"None\"] = 0] = \"None\";\n AccessKind2[AccessKind2[\"Read\"] = 1] = \"Read\";\n AccessKind2[AccessKind2[\"Write\"] = 2] = \"Write\";\n AccessKind2[AccessKind2[\"Delete\"] = 4] = \"Delete\";\n AccessKind2[AccessKind2[\"ReadWrite\"] = 3] = \"ReadWrite\";\n return AccessKind2;\n})(AccessKind || {});\nfunction getAccessKind(node) {\n const parent = node.parent;\n switch (parent.kind) {\n case ts9__default.default.SyntaxKind.ArrayLiteralExpression:\n case ts9__default.default.SyntaxKind.SpreadAssignment:\n case ts9__default.default.SyntaxKind.SpreadElement:\n return isInDestructuringAssignment(\n parent\n ) ? 2 /* Write */ : 1 /* Read */;\n case ts9__default.default.SyntaxKind.ArrowFunction:\n return parent.body === node ? 1 /* Read */ : 2 /* Write */;\n case ts9__default.default.SyntaxKind.AsExpression:\n case ts9__default.default.SyntaxKind.NonNullExpression:\n case ts9__default.default.SyntaxKind.ParenthesizedExpression:\n case ts9__default.default.SyntaxKind.TypeAssertionExpression:\n return getAccessKind(parent);\n case ts9__default.default.SyntaxKind.AwaitExpression:\n case ts9__default.default.SyntaxKind.CallExpression:\n case ts9__default.default.SyntaxKind.CaseClause:\n case ts9__default.default.SyntaxKind.ComputedPropertyName:\n case ts9__default.default.SyntaxKind.ConditionalExpression:\n case ts9__default.default.SyntaxKind.Decorator:\n case ts9__default.default.SyntaxKind.DoStatement:\n case ts9__default.default.SyntaxKind.ElementAccessExpression:\n case ts9__default.default.SyntaxKind.ExpressionStatement:\n case ts9__default.default.SyntaxKind.ForStatement:\n case ts9__default.default.SyntaxKind.IfStatement:\n case ts9__default.default.SyntaxKind.JsxElement:\n case ts9__default.default.SyntaxKind.JsxExpression:\n case ts9__default.default.SyntaxKind.JsxOpeningElement:\n case ts9__default.default.SyntaxKind.JsxSelfClosingElement:\n case ts9__default.default.SyntaxKind.JsxSpreadAttribute:\n case ts9__default.default.SyntaxKind.NewExpression:\n case ts9__default.default.SyntaxKind.ReturnStatement:\n case ts9__default.default.SyntaxKind.SwitchStatement:\n case ts9__default.default.SyntaxKind.TaggedTemplateExpression:\n case ts9__default.default.SyntaxKind.TemplateSpan:\n case ts9__default.default.SyntaxKind.ThrowStatement:\n case ts9__default.default.SyntaxKind.TypeOfExpression:\n case ts9__default.default.SyntaxKind.VoidExpression:\n case ts9__default.default.SyntaxKind.WhileStatement:\n case ts9__default.default.SyntaxKind.WithStatement:\n case ts9__default.default.SyntaxKind.YieldExpression:\n return 1 /* Read */;\n case ts9__default.default.SyntaxKind.BinaryExpression:\n return parent.right === node ? 1 /* Read */ : !isAssignmentKind(parent.operatorToken.kind) ? 1 /* Read */ : parent.operatorToken.kind === ts9__default.default.SyntaxKind.EqualsToken ? 2 /* Write */ : 3 /* ReadWrite */;\n case ts9__default.default.SyntaxKind.BindingElement:\n case ts9__default.default.SyntaxKind.EnumMember:\n case ts9__default.default.SyntaxKind.JsxAttribute:\n case ts9__default.default.SyntaxKind.Parameter:\n case ts9__default.default.SyntaxKind.PropertyDeclaration:\n case ts9__default.default.SyntaxKind.VariableDeclaration:\n return parent.initializer === node ? 1 /* Read */ : 0 /* None */;\n case ts9__default.default.SyntaxKind.DeleteExpression:\n return 4 /* Delete */;\n case ts9__default.default.SyntaxKind.ExportAssignment:\n return parent.isExportEquals ? 1 /* Read */ : 0 /* None */;\n case ts9__default.default.SyntaxKind.ExpressionWithTypeArguments:\n return parent.parent.token === ts9__default.default.SyntaxKind.ExtendsKeyword && parent.parent.parent.kind !== ts9__default.default.SyntaxKind.InterfaceDeclaration ? 1 /* Read */ : 0 /* None */;\n case ts9__default.default.SyntaxKind.ForInStatement:\n case ts9__default.default.SyntaxKind.ForOfStatement:\n return parent.initializer === node ? 2 /* Write */ : 1 /* Read */;\n case ts9__default.default.SyntaxKind.PostfixUnaryExpression:\n return 3 /* ReadWrite */;\n case ts9__default.default.SyntaxKind.PrefixUnaryExpression:\n return parent.operator === ts9__default.default.SyntaxKind.PlusPlusToken || parent.operator === ts9__default.default.SyntaxKind.MinusMinusToken ? 3 /* ReadWrite */ : 1 /* Read */;\n case ts9__default.default.SyntaxKind.PropertyAccessExpression:\n return parent.expression === node ? 1 /* Read */ : 0 /* None */;\n case ts9__default.default.SyntaxKind.PropertyAssignment:\n return parent.name === node ? 0 /* None */ : isInDestructuringAssignment(parent) ? 2 /* Write */ : 1 /* Read */;\n case ts9__default.default.SyntaxKind.ShorthandPropertyAssignment:\n return parent.objectAssignmentInitializer === node ? 1 /* Read */ : isInDestructuringAssignment(parent) ? 2 /* Write */ : 1 /* Read */;\n }\n return 0 /* None */;\n}\nfunction isInDestructuringAssignment(node) {\n switch (node.kind) {\n case ts9__default.default.SyntaxKind.ShorthandPropertyAssignment:\n if (node.objectAssignmentInitializer !== undefined) {\n return true;\n }\n // falls through\n case ts9__default.default.SyntaxKind.PropertyAssignment:\n case ts9__default.default.SyntaxKind.SpreadAssignment:\n node = node.parent;\n break;\n case ts9__default.default.SyntaxKind.SpreadElement:\n if (node.parent.kind !== ts9__default.default.SyntaxKind.ArrayLiteralExpression) {\n return false;\n }\n node = node.parent;\n }\n while (true) {\n switch (node.parent.kind) {\n case ts9__default.default.SyntaxKind.ArrayLiteralExpression:\n case ts9__default.default.SyntaxKind.ObjectLiteralExpression:\n node = node.parent;\n break;\n case ts9__default.default.SyntaxKind.BinaryExpression:\n return node.parent.left === node && node.parent.operatorToken.kind === ts9__default.default.SyntaxKind.EqualsToken;\n case ts9__default.default.SyntaxKind.ForOfStatement:\n return node.parent.initializer === node;\n case ts9__default.default.SyntaxKind.PropertyAssignment:\n case ts9__default.default.SyntaxKind.SpreadAssignment:\n node = node.parent.parent;\n break;\n case ts9__default.default.SyntaxKind.SpreadElement:\n if (node.parent.parent.kind !== ts9__default.default.SyntaxKind.ArrayLiteralExpression) {\n return false;\n }\n node = node.parent.parent;\n break;\n default:\n return false;\n }\n }\n}\nfunction isAbstractKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.AbstractKeyword;\n}\nfunction isAccessorKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.AccessorKeyword;\n}\nfunction isAnyKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.AnyKeyword;\n}\nfunction isAssertKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.AssertKeyword;\n}\nfunction isAssertsKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.AssertsKeyword;\n}\nfunction isAsyncKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.AsyncKeyword;\n}\nfunction isAwaitKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.AwaitKeyword;\n}\nfunction isBigIntKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.BigIntKeyword;\n}\nfunction isBooleanKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.BooleanKeyword;\n}\nfunction isColonToken(node) {\n return node.kind === ts9__default.default.SyntaxKind.ColonToken;\n}\nfunction isConstKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.ConstKeyword;\n}\nfunction isDeclareKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.DeclareKeyword;\n}\nfunction isDefaultKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.DefaultKeyword;\n}\nfunction isDotToken(node) {\n return node.kind === ts9__default.default.SyntaxKind.DotToken;\n}\nfunction isEndOfFileToken(node) {\n return node.kind === ts9__default.default.SyntaxKind.EndOfFileToken;\n}\nfunction isEqualsGreaterThanToken(node) {\n return node.kind === ts9__default.default.SyntaxKind.EqualsGreaterThanToken;\n}\nfunction isEqualsToken(node) {\n return node.kind === ts9__default.default.SyntaxKind.EqualsToken;\n}\nfunction isExclamationToken(node) {\n return node.kind === ts9__default.default.SyntaxKind.ExclamationToken;\n}\nfunction isExportKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.ExportKeyword;\n}\nfunction isFalseKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.FalseKeyword;\n}\nfunction isFalseLiteral(node) {\n return node.kind === ts9__default.default.SyntaxKind.FalseKeyword;\n}\nfunction isImportExpression(node) {\n return node.kind === ts9__default.default.SyntaxKind.ImportKeyword;\n}\nfunction isImportKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.ImportKeyword;\n}\nfunction isInKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.InKeyword;\n}\nfunction isJSDocText(node) {\n return node.kind === ts9__default.default.SyntaxKind.JSDocText;\n}\nfunction isJsonMinusNumericLiteral(node) {\n return node.kind === ts9__default.default.SyntaxKind.PrefixUnaryExpression;\n}\nfunction isNeverKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.NeverKeyword;\n}\nfunction isNullKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.NullKeyword;\n}\nfunction isNullLiteral(node) {\n return node.kind === ts9__default.default.SyntaxKind.NullKeyword;\n}\nfunction isNumberKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.NumberKeyword;\n}\nfunction isObjectKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.ObjectKeyword;\n}\nfunction isOutKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.OutKeyword;\n}\nfunction isOverrideKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.OverrideKeyword;\n}\nfunction isPrivateKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.PrivateKeyword;\n}\nfunction isProtectedKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.ProtectedKeyword;\n}\nfunction isPublicKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.PublicKeyword;\n}\nfunction isQuestionDotToken(node) {\n return node.kind === ts9__default.default.SyntaxKind.QuestionDotToken;\n}\nfunction isQuestionToken(node) {\n return node.kind === ts9__default.default.SyntaxKind.QuestionToken;\n}\nfunction isReadonlyKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.ReadonlyKeyword;\n}\nfunction isStaticKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.StaticKeyword;\n}\nfunction isStringKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.StringKeyword;\n}\nfunction isSuperExpression(node) {\n return node.kind === ts9__default.default.SyntaxKind.SuperKeyword;\n}\nfunction isSuperKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.SuperKeyword;\n}\nfunction isSymbolKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.SymbolKeyword;\n}\nfunction isSyntaxList(node) {\n return node.kind === ts9__default.default.SyntaxKind.SyntaxList;\n}\nfunction isThisExpression(node) {\n return node.kind === ts9__default.default.SyntaxKind.ThisKeyword;\n}\nfunction isThisKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.ThisKeyword;\n}\nfunction isTrueKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.TrueKeyword;\n}\nfunction isTrueLiteral(node) {\n return node.kind === ts9__default.default.SyntaxKind.TrueKeyword;\n}\nfunction isUndefinedKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.UndefinedKeyword;\n}\nfunction isUnknownKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.UnknownKeyword;\n}\nfunction isVoidKeyword(node) {\n return node.kind === ts9__default.default.SyntaxKind.VoidKeyword;\n}\nvar [tsMajor, tsMinor] = ts9__default.default.versionMajorMinor.split(\".\").map((raw) => Number.parseInt(raw, 10));\nfunction isTsVersionAtLeast(major, minor = 0) {\n return tsMajor > major || tsMajor === major && tsMinor >= minor;\n}\n\n// src/nodes/typeGuards/union.ts\nfunction hasDecorators(node) {\n return ts9__default.default.isParameter(node) || ts9__default.default.isPropertyDeclaration(node) || ts9__default.default.isMethodDeclaration(node) || ts9__default.default.isGetAccessorDeclaration(node) || ts9__default.default.isSetAccessorDeclaration(node) || ts9__default.default.isClassExpression(node) || ts9__default.default.isClassDeclaration(node);\n}\nfunction hasExpressionInitializer(node) {\n return ts9__default.default.isVariableDeclaration(node) || ts9__default.default.isParameter(node) || ts9__default.default.isBindingElement(node) || ts9__default.default.isPropertyDeclaration(node) || ts9__default.default.isPropertyAssignment(node) || ts9__default.default.isEnumMember(node);\n}\nfunction hasInitializer(node) {\n return hasExpressionInitializer(node) || ts9__default.default.isForStatement(node) || ts9__default.default.isForInStatement(node) || ts9__default.default.isForOfStatement(node) || ts9__default.default.isJsxAttribute(node);\n}\nfunction hasJSDoc(node) {\n if (\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- Keep compatibility with ts <5\n isAccessorDeclaration(node) || ts9__default.default.isArrowFunction(node) || ts9__default.default.isBlock(node) || ts9__default.default.isBreakStatement(node) || ts9__default.default.isCallSignatureDeclaration(node) || ts9__default.default.isCaseClause(node) || // eslint-disable-next-line @typescript-eslint/no-deprecated -- Keep compatibility with ts <5\n isClassLikeDeclaration(node) || ts9__default.default.isConstructorDeclaration(node) || ts9__default.default.isConstructorTypeNode(node) || ts9__default.default.isConstructSignatureDeclaration(node) || ts9__default.default.isContinueStatement(node) || ts9__default.default.isDebuggerStatement(node) || ts9__default.default.isDoStatement(node) || ts9__default.default.isEmptyStatement(node) || isEndOfFileToken(node) || ts9__default.default.isEnumDeclaration(node) || ts9__default.default.isEnumMember(node) || ts9__default.default.isExportAssignment(node) || ts9__default.default.isExportDeclaration(node) || ts9__default.default.isExportSpecifier(node) || ts9__default.default.isExpressionStatement(node) || ts9__default.default.isForInStatement(node) || ts9__default.default.isForOfStatement(node) || ts9__default.default.isForStatement(node) || ts9__default.default.isFunctionDeclaration(node) || ts9__default.default.isFunctionExpression(node) || ts9__default.default.isFunctionTypeNode(node) || ts9__default.default.isIfStatement(node) || ts9__default.default.isImportDeclaration(node) || ts9__default.default.isImportEqualsDeclaration(node) || ts9__default.default.isIndexSignatureDeclaration(node) || ts9__default.default.isInterfaceDeclaration(node) || ts9__default.default.isJSDocFunctionType(node) || ts9__default.default.isLabeledStatement(node) || ts9__default.default.isMethodDeclaration(node) || ts9__default.default.isMethodSignature(node) || ts9__default.default.isModuleDeclaration(node) || ts9__default.default.isNamedTupleMember(node) || ts9__default.default.isNamespaceExportDeclaration(node) || ts9__default.default.isParameter(node) || ts9__default.default.isParenthesizedExpression(node) || ts9__default.default.isPropertyAssignment(node) || ts9__default.default.isPropertyDeclaration(node) || ts9__default.default.isPropertySignature(node) || ts9__default.default.isReturnStatement(node) || ts9__default.default.isShorthandPropertyAssignment(node) || ts9__default.default.isSpreadAssignment(node) || ts9__default.default.isSwitchStatement(node) || ts9__default.default.isThrowStatement(node) || ts9__default.default.isTryStatement(node) || ts9__default.default.isTypeAliasDeclaration(node) || ts9__default.default.isVariableDeclaration(node) || ts9__default.default.isVariableStatement(node) || ts9__default.default.isWhileStatement(node) || ts9__default.default.isWithStatement(node)\n ) {\n return true;\n }\n if (isTsVersionAtLeast(4, 4) && ts9__default.default.isClassStaticBlockDeclaration(node)) {\n return true;\n }\n if (isTsVersionAtLeast(5, 0) && (ts9__default.default.isBinaryExpression(node) || ts9__default.default.isElementAccessExpression(node) || ts9__default.default.isIdentifier(node) || ts9__default.default.isJSDocSignature(node) || ts9__default.default.isObjectLiteralExpression(node) || ts9__default.default.isPropertyAccessExpression(node) || ts9__default.default.isTypeParameterDeclaration(node))) {\n return true;\n }\n return false;\n}\nfunction hasModifiers(node) {\n return ts9__default.default.isTypeParameterDeclaration(node) || ts9__default.default.isParameter(node) || ts9__default.default.isConstructorTypeNode(node) || ts9__default.default.isPropertySignature(node) || ts9__default.default.isPropertyDeclaration(node) || ts9__default.default.isMethodSignature(node) || ts9__default.default.isMethodDeclaration(node) || ts9__default.default.isConstructorDeclaration(node) || ts9__default.default.isGetAccessorDeclaration(node) || ts9__default.default.isSetAccessorDeclaration(node) || ts9__default.default.isIndexSignatureDeclaration(node) || ts9__default.default.isFunctionExpression(node) || ts9__default.default.isArrowFunction(node) || ts9__default.default.isClassExpression(node) || ts9__default.default.isVariableStatement(node) || ts9__default.default.isFunctionDeclaration(node) || ts9__default.default.isClassDeclaration(node) || ts9__default.default.isInterfaceDeclaration(node) || ts9__default.default.isTypeAliasDeclaration(node) || ts9__default.default.isEnumDeclaration(node) || ts9__default.default.isModuleDeclaration(node) || ts9__default.default.isImportEqualsDeclaration(node) || ts9__default.default.isImportDeclaration(node) || ts9__default.default.isExportAssignment(node) || ts9__default.default.isExportDeclaration(node);\n}\nfunction hasType(node) {\n return isSignatureDeclaration(node) || ts9__default.default.isVariableDeclaration(node) || ts9__default.default.isParameter(node) || ts9__default.default.isPropertySignature(node) || ts9__default.default.isPropertyDeclaration(node) || ts9__default.default.isTypePredicateNode(node) || ts9__default.default.isParenthesizedTypeNode(node) || ts9__default.default.isTypeOperatorNode(node) || ts9__default.default.isMappedTypeNode(node) || ts9__default.default.isAssertionExpression(node) || ts9__default.default.isTypeAliasDeclaration(node) || ts9__default.default.isJSDocTypeExpression(node) || ts9__default.default.isJSDocNonNullableType(node) || ts9__default.default.isJSDocNullableType(node) || ts9__default.default.isJSDocOptionalType(node) || ts9__default.default.isJSDocVariadicType(node);\n}\nfunction hasTypeArguments(node) {\n return ts9__default.default.isCallExpression(node) || ts9__default.default.isNewExpression(node) || ts9__default.default.isTaggedTemplateExpression(node) || ts9__default.default.isJsxOpeningElement(node) || ts9__default.default.isJsxSelfClosingElement(node);\n}\nfunction isAccessExpression(node) {\n return ts9__default.default.isPropertyAccessExpression(node) || ts9__default.default.isElementAccessExpression(node);\n}\nfunction isAccessibilityModifier(node) {\n return isPublicKeyword(node) || isPrivateKeyword(node) || isProtectedKeyword(node);\n}\nfunction isAccessorDeclaration(node) {\n return ts9__default.default.isGetAccessorDeclaration(node) || ts9__default.default.isSetAccessorDeclaration(node);\n}\nfunction isArrayBindingElement(node) {\n return ts9__default.default.isBindingElement(node) || ts9__default.default.isOmittedExpression(node);\n}\nfunction isArrayBindingOrAssignmentPattern(node) {\n return ts9__default.default.isArrayBindingPattern(node) || ts9__default.default.isArrayLiteralExpression(node);\n}\nfunction isAssignmentPattern(node) {\n return ts9__default.default.isObjectLiteralExpression(node) || ts9__default.default.isArrayLiteralExpression(node);\n}\nfunction isBindingOrAssignmentElementRestIndicator(node) {\n if (ts9__default.default.isSpreadElement(node) || ts9__default.default.isSpreadAssignment(node)) {\n return true;\n }\n if (isTsVersionAtLeast(4, 4)) {\n return ts9__default.default.isDotDotDotToken(node);\n }\n return false;\n}\nfunction isBindingOrAssignmentElementTarget(node) {\n return isBindingOrAssignmentPattern(node) || ts9__default.default.isIdentifier(node) || ts9__default.default.isPropertyAccessExpression(node) || ts9__default.default.isElementAccessExpression(node) || ts9__default.default.isOmittedExpression(node);\n}\nfunction isBindingOrAssignmentPattern(node) {\n return isObjectBindingOrAssignmentPattern(node) || isArrayBindingOrAssignmentPattern(node);\n}\nfunction isBindingPattern(node) {\n return ts9__default.default.isObjectBindingPattern(node) || ts9__default.default.isArrayBindingPattern(node);\n}\nfunction isBlockLike(node) {\n return ts9__default.default.isSourceFile(node) || ts9__default.default.isBlock(node) || ts9__default.default.isModuleBlock(node) || ts9__default.default.isCaseOrDefaultClause(node);\n}\nfunction isBooleanLiteral(node) {\n return isTrueLiteral(node) || isFalseLiteral(node);\n}\nfunction isClassLikeDeclaration(node) {\n return ts9__default.default.isClassDeclaration(node) || ts9__default.default.isClassExpression(node);\n}\nfunction isClassMemberModifier(node) {\n return isAccessibilityModifier(node) || isReadonlyKeyword(node) || isStaticKeyword(node) || isAccessorKeyword(node);\n}\nfunction isDeclarationName(node) {\n return ts9__default.default.isIdentifier(node) || ts9__default.default.isPrivateIdentifier(node) || ts9__default.default.isStringLiteralLike(node) || ts9__default.default.isNumericLiteral(node) || ts9__default.default.isComputedPropertyName(node) || ts9__default.default.isElementAccessExpression(node) || isBindingPattern(node) || isEntityNameExpression(node);\n}\nfunction isDeclarationWithTypeParameterChildren(node) {\n return isSignatureDeclaration(node) || // eslint-disable-next-line @typescript-eslint/no-deprecated -- Keep compatibility with ts <5\n isClassLikeDeclaration(node) || ts9__default.default.isInterfaceDeclaration(node) || ts9__default.default.isTypeAliasDeclaration(node) || ts9__default.default.isJSDocTemplateTag(node);\n}\nfunction isDeclarationWithTypeParameters(node) {\n return isDeclarationWithTypeParameterChildren(node) || ts9__default.default.isJSDocTypedefTag(node) || ts9__default.default.isJSDocCallbackTag(node) || ts9__default.default.isJSDocSignature(node);\n}\nfunction isDestructuringPattern(node) {\n return isBindingPattern(node) || ts9__default.default.isObjectLiteralExpression(node) || ts9__default.default.isArrayLiteralExpression(node);\n}\nfunction isEntityNameExpression(node) {\n return ts9__default.default.isIdentifier(node) || isPropertyAccessEntityNameExpression(node);\n}\nfunction isEntityNameOrEntityNameExpression(node) {\n return ts9__default.default.isEntityName(node) || isEntityNameExpression(node);\n}\nfunction isForInOrOfStatement(node) {\n return ts9__default.default.isForInStatement(node) || ts9__default.default.isForOfStatement(node);\n}\nfunction isFunctionLikeDeclaration(node) {\n return ts9__default.default.isFunctionDeclaration(node) || ts9__default.default.isMethodDeclaration(node) || ts9__default.default.isGetAccessorDeclaration(node) || ts9__default.default.isSetAccessorDeclaration(node) || ts9__default.default.isConstructorDeclaration(node) || ts9__default.default.isFunctionExpression(node) || ts9__default.default.isArrowFunction(node);\n}\nfunction isJSDocComment(node) {\n if (isJSDocText(node)) {\n return true;\n }\n if (isTsVersionAtLeast(4, 4)) {\n return ts9__default.default.isJSDocLink(node) || ts9__default.default.isJSDocLinkCode(node) || ts9__default.default.isJSDocLinkPlain(node);\n }\n return false;\n}\nfunction isJSDocNamespaceBody(node) {\n return ts9__default.default.isIdentifier(node) || isJSDocNamespaceDeclaration(node);\n}\nfunction isJSDocTypeReferencingNode(node) {\n return ts9__default.default.isJSDocVariadicType(node) || ts9__default.default.isJSDocOptionalType(node) || ts9__default.default.isJSDocNullableType(node) || ts9__default.default.isJSDocNonNullableType(node);\n}\nfunction isJsonObjectExpression(node) {\n return ts9__default.default.isObjectLiteralExpression(node) || ts9__default.default.isArrayLiteralExpression(node) || isJsonMinusNumericLiteral(node) || ts9__default.default.isNumericLiteral(node) || ts9__default.default.isStringLiteral(node) || isBooleanLiteral(node) || isNullLiteral(node);\n}\nfunction isJsxAttributeLike(node) {\n return ts9__default.default.isJsxAttribute(node) || ts9__default.default.isJsxSpreadAttribute(node);\n}\nfunction isJsxAttributeValue(node) {\n return ts9__default.default.isStringLiteral(node) || ts9__default.default.isJsxExpression(node) || ts9__default.default.isJsxElement(node) || ts9__default.default.isJsxSelfClosingElement(node) || ts9__default.default.isJsxFragment(node);\n}\nfunction isJsxChild(node) {\n return ts9__default.default.isJsxText(node) || ts9__default.default.isJsxExpression(node) || ts9__default.default.isJsxElement(node) || ts9__default.default.isJsxSelfClosingElement(node) || ts9__default.default.isJsxFragment(node);\n}\nfunction isJsxTagNameExpression(node) {\n return ts9__default.default.isIdentifier(node) || isThisExpression(node) || isJsxTagNamePropertyAccess(node);\n}\nfunction isLiteralToken(node) {\n return ts9__default.default.isNumericLiteral(node) || ts9__default.default.isBigIntLiteral(node) || ts9__default.default.isStringLiteral(node) || ts9__default.default.isJsxText(node) || ts9__default.default.isRegularExpressionLiteral(node) || ts9__default.default.isNoSubstitutionTemplateLiteral(node);\n}\nfunction isModuleBody(node) {\n return isNamespaceBody(node) || isJSDocNamespaceBody(node);\n}\nfunction isModuleName(node) {\n return ts9__default.default.isIdentifier(node) || ts9__default.default.isStringLiteral(node);\n}\nfunction isModuleReference(node) {\n return ts9__default.default.isEntityName(node) || ts9__default.default.isExternalModuleReference(node);\n}\nfunction isNamedImportBindings(node) {\n return ts9__default.default.isNamespaceImport(node) || ts9__default.default.isNamedImports(node);\n}\nfunction isNamedImportsOrExports(node) {\n return ts9__default.default.isNamedImports(node) || ts9__default.default.isNamedExports(node);\n}\nfunction isNamespaceBody(node) {\n return ts9__default.default.isModuleBlock(node) || isNamespaceDeclaration(node);\n}\nfunction isObjectBindingOrAssignmentElement(node) {\n return ts9__default.default.isBindingElement(node) || ts9__default.default.isPropertyAssignment(node) || ts9__default.default.isShorthandPropertyAssignment(node) || ts9__default.default.isSpreadAssignment(node);\n}\nfunction isObjectBindingOrAssignmentPattern(node) {\n return ts9__default.default.isObjectBindingPattern(node) || ts9__default.default.isObjectLiteralExpression(node);\n}\nfunction isObjectTypeDeclaration(node) {\n return (\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- Keep compatibility with ts <5\n isClassLikeDeclaration(node) || ts9__default.default.isInterfaceDeclaration(node) || ts9__default.default.isTypeLiteralNode(node)\n );\n}\nfunction isParameterPropertyModifier(node) {\n return isAccessibilityModifier(node) || isReadonlyKeyword(node);\n}\nfunction isPropertyNameLiteral(node) {\n return ts9__default.default.isIdentifier(node) || ts9__default.default.isStringLiteralLike(node) || ts9__default.default.isNumericLiteral(node);\n}\nfunction isPseudoLiteralToken(node) {\n return ts9__default.default.isTemplateHead(node) || ts9__default.default.isTemplateMiddle(node) || ts9__default.default.isTemplateTail(node);\n}\nfunction isSignatureDeclaration(node) {\n return ts9__default.default.isCallSignatureDeclaration(node) || ts9__default.default.isConstructSignatureDeclaration(node) || ts9__default.default.isMethodSignature(node) || ts9__default.default.isIndexSignatureDeclaration(node) || ts9__default.default.isFunctionTypeNode(node) || ts9__default.default.isConstructorTypeNode(node) || ts9__default.default.isJSDocFunctionType(node) || ts9__default.default.isFunctionDeclaration(node) || ts9__default.default.isMethodDeclaration(node) || ts9__default.default.isConstructorDeclaration(node) || // eslint-disable-next-line @typescript-eslint/no-deprecated -- Keep compatibility with ts <5\n isAccessorDeclaration(node) || ts9__default.default.isFunctionExpression(node) || ts9__default.default.isArrowFunction(node);\n}\nfunction isSuperProperty(node) {\n return isSuperPropertyAccessExpression(node) || isSuperElementAccessExpression(node);\n}\nfunction isTypeOnlyCompatibleAliasDeclaration(node) {\n if (ts9__default.default.isImportClause(node) || ts9__default.default.isImportEqualsDeclaration(node) || ts9__default.default.isNamespaceImport(node) || ts9__default.default.isImportOrExportSpecifier(node)) {\n return true;\n }\n if (isTsVersionAtLeast(5, 0) && (ts9__default.default.isExportDeclaration(node) || ts9__default.default.isNamespaceExport(node))) {\n return true;\n }\n return false;\n}\nfunction isTypeReferenceType(node) {\n return ts9__default.default.isTypeReferenceNode(node) || ts9__default.default.isExpressionWithTypeArguments(node);\n}\nfunction isUnionOrIntersectionTypeNode(node) {\n return ts9__default.default.isUnionTypeNode(node) || ts9__default.default.isIntersectionTypeNode(node);\n}\nfunction isVariableLikeDeclaration(node) {\n return ts9__default.default.isVariableDeclaration(node) || ts9__default.default.isParameter(node) || ts9__default.default.isBindingElement(node) || ts9__default.default.isPropertyDeclaration(node) || ts9__default.default.isPropertyAssignment(node) || ts9__default.default.isPropertySignature(node) || ts9__default.default.isJsxAttribute(node) || ts9__default.default.isShorthandPropertyAssignment(node) || ts9__default.default.isEnumMember(node) || ts9__default.default.isJSDocPropertyTag(node) || ts9__default.default.isJSDocParameterTag(node);\n}\n\n// src/nodes/typeGuards/compound.ts\nfunction isConstAssertionExpression(node) {\n return ts9__default.default.isTypeReferenceNode(node.type) && ts9__default.default.isIdentifier(node.type.typeName) && node.type.typeName.escapedText === \"const\";\n}\nfunction isIterationStatement(node) {\n switch (node.kind) {\n case ts9__default.default.SyntaxKind.DoStatement:\n case ts9__default.default.SyntaxKind.ForInStatement:\n case ts9__default.default.SyntaxKind.ForOfStatement:\n case ts9__default.default.SyntaxKind.ForStatement:\n case ts9__default.default.SyntaxKind.WhileStatement:\n return true;\n default:\n return false;\n }\n}\nfunction isJSDocNamespaceDeclaration(node) {\n return ts9__default.default.isModuleDeclaration(node) && ts9__default.default.isIdentifier(node.name) && (node.body === undefined || isJSDocNamespaceBody(node.body));\n}\nfunction isJsxTagNamePropertyAccess(node) {\n return ts9__default.default.isPropertyAccessExpression(node) && // eslint-disable-next-line @typescript-eslint/no-deprecated -- Keep compatibility with ts < 5\n isJsxTagNameExpression(node.expression);\n}\nfunction isNamedDeclarationWithName(node) {\n return \"name\" in node && node.name !== undefined && node.name !== null && isDeclarationName(node.name);\n}\nfunction isNamespaceDeclaration(node) {\n return ts9__default.default.isModuleDeclaration(node) && ts9__default.default.isIdentifier(node.name) && node.body !== undefined && isNamespaceBody(node.body);\n}\nfunction isNumericOrStringLikeLiteral(node) {\n switch (node.kind) {\n case ts9__default.default.SyntaxKind.NoSubstitutionTemplateLiteral:\n case ts9__default.default.SyntaxKind.NumericLiteral:\n case ts9__default.default.SyntaxKind.StringLiteral:\n return true;\n default:\n return false;\n }\n}\nfunction isPropertyAccessEntityNameExpression(node) {\n return ts9__default.default.isPropertyAccessExpression(node) && ts9__default.default.isIdentifier(node.name) && isEntityNameExpression(node.expression);\n}\nfunction isSuperElementAccessExpression(node) {\n return ts9__default.default.isElementAccessExpression(node) && isSuperExpression(node.expression);\n}\nfunction isSuperPropertyAccessExpression(node) {\n return ts9__default.default.isPropertyAccessExpression(node) && isSuperExpression(node.expression);\n}\nfunction isFunctionScopeBoundary(node) {\n switch (node.kind) {\n case ts9__default.default.SyntaxKind.ArrowFunction:\n case ts9__default.default.SyntaxKind.CallSignature:\n case ts9__default.default.SyntaxKind.ClassDeclaration:\n case ts9__default.default.SyntaxKind.ClassExpression:\n case ts9__default.default.SyntaxKind.Constructor:\n case ts9__default.default.SyntaxKind.ConstructorType:\n case ts9__default.default.SyntaxKind.ConstructSignature:\n case ts9__default.default.SyntaxKind.EnumDeclaration:\n case ts9__default.default.SyntaxKind.FunctionDeclaration:\n case ts9__default.default.SyntaxKind.FunctionExpression:\n case ts9__default.default.SyntaxKind.FunctionType:\n case ts9__default.default.SyntaxKind.GetAccessor:\n case ts9__default.default.SyntaxKind.MethodDeclaration:\n case ts9__default.default.SyntaxKind.MethodSignature:\n case ts9__default.default.SyntaxKind.ModuleDeclaration:\n case ts9__default.default.SyntaxKind.SetAccessor:\n return true;\n case ts9__default.default.SyntaxKind.SourceFile:\n return ts9__default.default.isExternalModule(node);\n default:\n return false;\n }\n}\nfunction isIntrinsicAnyType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Any);\n}\nfunction isIntrinsicBigIntType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.BigInt);\n}\nfunction isIntrinsicBooleanType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Boolean);\n}\nfunction isIntrinsicErrorType(type) {\n return isIntrinsicType(type) && type.intrinsicName === \"error\";\n}\nfunction isIntrinsicESSymbolType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.ESSymbol);\n}\nvar IntrinsicTypeFlags = ts9__default.default.TypeFlags.Intrinsic ?? ts9__default.default.TypeFlags.Any | ts9__default.default.TypeFlags.Unknown | ts9__default.default.TypeFlags.String | ts9__default.default.TypeFlags.Number | ts9__default.default.TypeFlags.BigInt | ts9__default.default.TypeFlags.Boolean | ts9__default.default.TypeFlags.BooleanLiteral | ts9__default.default.TypeFlags.ESSymbol | ts9__default.default.TypeFlags.Void | ts9__default.default.TypeFlags.Undefined | ts9__default.default.TypeFlags.Null | ts9__default.default.TypeFlags.Never | ts9__default.default.TypeFlags.NonPrimitive;\nfunction isIntrinsicNeverType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Never);\n}\nfunction isIntrinsicNonPrimitiveType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.NonPrimitive);\n}\nfunction isIntrinsicNullType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Null);\n}\nfunction isIntrinsicNumberType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Number);\n}\nfunction isIntrinsicStringType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.String);\n}\nfunction isIntrinsicType(type) {\n return isTypeFlagSet(type, IntrinsicTypeFlags);\n}\nfunction isIntrinsicUndefinedType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Undefined);\n}\nfunction isIntrinsicUnknownType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Unknown);\n}\nfunction isIntrinsicVoidType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Void);\n}\nfunction isConditionalType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Conditional);\n}\nfunction isEnumType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Enum);\n}\nfunction isFreshableType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Freshable);\n}\nfunction isIndexedAccessType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.IndexedAccess);\n}\nfunction isIndexType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Index);\n}\nfunction isInstantiableType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Instantiable);\n}\nfunction isIntersectionType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Intersection);\n}\nfunction isObjectType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Object);\n}\nfunction isStringMappingType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.StringMapping);\n}\nfunction isSubstitutionType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Substitution);\n}\nfunction isTypeParameter(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.TypeParameter);\n}\nfunction isTypeVariable(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.TypeVariable);\n}\nfunction isUnionOrIntersectionType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.UnionOrIntersection);\n}\nfunction isUnionType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Union);\n}\nfunction isUniqueESSymbolType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.UniqueESSymbol);\n}\n\n// src/types/typeGuards/objects.ts\nfunction isEvolvingArrayType(type) {\n return isObjectType(type) && isObjectFlagSet(type, ts9__default.default.ObjectFlags.EvolvingArray);\n}\nfunction isTupleType(type) {\n return isObjectType(type) && isObjectFlagSet(type, ts9__default.default.ObjectFlags.Tuple);\n}\nfunction isTypeReference(type) {\n return isObjectType(type) && isObjectFlagSet(type, ts9__default.default.ObjectFlags.Reference);\n}\n\n// src/types/typeGuards/compound.ts\nfunction isFreshableIntrinsicType(type) {\n return isIntrinsicType(type) && isFreshableType(type);\n}\nfunction isTupleTypeReference(type) {\n return isTypeReference(type) && isTupleType(type.target);\n}\nfunction isBigIntLiteralType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.BigIntLiteral);\n}\nfunction isBooleanLiteralType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.BooleanLiteral);\n}\nfunction isFalseLiteralType(type) {\n return isBooleanLiteralType(type) && type.intrinsicName === \"false\";\n}\nfunction isLiteralType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.Literal);\n}\nfunction isNumberLiteralType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.NumberLiteral);\n}\nfunction isStringLiteralType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.StringLiteral);\n}\nfunction isTemplateLiteralType(type) {\n return isTypeFlagSet(type, ts9__default.default.TypeFlags.TemplateLiteral);\n}\nfunction isTrueLiteralType(type) {\n return isBooleanLiteralType(type) && type.intrinsicName === \"true\";\n}\n\n// src/types/getters.ts\nfunction getCallSignaturesOfType(type) {\n if (isUnionType(type)) {\n const signatures = [];\n for (const subType of type.types) {\n signatures.push(...getCallSignaturesOfType(subType));\n }\n return signatures;\n }\n if (isIntersectionType(type)) {\n let signatures;\n for (const subType of type.types) {\n const sig = getCallSignaturesOfType(subType);\n if (sig.length !== 0) {\n if (signatures !== undefined) {\n return [];\n }\n signatures = sig;\n }\n }\n return signatures === undefined ? [] : signatures;\n }\n return type.getCallSignatures();\n}\nfunction getPropertyOfType(type, name) {\n if (!name.startsWith(\"__\")) {\n return type.getProperty(name);\n }\n return type.getProperties().find((s) => s.escapedName === name);\n}\nfunction getWellKnownSymbolPropertyOfType(type, wellKnownSymbolName, typeChecker) {\n const prefix = \"__@\" + wellKnownSymbolName;\n for (const prop of type.getProperties()) {\n if (!prop.name.startsWith(prefix)) {\n continue;\n }\n const declaration = prop.valueDeclaration ?? prop.getDeclarations()?.[0];\n if (!declaration || !isNamedDeclarationWithName(declaration) || declaration.name === undefined || !ts9__default.default.isComputedPropertyName(declaration.name)) {\n continue;\n }\n const globalSymbol = typeChecker.getApparentType(\n typeChecker.getTypeAtLocation(declaration.name.expression)\n ).symbol;\n if (prop.escapedName === getPropertyNameOfWellKnownSymbol(\n typeChecker,\n globalSymbol,\n wellKnownSymbolName\n )) {\n return prop;\n }\n }\n return undefined;\n}\nfunction getPropertyNameOfWellKnownSymbol(typeChecker, symbolConstructor, symbolName) {\n const knownSymbol = symbolConstructor && typeChecker.getTypeOfSymbolAtLocation(\n symbolConstructor,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n symbolConstructor.valueDeclaration\n ).getProperty(symbolName);\n const knownSymbolType = knownSymbol && typeChecker.getTypeOfSymbolAtLocation(\n knownSymbol,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n knownSymbol.valueDeclaration\n );\n if (knownSymbolType && isUniqueESSymbolType(knownSymbolType)) {\n return knownSymbolType.escapedName;\n }\n return \"__@\" + symbolName;\n}\nfunction isBindableObjectDefinePropertyCall(node) {\n return node.arguments.length === 3 && isEntityNameExpression(node.arguments[0]) && isNumericOrStringLikeLiteral(node.arguments[1]) && ts9__default.default.isPropertyAccessExpression(node.expression) && node.expression.name.escapedText === \"defineProperty\" && ts9__default.default.isIdentifier(node.expression.expression) && node.expression.expression.escapedText === \"Object\";\n}\nfunction isInConstContext(node, typeChecker) {\n let current = node;\n while (true) {\n const parent = current.parent;\n outer: switch (parent.kind) {\n case ts9__default.default.SyntaxKind.ArrayLiteralExpression:\n case ts9__default.default.SyntaxKind.ObjectLiteralExpression:\n case ts9__default.default.SyntaxKind.ParenthesizedExpression:\n case ts9__default.default.SyntaxKind.TemplateExpression:\n current = parent;\n break;\n case ts9__default.default.SyntaxKind.AsExpression:\n case ts9__default.default.SyntaxKind.TypeAssertionExpression:\n return isConstAssertionExpression(parent);\n case ts9__default.default.SyntaxKind.CallExpression: {\n if (!ts9__default.default.isExpression(current)) {\n return false;\n }\n const functionSignature = typeChecker.getResolvedSignature(\n parent\n );\n if (functionSignature === undefined) {\n return false;\n }\n const argumentIndex = parent.arguments.indexOf(\n current\n );\n if (argumentIndex < 0) {\n return false;\n }\n const parameterSymbol = functionSignature.getParameters()[argumentIndex];\n if (parameterSymbol === undefined || !(\"links\" in parameterSymbol)) {\n return false;\n }\n const parameterSymbolLinks = parameterSymbol.links;\n const propertySymbol = parameterSymbolLinks.type?.getProperties()?.[argumentIndex];\n if (propertySymbol === undefined || !(\"links\" in propertySymbol)) {\n return false;\n }\n return isTransientSymbolLinksFlagSet(\n propertySymbol.links,\n ts9__default.default.CheckFlags.Readonly\n );\n }\n case ts9__default.default.SyntaxKind.PrefixUnaryExpression:\n if (current.kind !== ts9__default.default.SyntaxKind.NumericLiteral) {\n return false;\n }\n switch (parent.operator) {\n case ts9__default.default.SyntaxKind.MinusToken:\n case ts9__default.default.SyntaxKind.PlusToken:\n current = parent;\n break outer;\n default:\n return false;\n }\n case ts9__default.default.SyntaxKind.PropertyAssignment:\n if (parent.initializer !== current) {\n return false;\n }\n current = parent.parent;\n break;\n case ts9__default.default.SyntaxKind.ShorthandPropertyAssignment:\n current = parent.parent;\n break;\n default:\n return false;\n }\n }\n}\n\n// src/types/utilities.ts\nfunction intersectionConstituents(type) {\n return isIntersectionType(type) ? type.types : [type];\n}\nvar intersectionTypeParts = intersectionConstituents;\nfunction isFalsyType(type) {\n if (isTypeFlagSet(\n type,\n ts9__default.default.TypeFlags.Undefined | ts9__default.default.TypeFlags.Null | ts9__default.default.TypeFlags.Void\n )) {\n return true;\n }\n if (typeIsLiteral(type)) {\n if (typeof type.value === \"object\") {\n return type.value.base10Value === \"0\";\n } else {\n return !type.value;\n }\n }\n return isFalseLiteralType(type);\n}\nfunction isPropertyReadonlyInType(type, name, typeChecker) {\n let seenProperty = false;\n let seenReadonlySignature = false;\n for (const subType of unionConstituents(type)) {\n if (getPropertyOfType(subType, name) === undefined) {\n const index = (isNumericPropertyName(name) ? typeChecker.getIndexInfoOfType(subType, ts9__default.default.IndexKind.Number) : undefined) ?? typeChecker.getIndexInfoOfType(subType, ts9__default.default.IndexKind.String);\n if (index?.isReadonly) {\n if (seenProperty) {\n return true;\n }\n seenReadonlySignature = true;\n }\n } else if (seenReadonlySignature || isReadonlyPropertyIntersection(subType, name, typeChecker)) {\n return true;\n } else {\n seenProperty = true;\n }\n }\n return false;\n}\nfunction isThenableType(typeChecker, node, type = typeChecker.getTypeAtLocation(node)) {\n for (const constituent of unionConstituents(\n typeChecker.getApparentType(type)\n )) {\n const then = constituent.getProperty(\"then\");\n if (then === undefined) {\n continue;\n }\n const thenType = typeChecker.getTypeOfSymbolAtLocation(then, node);\n for (const subConstituent of unionConstituents(thenType)) {\n for (const signature of subConstituent.getCallSignatures()) {\n if (signature.parameters.length !== 0 && isCallback(typeChecker, signature.parameters[0], node)) {\n return true;\n }\n }\n }\n }\n return false;\n}\nfunction symbolHasReadonlyDeclaration(symbol, typeChecker) {\n return !!((symbol.flags & ts9__default.default.SymbolFlags.Accessor) === ts9__default.default.SymbolFlags.GetAccessor || symbol.declarations?.some(\n (node) => isModifierFlagSet(node, ts9__default.default.ModifierFlags.Readonly) || ts9__default.default.isVariableDeclaration(node) && isNodeFlagSet(node.parent, ts9__default.default.NodeFlags.Const) || ts9__default.default.isCallExpression(node) && isReadonlyAssignmentDeclaration(node, typeChecker) || ts9__default.default.isEnumMember(node) || (ts9__default.default.isPropertyAssignment(node) || ts9__default.default.isShorthandPropertyAssignment(node)) && isInConstContext(node, typeChecker)\n ));\n}\nfunction typeConstituents(type) {\n return isIntersectionType(type) || isUnionType(type) ? type.types : [type];\n}\nfunction typeIsLiteral(type) {\n if (isTsVersionAtLeast(5, 0)) {\n return type.isLiteral();\n } else {\n return isTypeFlagSet(\n type,\n ts9__default.default.TypeFlags.StringLiteral | ts9__default.default.TypeFlags.NumberLiteral | ts9__default.default.TypeFlags.BigIntLiteral\n );\n }\n}\nvar typeParts = typeConstituents;\nfunction unionConstituents(type) {\n return isUnionType(type) ? type.types : [type];\n}\nvar unionTypeParts = unionConstituents;\nfunction isCallback(typeChecker, param, node) {\n let type = typeChecker.getApparentType(\n typeChecker.getTypeOfSymbolAtLocation(param, node)\n );\n if (param.valueDeclaration.dotDotDotToken) {\n type = type.getNumberIndexType();\n if (type === undefined) {\n return false;\n }\n }\n for (const subType of unionConstituents(type)) {\n if (subType.getCallSignatures().length !== 0) {\n return true;\n }\n }\n return false;\n}\nfunction isReadonlyAssignmentDeclaration(node, typeChecker) {\n if (!isBindableObjectDefinePropertyCall(node)) {\n return false;\n }\n const descriptorType = typeChecker.getTypeAtLocation(node.arguments[2]);\n if (descriptorType.getProperty(\"value\") === undefined) {\n return descriptorType.getProperty(\"set\") === undefined;\n }\n const writableProp = descriptorType.getProperty(\"writable\");\n if (writableProp === undefined) {\n return false;\n }\n const writableType = writableProp.valueDeclaration !== undefined && ts9__default.default.isPropertyAssignment(writableProp.valueDeclaration) ? typeChecker.getTypeAtLocation(writableProp.valueDeclaration.initializer) : typeChecker.getTypeOfSymbolAtLocation(writableProp, node.arguments[2]);\n return isFalseLiteralType(writableType);\n}\nfunction isReadonlyPropertyFromMappedType(type, name, typeChecker) {\n if (!isObjectType(type) || !isObjectFlagSet(type, ts9__default.default.ObjectFlags.Mapped)) {\n return;\n }\n const declaration = type.symbol.declarations[0];\n if (declaration.readonlyToken !== undefined && !/^__@[^@]+$/.test(name)) {\n return declaration.readonlyToken.kind !== ts9__default.default.SyntaxKind.MinusToken;\n }\n const { modifiersType } = type;\n return modifiersType && isPropertyReadonlyInType(modifiersType, name, typeChecker);\n}\nfunction isReadonlyPropertyIntersection(type, name, typeChecker) {\n const constituents = intersectionConstituents(type);\n return constituents.some((constituent) => {\n const prop = getPropertyOfType(constituent, name);\n if (prop === undefined) {\n return false;\n }\n if (prop.flags & ts9__default.default.SymbolFlags.Transient) {\n if (/^(?:[1-9]\\d*|0)$/.test(name) && isTupleTypeReference(constituent)) {\n return constituent.target.readonly;\n }\n switch (isReadonlyPropertyFromMappedType(constituent, name, typeChecker)) {\n case false:\n return false;\n case true:\n return true;\n }\n }\n return !!// members of namespace import\n (isSymbolFlagSet(prop, ts9__default.default.SymbolFlags.ValueModule) || // we unwrapped every mapped type, now we can check the actual declarations\n symbolHasReadonlyDeclaration(prop, typeChecker));\n });\n}\nfunction identifierToKeywordKind(node) {\n return \"originalKeywordKind\" in node ? node.originalKeywordKind : ts9__default.default.identifierToKeywordKind(node);\n}\n\n// src/usage/declarations.ts\nvar DeclarationDomain = /* @__PURE__ */ ((DeclarationDomain2) => {\n DeclarationDomain2[DeclarationDomain2[\"Namespace\"] = 1] = \"Namespace\";\n DeclarationDomain2[DeclarationDomain2[\"Type\"] = 2] = \"Type\";\n DeclarationDomain2[DeclarationDomain2[\"Value\"] = 4] = \"Value\";\n DeclarationDomain2[DeclarationDomain2[\"Any\"] = 7] = \"Any\";\n DeclarationDomain2[DeclarationDomain2[\"Import\"] = 8] = \"Import\";\n return DeclarationDomain2;\n})(DeclarationDomain || {});\nfunction getDeclarationDomain(node) {\n switch (node.parent.kind) {\n case ts9__default.default.SyntaxKind.ClassDeclaration:\n case ts9__default.default.SyntaxKind.ClassExpression:\n return 2 /* Type */ | 4 /* Value */;\n case ts9__default.default.SyntaxKind.EnumDeclaration:\n return 7 /* Any */;\n case ts9__default.default.SyntaxKind.FunctionDeclaration:\n case ts9__default.default.SyntaxKind.FunctionExpression:\n return 4 /* Value */;\n case ts9__default.default.SyntaxKind.ImportClause:\n case ts9__default.default.SyntaxKind.NamespaceImport:\n return 7 /* Any */ | 8 /* Import */;\n // TODO handle type-only imports\n case ts9__default.default.SyntaxKind.ImportEqualsDeclaration:\n case ts9__default.default.SyntaxKind.ImportSpecifier:\n return node.parent.name === node ? 7 /* Any */ | 8 /* Import */ : undefined;\n case ts9__default.default.SyntaxKind.InterfaceDeclaration:\n case ts9__default.default.SyntaxKind.TypeAliasDeclaration:\n case ts9__default.default.SyntaxKind.TypeParameter:\n return 2 /* Type */;\n case ts9__default.default.SyntaxKind.ModuleDeclaration:\n return 1 /* Namespace */;\n case ts9__default.default.SyntaxKind.Parameter:\n if (node.parent.parent.kind === ts9__default.default.SyntaxKind.IndexSignature || identifierToKeywordKind(node) === ts9__default.default.SyntaxKind.ThisKeyword) {\n return;\n }\n // falls through\n case ts9__default.default.SyntaxKind.BindingElement:\n case ts9__default.default.SyntaxKind.VariableDeclaration:\n return node.parent.name === node ? 4 /* Value */ : undefined;\n }\n}\nfunction getPropertyName(propertyName) {\n if (propertyName.kind === ts9__default.default.SyntaxKind.ComputedPropertyName) {\n const expression = unwrapParentheses(propertyName.expression);\n if (ts9__default.default.isPrefixUnaryExpression(expression)) {\n let negate = false;\n switch (expression.operator) {\n case ts9__default.default.SyntaxKind.MinusToken:\n negate = true;\n // falls through\n case ts9__default.default.SyntaxKind.PlusToken:\n return ts9__default.default.isNumericLiteral(expression.operand) ? `${negate ? \"-\" : \"\"}${expression.operand.text}` : ts9__default.default.isBigIntLiteral(expression.operand) ? `${negate ? \"-\" : \"\"}${expression.operand.text.slice(0, -1)}` : undefined;\n default:\n return;\n }\n }\n if (ts9__default.default.isBigIntLiteral(expression)) {\n return expression.text.slice(0, -1);\n }\n if (isNumericOrStringLikeLiteral(expression)) {\n return expression.text;\n }\n return;\n }\n return propertyName.kind === ts9__default.default.SyntaxKind.PrivateIdentifier ? undefined : propertyName.text;\n}\nfunction unwrapParentheses(node) {\n while (node.kind === ts9__default.default.SyntaxKind.ParenthesizedExpression) {\n node = node.expression;\n }\n return node;\n}\nvar UsageDomain = /* @__PURE__ */ ((UsageDomain2) => {\n UsageDomain2[UsageDomain2[\"Namespace\"] = 1] = \"Namespace\";\n UsageDomain2[UsageDomain2[\"Type\"] = 2] = \"Type\";\n UsageDomain2[UsageDomain2[\"Value\"] = 4] = \"Value\";\n UsageDomain2[UsageDomain2[\"Any\"] = 7] = \"Any\";\n UsageDomain2[UsageDomain2[\"TypeQuery\"] = 8] = \"TypeQuery\";\n UsageDomain2[UsageDomain2[\"ValueOrNamespace\"] = 5] = \"ValueOrNamespace\";\n return UsageDomain2;\n})(UsageDomain || {});\nfunction getUsageDomain(node) {\n const parent = node.parent;\n switch (parent.kind) {\n // Value\n case ts9__default.default.SyntaxKind.BindingElement:\n if (parent.initializer === node) {\n return 5 /* ValueOrNamespace */;\n }\n break;\n case ts9__default.default.SyntaxKind.BreakStatement:\n case ts9__default.default.SyntaxKind.ClassDeclaration:\n case ts9__default.default.SyntaxKind.ClassExpression:\n case ts9__default.default.SyntaxKind.ContinueStatement:\n case ts9__default.default.SyntaxKind.EnumDeclaration:\n case ts9__default.default.SyntaxKind.FunctionDeclaration:\n case ts9__default.default.SyntaxKind.FunctionExpression:\n case ts9__default.default.SyntaxKind.GetAccessor:\n case ts9__default.default.SyntaxKind.ImportClause:\n case ts9__default.default.SyntaxKind.ImportSpecifier:\n case ts9__default.default.SyntaxKind.InterfaceDeclaration:\n case ts9__default.default.SyntaxKind.JsxAttribute:\n case ts9__default.default.SyntaxKind.LabeledStatement:\n case ts9__default.default.SyntaxKind.MethodDeclaration:\n case ts9__default.default.SyntaxKind.MethodSignature:\n case ts9__default.default.SyntaxKind.ModuleDeclaration:\n case ts9__default.default.SyntaxKind.NamedTupleMember:\n case ts9__default.default.SyntaxKind.NamespaceExport:\n case ts9__default.default.SyntaxKind.NamespaceExportDeclaration:\n case ts9__default.default.SyntaxKind.NamespaceImport:\n case ts9__default.default.SyntaxKind.PropertySignature:\n case ts9__default.default.SyntaxKind.SetAccessor:\n case ts9__default.default.SyntaxKind.TypeAliasDeclaration:\n case ts9__default.default.SyntaxKind.TypeParameter:\n case ts9__default.default.SyntaxKind.TypePredicate:\n break;\n case ts9__default.default.SyntaxKind.EnumMember:\n case ts9__default.default.SyntaxKind.ImportEqualsDeclaration:\n case ts9__default.default.SyntaxKind.Parameter:\n case ts9__default.default.SyntaxKind.PropertyAccessExpression:\n case ts9__default.default.SyntaxKind.PropertyAssignment:\n case ts9__default.default.SyntaxKind.PropertyDeclaration:\n case ts9__default.default.SyntaxKind.VariableDeclaration:\n if (parent.name !== node) {\n return 5 /* ValueOrNamespace */;\n }\n break;\n case ts9__default.default.SyntaxKind.ExportAssignment:\n return 7 /* Any */;\n case ts9__default.default.SyntaxKind.ExportSpecifier:\n if (parent.propertyName === undefined || parent.propertyName === node) {\n return 7 /* Any */;\n }\n break;\n case ts9__default.default.SyntaxKind.ExpressionWithTypeArguments:\n return parent.parent.token === ts9__default.default.SyntaxKind.ImplementsKeyword || parent.parent.parent.kind === ts9__default.default.SyntaxKind.InterfaceDeclaration ? 2 /* Type */ : 4 /* Value */;\n case ts9__default.default.SyntaxKind.QualifiedName:\n if (parent.left === node) {\n if (getEntityNameParent(parent).kind === ts9__default.default.SyntaxKind.TypeQuery) {\n return 1 /* Namespace */ | 8 /* TypeQuery */;\n }\n return 1 /* Namespace */;\n }\n break;\n case ts9__default.default.SyntaxKind.TypeQuery:\n return 5 /* ValueOrNamespace */ | 8 /* TypeQuery */;\n case ts9__default.default.SyntaxKind.TypeReference:\n return identifierToKeywordKind(node) !== ts9__default.default.SyntaxKind.ConstKeyword ? 2 /* Type */ : undefined;\n default:\n return 5 /* ValueOrNamespace */;\n }\n}\nfunction getEntityNameParent(name) {\n let parent = name.parent;\n while (parent.kind === ts9__default.default.SyntaxKind.QualifiedName) {\n parent = parent.parent;\n }\n return parent;\n}\nfunction isBlockScopeBoundary(node) {\n switch (node.kind) {\n case ts9__default.default.SyntaxKind.Block: {\n const parent = node.parent;\n return parent.kind !== ts9__default.default.SyntaxKind.CatchClause && // blocks inside SourceFile are block scope boundaries\n (parent.kind === ts9__default.default.SyntaxKind.SourceFile || // blocks that are direct children of a function scope boundary are no scope boundary\n // for example the FunctionBlock is part of the function scope of the containing function\n !isFunctionScopeBoundary(parent)) ? 2 /* Block */ : 0 /* None */;\n }\n case ts9__default.default.SyntaxKind.CaseBlock:\n case ts9__default.default.SyntaxKind.CatchClause:\n case ts9__default.default.SyntaxKind.ForInStatement:\n case ts9__default.default.SyntaxKind.ForOfStatement:\n case ts9__default.default.SyntaxKind.ForStatement:\n case ts9__default.default.SyntaxKind.WithStatement:\n return 2 /* Block */;\n default:\n return 0 /* None */;\n }\n}\n\n// src/usage/scopes.ts\nvar AbstractScope = class {\n constructor(global) {\n this.global = global;\n }\n namespaceScopes = undefined;\n uses = [];\n variables = /* @__PURE__ */ new Map();\n #enumScopes = undefined;\n addUse(use) {\n this.uses.push(use);\n }\n addVariable(identifier, name, selector, exported, domain) {\n const variables = this.getDestinationScope(selector).getVariables();\n const declaration = {\n declaration: name,\n domain,\n exported\n };\n const variable = variables.get(identifier);\n if (variable === undefined) {\n variables.set(identifier, {\n declarations: [declaration],\n domain,\n uses: []\n });\n } else {\n variable.domain |= domain;\n variable.declarations.push(declaration);\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n createOrReuseEnumScope(name, _exported) {\n let scope;\n if (this.#enumScopes === undefined) {\n this.#enumScopes = /* @__PURE__ */ new Map();\n } else {\n scope = this.#enumScopes.get(name);\n }\n if (scope === undefined) {\n scope = new EnumScope(this);\n this.#enumScopes.set(name, scope);\n }\n return scope;\n }\n // only relevant for the root scope\n createOrReuseNamespaceScope(name, _exported, ambient, hasExportStatement) {\n let scope;\n if (this.namespaceScopes === undefined) {\n this.namespaceScopes = /* @__PURE__ */ new Map();\n } else {\n scope = this.namespaceScopes.get(name);\n }\n if (scope === undefined) {\n scope = new NamespaceScope(ambient, hasExportStatement, this);\n this.namespaceScopes.set(name, scope);\n } else {\n scope.refresh(ambient, hasExportStatement);\n }\n return scope;\n }\n end(cb) {\n if (this.namespaceScopes !== undefined) {\n this.namespaceScopes.forEach((value) => value.finish(cb));\n }\n this.namespaceScopes = this.#enumScopes = undefined;\n this.applyUses();\n this.variables.forEach((variable) => {\n for (const declaration of variable.declarations) {\n const result = {\n declarations: [],\n domain: declaration.domain,\n exported: declaration.exported,\n inGlobalScope: this.global,\n uses: []\n };\n for (const other of variable.declarations) {\n if (other.domain & declaration.domain) {\n result.declarations.push(other.declaration);\n }\n }\n for (const use of variable.uses) {\n if (use.domain & declaration.domain) {\n result.uses.push(use);\n }\n }\n cb(result, declaration.declaration, this);\n }\n });\n }\n getFunctionScope() {\n return this;\n }\n getVariables() {\n return this.variables;\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars\n markExported(_name) {\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars\n addUseToParent(_use) {\n }\n applyUse(use, variables = this.variables) {\n const variable = variables.get(use.location.text);\n if (variable === undefined || (variable.domain & use.domain) === 0) {\n return false;\n }\n variable.uses.push(use);\n return true;\n }\n applyUses() {\n for (const use of this.uses) {\n if (!this.applyUse(use)) {\n this.addUseToParent(use);\n }\n }\n this.uses = [];\n }\n};\nvar NonRootScope = class extends AbstractScope {\n constructor(parent, boundary) {\n super(false);\n this.parent = parent;\n this.boundary = boundary;\n }\n getDestinationScope(selector) {\n return this.boundary & selector ? this : this.parent.getDestinationScope(selector);\n }\n addUseToParent(use) {\n return this.parent.addUse(use, this);\n }\n};\nvar AbstractNamedExpressionScope = class extends NonRootScope {\n #domain;\n #name;\n constructor(name, domain, parent) {\n super(parent, 1 /* Function */);\n this.#name = name;\n this.#domain = domain;\n }\n addUse(use, source) {\n if (source !== this.innerScope) {\n return this.innerScope.addUse(use);\n }\n if (use.domain & this.#domain && use.location.text === this.#name.text) {\n this.uses.push(use);\n } else {\n return this.parent.addUse(use, this);\n }\n }\n end(cb) {\n this.innerScope.end(cb);\n return cb(\n {\n declarations: [this.#name],\n domain: this.#domain,\n exported: false,\n inGlobalScope: false,\n uses: this.uses\n },\n this.#name,\n this\n );\n }\n getDestinationScope() {\n return this.innerScope;\n }\n getFunctionScope() {\n return this.innerScope;\n }\n};\nvar BlockScope = class extends NonRootScope {\n #functionScope;\n constructor(functionScope, parent) {\n super(parent, 2 /* Block */);\n this.#functionScope = functionScope;\n }\n getFunctionScope() {\n return this.#functionScope;\n }\n};\nvar ClassExpressionScope = class extends AbstractNamedExpressionScope {\n innerScope = new NonRootScope(this, 1 /* Function */);\n constructor(name, parent) {\n super(name, 4 /* Value */ | 2 /* Type */, parent);\n }\n};\nvar ConditionalTypeScope = class extends NonRootScope {\n #state = 0 /* Initial */;\n constructor(parent) {\n super(parent, 8 /* ConditionalType */);\n }\n addUse(use) {\n if (this.#state === 2 /* TrueType */) {\n return void this.uses.push(use);\n }\n return this.parent.addUse(use, this);\n }\n updateState(newState) {\n this.#state = newState;\n }\n};\nvar EnumScope = class extends NonRootScope {\n constructor(parent) {\n super(parent, 1 /* Function */);\n }\n end() {\n this.applyUses();\n }\n};\nvar FunctionScope = class extends NonRootScope {\n constructor(parent) {\n super(parent, 1 /* Function */);\n }\n beginBody() {\n this.applyUses();\n }\n};\nvar FunctionExpressionScope = class extends AbstractNamedExpressionScope {\n innerScope = new FunctionScope(this);\n constructor(name, parent) {\n super(name, 4 /* Value */, parent);\n }\n beginBody() {\n return this.innerScope.beginBody();\n }\n};\nvar NamespaceScope = class extends NonRootScope {\n #ambient;\n #exports = undefined;\n #hasExport;\n #innerScope = new NonRootScope(this, 1 /* Function */);\n constructor(ambient, hasExport, parent) {\n super(parent, 1 /* Function */);\n this.#ambient = ambient;\n this.#hasExport = hasExport;\n }\n addUse(use, source) {\n if (source !== this.#innerScope) {\n return this.#innerScope.addUse(use);\n }\n this.uses.push(use);\n }\n createOrReuseEnumScope(name, exported) {\n if (!exported && (!this.#ambient || this.#hasExport)) {\n return this.#innerScope.createOrReuseEnumScope(name, exported);\n }\n return super.createOrReuseEnumScope(name, exported);\n }\n createOrReuseNamespaceScope(name, exported, ambient, hasExportStatement) {\n if (!exported && (!this.#ambient || this.#hasExport)) {\n return this.#innerScope.createOrReuseNamespaceScope(\n name,\n exported,\n ambient || this.#ambient,\n hasExportStatement\n );\n }\n return super.createOrReuseNamespaceScope(\n name,\n exported,\n ambient || this.#ambient,\n hasExportStatement\n );\n }\n end(cb) {\n this.#innerScope.end((variable, key, scope) => {\n if (scope !== this.#innerScope || !variable.exported && (!this.#ambient || this.#exports !== undefined && !this.#exports.has(key.text))) {\n return cb(variable, key, scope);\n }\n const namespaceVar = this.variables.get(key.text);\n if (namespaceVar === undefined) {\n this.variables.set(key.text, {\n declarations: variable.declarations.map(mapDeclaration),\n domain: variable.domain,\n uses: [...variable.uses]\n });\n } else {\n outer: for (const declaration of variable.declarations) {\n for (const existing of namespaceVar.declarations) {\n if (existing.declaration === declaration) {\n continue outer;\n }\n namespaceVar.declarations.push(mapDeclaration(declaration));\n }\n }\n namespaceVar.domain |= variable.domain;\n for (const use of variable.uses) {\n if (namespaceVar.uses.includes(use)) {\n continue;\n }\n namespaceVar.uses.push(use);\n }\n }\n });\n this.applyUses();\n this.#innerScope = new NonRootScope(this, 1 /* Function */);\n }\n finish(cb) {\n return super.end(cb);\n }\n getDestinationScope() {\n return this.#innerScope;\n }\n markExported(name) {\n if (this.#exports === undefined) {\n this.#exports = /* @__PURE__ */ new Set();\n }\n this.#exports.add(name.text);\n }\n refresh(ambient, hasExport) {\n this.#ambient = ambient;\n this.#hasExport = hasExport;\n }\n};\nvar RootScope = class extends AbstractScope {\n #exportAll;\n #exports = undefined;\n #innerScope = new NonRootScope(this, 1 /* Function */);\n constructor(exportAll, global) {\n super(global);\n this.#exportAll = exportAll;\n }\n addUse(use, origin) {\n if (origin === this.#innerScope) {\n return super.addUse(use);\n }\n return this.#innerScope.addUse(use);\n }\n addVariable(identifier, name, selector, exported, domain) {\n if (domain & 8 /* Import */) {\n return super.addVariable(identifier, name, selector, exported, domain);\n }\n return this.#innerScope.addVariable(\n identifier,\n name,\n selector,\n exported,\n domain\n );\n }\n end(cb) {\n this.#innerScope.end((value, key) => {\n value.exported ||= this.#exportAll || this.#exports !== undefined && this.#exports.includes(key.text);\n value.inGlobalScope = this.global;\n return cb(value, key, this);\n });\n return super.end((value, key, scope) => {\n value.exported ||= scope === this && this.#exports !== undefined && this.#exports.includes(key.text);\n return cb(value, key, scope);\n });\n }\n getDestinationScope() {\n return this;\n }\n markExported(id) {\n if (this.#exports === undefined) {\n this.#exports = [id.text];\n } else {\n this.#exports.push(id.text);\n }\n }\n};\nfunction mapDeclaration(declaration) {\n return {\n declaration,\n domain: getDeclarationDomain(declaration),\n exported: true\n };\n}\n\n// src/usage/UsageWalker.ts\nvar UsageWalker = class {\n #result = /* @__PURE__ */ new Map();\n #scope;\n getUsage(sourceFile) {\n const variableCallback = (variable, key) => {\n this.#result.set(key, variable);\n };\n const isModule = ts9__default.default.isExternalModule(sourceFile);\n this.#scope = new RootScope(\n sourceFile.isDeclarationFile && isModule && !containsExportStatement(sourceFile),\n !isModule\n );\n const cb = (node) => {\n if (isBlockScopeBoundary(node)) {\n return continueWithScope(\n node,\n new BlockScope(this.#scope.getFunctionScope(), this.#scope),\n handleBlockScope\n );\n }\n switch (node.kind) {\n case ts9__default.default.SyntaxKind.ArrowFunction:\n case ts9__default.default.SyntaxKind.CallSignature:\n case ts9__default.default.SyntaxKind.Constructor:\n case ts9__default.default.SyntaxKind.ConstructorType:\n case ts9__default.default.SyntaxKind.ConstructSignature:\n case ts9__default.default.SyntaxKind.FunctionDeclaration:\n case ts9__default.default.SyntaxKind.FunctionExpression:\n case ts9__default.default.SyntaxKind.FunctionType:\n case ts9__default.default.SyntaxKind.GetAccessor:\n case ts9__default.default.SyntaxKind.MethodDeclaration:\n case ts9__default.default.SyntaxKind.MethodSignature:\n case ts9__default.default.SyntaxKind.SetAccessor:\n return this.#handleFunctionLikeDeclaration(\n node,\n cb,\n variableCallback\n );\n case ts9__default.default.SyntaxKind.ClassDeclaration:\n this.#handleDeclaration(\n node,\n true,\n 4 /* Value */ | 2 /* Type */\n );\n return continueWithScope(\n node,\n new NonRootScope(this.#scope, 1 /* Function */)\n );\n case ts9__default.default.SyntaxKind.ClassExpression:\n return continueWithScope(\n node,\n node.name !== undefined ? new ClassExpressionScope(\n node.name,\n this.#scope\n ) : new NonRootScope(this.#scope, 1 /* Function */)\n );\n case ts9__default.default.SyntaxKind.ConditionalType:\n return this.#handleConditionalType(\n node,\n cb,\n variableCallback\n );\n case ts9__default.default.SyntaxKind.EnumDeclaration:\n this.#handleDeclaration(\n node,\n true,\n 7 /* Any */\n );\n return continueWithScope(\n node,\n this.#scope.createOrReuseEnumScope(\n node.name.text,\n includesModifier(\n node.modifiers,\n ts9__default.default.SyntaxKind.ExportKeyword\n )\n )\n );\n case ts9__default.default.SyntaxKind.EnumMember:\n this.#scope.addVariable(\n getPropertyName(node.name),\n node.name,\n 1 /* Function */,\n true,\n 4 /* Value */\n );\n break;\n case ts9__default.default.SyntaxKind.ExportAssignment:\n if (node.expression.kind === ts9__default.default.SyntaxKind.Identifier) {\n return this.#scope.markExported(\n node.expression\n );\n }\n break;\n case ts9__default.default.SyntaxKind.ExportSpecifier:\n if (node.propertyName !== undefined) {\n return this.#scope.markExported(\n node.propertyName,\n node.name\n );\n }\n return this.#scope.markExported(node.name);\n case ts9__default.default.SyntaxKind.Identifier: {\n const domain = getUsageDomain(node);\n if (domain !== undefined) {\n this.#scope.addUse({ domain, location: node });\n }\n return;\n }\n case ts9__default.default.SyntaxKind.ImportClause:\n case ts9__default.default.SyntaxKind.ImportEqualsDeclaration:\n case ts9__default.default.SyntaxKind.ImportSpecifier:\n case ts9__default.default.SyntaxKind.NamespaceImport:\n this.#handleDeclaration(\n node,\n false,\n 7 /* Any */ | 8 /* Import */\n );\n break;\n case ts9__default.default.SyntaxKind.InterfaceDeclaration:\n case ts9__default.default.SyntaxKind.TypeAliasDeclaration:\n this.#handleDeclaration(\n node,\n true,\n 2 /* Type */\n );\n return continueWithScope(\n node,\n new NonRootScope(this.#scope, 4 /* Type */)\n );\n case ts9__default.default.SyntaxKind.MappedType:\n return continueWithScope(\n node,\n new NonRootScope(this.#scope, 4 /* Type */)\n );\n case ts9__default.default.SyntaxKind.ModuleDeclaration:\n return this.#handleModule(\n node,\n continueWithScope\n );\n case ts9__default.default.SyntaxKind.Parameter:\n if (node.parent.kind !== ts9__default.default.SyntaxKind.IndexSignature && (node.name.kind !== ts9__default.default.SyntaxKind.Identifier || identifierToKeywordKind(\n node.name\n ) !== ts9__default.default.SyntaxKind.ThisKeyword)) {\n this.#handleBindingName(\n node.name,\n false,\n false\n );\n }\n break;\n case ts9__default.default.SyntaxKind.TypeParameter:\n this.#scope.addVariable(\n node.name.text,\n node.name,\n node.parent.kind === ts9__default.default.SyntaxKind.InferType ? 8 /* InferType */ : 7 /* Type */,\n false,\n 2 /* Type */\n );\n break;\n // End of Scope specific handling\n case ts9__default.default.SyntaxKind.VariableDeclarationList:\n this.#handleVariableDeclaration(node);\n break;\n }\n return ts9__default.default.forEachChild(node, cb);\n };\n const continueWithScope = (node, scope, next = forEachChild) => {\n const savedScope = this.#scope;\n this.#scope = scope;\n next(node);\n this.#scope.end(variableCallback);\n this.#scope = savedScope;\n };\n const handleBlockScope = (node) => {\n if (node.kind === ts9__default.default.SyntaxKind.CatchClause && node.variableDeclaration !== undefined) {\n this.#handleBindingName(\n node.variableDeclaration.name,\n true,\n false\n );\n }\n return ts9__default.default.forEachChild(node, cb);\n };\n ts9__default.default.forEachChild(sourceFile, cb);\n this.#scope.end(variableCallback);\n return this.#result;\n function forEachChild(node) {\n return ts9__default.default.forEachChild(node, cb);\n }\n }\n #handleBindingName(name, blockScoped, exported) {\n if (name.kind === ts9__default.default.SyntaxKind.Identifier) {\n return this.#scope.addVariable(\n name.text,\n name,\n blockScoped ? 3 /* Block */ : 1 /* Function */,\n exported,\n 4 /* Value */\n );\n }\n forEachDestructuringIdentifier(name, (declaration) => {\n this.#scope.addVariable(\n declaration.name.text,\n declaration.name,\n blockScoped ? 3 /* Block */ : 1 /* Function */,\n exported,\n 4 /* Value */\n );\n });\n }\n #handleConditionalType(node, cb, varCb) {\n const savedScope = this.#scope;\n const scope = this.#scope = new ConditionalTypeScope(savedScope);\n cb(node.checkType);\n scope.updateState(1 /* Extends */);\n cb(node.extendsType);\n scope.updateState(2 /* TrueType */);\n cb(node.trueType);\n scope.updateState(3 /* FalseType */);\n cb(node.falseType);\n scope.end(varCb);\n this.#scope = savedScope;\n }\n #handleDeclaration(node, blockScoped, domain) {\n if (node.name !== undefined) {\n this.#scope.addVariable(\n node.name.text,\n node.name,\n blockScoped ? 3 /* Block */ : 1 /* Function */,\n includesModifier(\n node.modifiers,\n ts9__default.default.SyntaxKind.ExportKeyword\n ),\n domain\n );\n }\n }\n #handleFunctionLikeDeclaration(node, cb, varCb) {\n if (ts9__default.default.canHaveDecorators(node)) {\n ts9__default.default.getDecorators(node)?.forEach(cb);\n }\n const savedScope = this.#scope;\n if (node.kind === ts9__default.default.SyntaxKind.FunctionDeclaration) {\n this.#handleDeclaration(node, false, 4 /* Value */);\n }\n const scope = this.#scope = node.kind === ts9__default.default.SyntaxKind.FunctionExpression && node.name !== undefined ? new FunctionExpressionScope(node.name, savedScope) : new FunctionScope(savedScope);\n if (node.name !== undefined) {\n cb(node.name);\n }\n if (node.typeParameters !== undefined) {\n node.typeParameters.forEach(cb);\n }\n node.parameters.forEach(cb);\n if (node.type !== undefined) {\n cb(node.type);\n }\n if (node.body !== undefined) {\n scope.beginBody();\n cb(node.body);\n }\n scope.end(varCb);\n this.#scope = savedScope;\n }\n #handleModule(node, next) {\n if (node.flags & ts9__default.default.NodeFlags.GlobalAugmentation) {\n return next(\n node,\n this.#scope.createOrReuseNamespaceScope(\"-global\", false, true, false)\n );\n }\n if (node.name.kind === ts9__default.default.SyntaxKind.Identifier) {\n const exported = isNamespaceExported(node);\n this.#scope.addVariable(\n node.name.text,\n node.name,\n 1 /* Function */,\n exported,\n 1 /* Namespace */ | 4 /* Value */\n );\n const ambient = includesModifier(\n node.modifiers,\n ts9__default.default.SyntaxKind.DeclareKeyword\n );\n return next(\n node,\n this.#scope.createOrReuseNamespaceScope(\n node.name.text,\n exported,\n ambient,\n ambient && namespaceHasExportStatement(node)\n )\n );\n }\n return next(\n node,\n this.#scope.createOrReuseNamespaceScope(\n `\"${node.name.text}\"`,\n false,\n true,\n namespaceHasExportStatement(node)\n )\n );\n }\n #handleVariableDeclaration(declarationList) {\n const blockScoped = isBlockScopedVariableDeclarationList(declarationList);\n const exported = declarationList.parent.kind === ts9__default.default.SyntaxKind.VariableStatement && includesModifier(\n declarationList.parent.modifiers,\n ts9__default.default.SyntaxKind.ExportKeyword\n );\n for (const declaration of declarationList.declarations) {\n this.#handleBindingName(declaration.name, blockScoped, exported);\n }\n }\n};\nfunction containsExportStatement(block) {\n for (const statement of block.statements) {\n if (statement.kind === ts9__default.default.SyntaxKind.ExportDeclaration || statement.kind === ts9__default.default.SyntaxKind.ExportAssignment) {\n return true;\n }\n }\n return false;\n}\nfunction forEachDestructuringIdentifier(pattern, fn) {\n for (const element of pattern.elements) {\n if (element.kind !== ts9__default.default.SyntaxKind.BindingElement) {\n continue;\n }\n let result;\n if (element.name.kind === ts9__default.default.SyntaxKind.Identifier) {\n result = fn(element);\n } else {\n result = forEachDestructuringIdentifier(element.name, fn);\n }\n if (result) {\n return result;\n }\n }\n}\nfunction isBlockScopedVariableDeclarationList(declarationList) {\n return (declarationList.flags & ts9__default.default.NodeFlags.BlockScoped) !== 0;\n}\nfunction isNamespaceExported(node) {\n return node.parent.kind === ts9__default.default.SyntaxKind.ModuleDeclaration || includesModifier(node.modifiers, ts9__default.default.SyntaxKind.ExportKeyword);\n}\nfunction namespaceHasExportStatement(ns) {\n if (ns.body === undefined || ns.body.kind !== ts9__default.default.SyntaxKind.ModuleBlock) {\n return false;\n }\n return containsExportStatement(ns.body);\n}\n\n// src/usage/collectVariableUsage.ts\nfunction collectVariableUsage(sourceFile) {\n return new UsageWalker().getUsage(sourceFile);\n}\n\nexports.AccessKind = AccessKind;\nexports.DeclarationDomain = DeclarationDomain;\nexports.UsageDomain = UsageDomain;\nexports.collectVariableUsage = collectVariableUsage;\nexports.forEachComment = forEachComment;\nexports.forEachToken = forEachToken;\nexports.getAccessKind = getAccessKind;\nexports.getCallSignaturesOfType = getCallSignaturesOfType;\nexports.getPropertyOfType = getPropertyOfType;\nexports.getWellKnownSymbolPropertyOfType = getWellKnownSymbolPropertyOfType;\nexports.hasDecorators = hasDecorators;\nexports.hasExpressionInitializer = hasExpressionInitializer;\nexports.hasInitializer = hasInitializer;\nexports.hasJSDoc = hasJSDoc;\nexports.hasModifiers = hasModifiers;\nexports.hasType = hasType;\nexports.hasTypeArguments = hasTypeArguments;\nexports.includesModifier = includesModifier;\nexports.intersectionConstituents = intersectionConstituents;\nexports.intersectionTypeParts = intersectionTypeParts;\nexports.isAbstractKeyword = isAbstractKeyword;\nexports.isAccessExpression = isAccessExpression;\nexports.isAccessibilityModifier = isAccessibilityModifier;\nexports.isAccessorDeclaration = isAccessorDeclaration;\nexports.isAccessorKeyword = isAccessorKeyword;\nexports.isAnyKeyword = isAnyKeyword;\nexports.isArrayBindingElement = isArrayBindingElement;\nexports.isArrayBindingOrAssignmentPattern = isArrayBindingOrAssignmentPattern;\nexports.isAssertKeyword = isAssertKeyword;\nexports.isAssertsKeyword = isAssertsKeyword;\nexports.isAssignmentKind = isAssignmentKind;\nexports.isAssignmentPattern = isAssignmentPattern;\nexports.isAsyncKeyword = isAsyncKeyword;\nexports.isAwaitKeyword = isAwaitKeyword;\nexports.isBigIntKeyword = isBigIntKeyword;\nexports.isBigIntLiteralType = isBigIntLiteralType;\nexports.isBindingOrAssignmentElementRestIndicator = isBindingOrAssignmentElementRestIndicator;\nexports.isBindingOrAssignmentElementTarget = isBindingOrAssignmentElementTarget;\nexports.isBindingOrAssignmentPattern = isBindingOrAssignmentPattern;\nexports.isBindingPattern = isBindingPattern;\nexports.isBlockLike = isBlockLike;\nexports.isBooleanKeyword = isBooleanKeyword;\nexports.isBooleanLiteral = isBooleanLiteral;\nexports.isBooleanLiteralType = isBooleanLiteralType;\nexports.isClassLikeDeclaration = isClassLikeDeclaration;\nexports.isClassMemberModifier = isClassMemberModifier;\nexports.isColonToken = isColonToken;\nexports.isCompilerOptionEnabled = isCompilerOptionEnabled;\nexports.isConditionalType = isConditionalType;\nexports.isConstAssertionExpression = isConstAssertionExpression;\nexports.isConstKeyword = isConstKeyword;\nexports.isDeclarationName = isDeclarationName;\nexports.isDeclarationWithTypeParameterChildren = isDeclarationWithTypeParameterChildren;\nexports.isDeclarationWithTypeParameters = isDeclarationWithTypeParameters;\nexports.isDeclareKeyword = isDeclareKeyword;\nexports.isDefaultKeyword = isDefaultKeyword;\nexports.isDestructuringPattern = isDestructuringPattern;\nexports.isDotToken = isDotToken;\nexports.isEndOfFileToken = isEndOfFileToken;\nexports.isEntityNameExpression = isEntityNameExpression;\nexports.isEntityNameOrEntityNameExpression = isEntityNameOrEntityNameExpression;\nexports.isEnumType = isEnumType;\nexports.isEqualsGreaterThanToken = isEqualsGreaterThanToken;\nexports.isEqualsToken = isEqualsToken;\nexports.isEvolvingArrayType = isEvolvingArrayType;\nexports.isExclamationToken = isExclamationToken;\nexports.isExportKeyword = isExportKeyword;\nexports.isFalseKeyword = isFalseKeyword;\nexports.isFalseLiteral = isFalseLiteral;\nexports.isFalseLiteralType = isFalseLiteralType;\nexports.isFalsyType = isFalsyType;\nexports.isForInOrOfStatement = isForInOrOfStatement;\nexports.isFreshableIntrinsicType = isFreshableIntrinsicType;\nexports.isFreshableType = isFreshableType;\nexports.isFunctionLikeDeclaration = isFunctionLikeDeclaration;\nexports.isFunctionScopeBoundary = isFunctionScopeBoundary;\nexports.isImportExpression = isImportExpression;\nexports.isImportKeyword = isImportKeyword;\nexports.isInKeyword = isInKeyword;\nexports.isIndexType = isIndexType;\nexports.isIndexedAccessType = isIndexedAccessType;\nexports.isInstantiableType = isInstantiableType;\nexports.isIntersectionType = isIntersectionType;\nexports.isIntrinsicAnyType = isIntrinsicAnyType;\nexports.isIntrinsicBigIntType = isIntrinsicBigIntType;\nexports.isIntrinsicBooleanType = isIntrinsicBooleanType;\nexports.isIntrinsicESSymbolType = isIntrinsicESSymbolType;\nexports.isIntrinsicErrorType = isIntrinsicErrorType;\nexports.isIntrinsicNeverType = isIntrinsicNeverType;\nexports.isIntrinsicNonPrimitiveType = isIntrinsicNonPrimitiveType;\nexports.isIntrinsicNullType = isIntrinsicNullType;\nexports.isIntrinsicNumberType = isIntrinsicNumberType;\nexports.isIntrinsicStringType = isIntrinsicStringType;\nexports.isIntrinsicType = isIntrinsicType;\nexports.isIntrinsicUndefinedType = isIntrinsicUndefinedType;\nexports.isIntrinsicUnknownType = isIntrinsicUnknownType;\nexports.isIntrinsicVoidType = isIntrinsicVoidType;\nexports.isIterationStatement = isIterationStatement;\nexports.isJSDocComment = isJSDocComment;\nexports.isJSDocNamespaceBody = isJSDocNamespaceBody;\nexports.isJSDocNamespaceDeclaration = isJSDocNamespaceDeclaration;\nexports.isJSDocText = isJSDocText;\nexports.isJSDocTypeReferencingNode = isJSDocTypeReferencingNode;\nexports.isJsonMinusNumericLiteral = isJsonMinusNumericLiteral;\nexports.isJsonObjectExpression = isJsonObjectExpression;\nexports.isJsxAttributeLike = isJsxAttributeLike;\nexports.isJsxAttributeValue = isJsxAttributeValue;\nexports.isJsxChild = isJsxChild;\nexports.isJsxTagNameExpression = isJsxTagNameExpression;\nexports.isJsxTagNamePropertyAccess = isJsxTagNamePropertyAccess;\nexports.isLiteralToken = isLiteralToken;\nexports.isLiteralType = isLiteralType;\nexports.isModifierFlagSet = isModifierFlagSet;\nexports.isModuleBody = isModuleBody;\nexports.isModuleName = isModuleName;\nexports.isModuleReference = isModuleReference;\nexports.isNamedDeclarationWithName = isNamedDeclarationWithName;\nexports.isNamedImportBindings = isNamedImportBindings;\nexports.isNamedImportsOrExports = isNamedImportsOrExports;\nexports.isNamespaceBody = isNamespaceBody;\nexports.isNamespaceDeclaration = isNamespaceDeclaration;\nexports.isNeverKeyword = isNeverKeyword;\nexports.isNodeFlagSet = isNodeFlagSet;\nexports.isNullKeyword = isNullKeyword;\nexports.isNullLiteral = isNullLiteral;\nexports.isNumberKeyword = isNumberKeyword;\nexports.isNumberLiteralType = isNumberLiteralType;\nexports.isNumericOrStringLikeLiteral = isNumericOrStringLikeLiteral;\nexports.isNumericPropertyName = isNumericPropertyName;\nexports.isObjectBindingOrAssignmentElement = isObjectBindingOrAssignmentElement;\nexports.isObjectBindingOrAssignmentPattern = isObjectBindingOrAssignmentPattern;\nexports.isObjectFlagSet = isObjectFlagSet;\nexports.isObjectKeyword = isObjectKeyword;\nexports.isObjectType = isObjectType;\nexports.isObjectTypeDeclaration = isObjectTypeDeclaration;\nexports.isOutKeyword = isOutKeyword;\nexports.isOverrideKeyword = isOverrideKeyword;\nexports.isParameterPropertyModifier = isParameterPropertyModifier;\nexports.isPrivateKeyword = isPrivateKeyword;\nexports.isPropertyAccessEntityNameExpression = isPropertyAccessEntityNameExpression;\nexports.isPropertyNameLiteral = isPropertyNameLiteral;\nexports.isPropertyReadonlyInType = isPropertyReadonlyInType;\nexports.isProtectedKeyword = isProtectedKeyword;\nexports.isPseudoLiteralToken = isPseudoLiteralToken;\nexports.isPublicKeyword = isPublicKeyword;\nexports.isQuestionDotToken = isQuestionDotToken;\nexports.isQuestionToken = isQuestionToken;\nexports.isReadonlyKeyword = isReadonlyKeyword;\nexports.isSignatureDeclaration = isSignatureDeclaration;\nexports.isStaticKeyword = isStaticKeyword;\nexports.isStrictCompilerOptionEnabled = isStrictCompilerOptionEnabled;\nexports.isStringKeyword = isStringKeyword;\nexports.isStringLiteralType = isStringLiteralType;\nexports.isStringMappingType = isStringMappingType;\nexports.isSubstitutionType = isSubstitutionType;\nexports.isSuperElementAccessExpression = isSuperElementAccessExpression;\nexports.isSuperExpression = isSuperExpression;\nexports.isSuperKeyword = isSuperKeyword;\nexports.isSuperProperty = isSuperProperty;\nexports.isSuperPropertyAccessExpression = isSuperPropertyAccessExpression;\nexports.isSymbolFlagSet = isSymbolFlagSet;\nexports.isSymbolKeyword = isSymbolKeyword;\nexports.isSyntaxList = isSyntaxList;\nexports.isTemplateLiteralType = isTemplateLiteralType;\nexports.isThenableType = isThenableType;\nexports.isThisExpression = isThisExpression;\nexports.isThisKeyword = isThisKeyword;\nexports.isTransientSymbolLinksFlagSet = isTransientSymbolLinksFlagSet;\nexports.isTrueKeyword = isTrueKeyword;\nexports.isTrueLiteral = isTrueLiteral;\nexports.isTrueLiteralType = isTrueLiteralType;\nexports.isTupleType = isTupleType;\nexports.isTupleTypeReference = isTupleTypeReference;\nexports.isTypeFlagSet = isTypeFlagSet;\nexports.isTypeOnlyCompatibleAliasDeclaration = isTypeOnlyCompatibleAliasDeclaration;\nexports.isTypeParameter = isTypeParameter;\nexports.isTypeReference = isTypeReference;\nexports.isTypeReferenceType = isTypeReferenceType;\nexports.isTypeVariable = isTypeVariable;\nexports.isUndefinedKeyword = isUndefinedKeyword;\nexports.isUnionOrIntersectionType = isUnionOrIntersectionType;\nexports.isUnionOrIntersectionTypeNode = isUnionOrIntersectionTypeNode;\nexports.isUnionType = isUnionType;\nexports.isUniqueESSymbolType = isUniqueESSymbolType;\nexports.isUnknownKeyword = isUnknownKeyword;\nexports.isValidPropertyAccess = isValidPropertyAccess;\nexports.isVariableLikeDeclaration = isVariableLikeDeclaration;\nexports.isVoidKeyword = isVoidKeyword;\nexports.symbolHasReadonlyDeclaration = symbolHasReadonlyDeclaration;\nexports.typeConstituents = typeConstituents;\nexports.typeIsLiteral = typeIsLiteral;\nexports.typeParts = typeParts;\nexports.unionConstituents = unionConstituents;\nexports.unionTypeParts = unionTypeParts;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertComments = convertComments;\nconst tsutils = __importStar(require(\"ts-api-utils\"));\nconst ts = __importStar(require(\"typescript\"));\nconst node_utils_1 = require(\"./node-utils\");\nconst ts_estree_1 = require(\"./ts-estree\");\n/**\n * Convert all comments for the given AST.\n * @param ast the AST object\n * @param code the TypeScript code\n * @returns the converted ESTreeComment\n * @private\n */\nfunction convertComments(ast, code) {\n const comments = [];\n tsutils.forEachComment(ast, (_, comment) => {\n const type = comment.kind === ts.SyntaxKind.SingleLineCommentTrivia\n ? ts_estree_1.AST_TOKEN_TYPES.Line\n : ts_estree_1.AST_TOKEN_TYPES.Block;\n const range = [comment.pos, comment.end];\n const loc = (0, node_utils_1.getLocFor)(range, ast);\n // both comments start with 2 characters - /* or //\n const textStart = range[0] + 2;\n const textEnd = comment.kind === ts.SyntaxKind.SingleLineCommentTrivia\n ? // single line comments end at the end\n range[1] - textStart\n : // multiline comments end 2 characters early\n range[1] - textStart - 2;\n comments.push({\n type,\n loc,\n range,\n value: code.slice(textStart, textStart + textEnd),\n });\n }, ast);\n return comments;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.simpleTraverse = simpleTraverse;\nconst visitor_keys_1 = require(\"@typescript-eslint/visitor-keys\");\nfunction isValidNode(x) {\n return (typeof x === 'object' &&\n x != null &&\n 'type' in x &&\n typeof x.type === 'string');\n}\nfunction getVisitorKeysForNode(allVisitorKeys, node) {\n const keys = allVisitorKeys[node.type];\n return (keys ?? []);\n}\nclass SimpleTraverser {\n allVisitorKeys = visitor_keys_1.visitorKeys;\n selectors;\n setParentPointers;\n constructor(selectors, setParentPointers = false) {\n this.selectors = selectors;\n this.setParentPointers = setParentPointers;\n if (selectors.visitorKeys) {\n this.allVisitorKeys = selectors.visitorKeys;\n }\n }\n traverse(node, parent) {\n if (!isValidNode(node)) {\n return;\n }\n if (this.setParentPointers) {\n node.parent = parent;\n }\n if ('enter' in this.selectors) {\n this.selectors.enter(node, parent);\n }\n else if (node.type in this.selectors.visitors) {\n this.selectors.visitors[node.type](node, parent);\n }\n const keys = getVisitorKeysForNode(this.allVisitorKeys, node);\n if (keys.length < 1) {\n return;\n }\n for (const key of keys) {\n const childOrChildren = node[key];\n if (Array.isArray(childOrChildren)) {\n for (const child of childOrChildren) {\n this.traverse(child, node);\n }\n }\n else {\n this.traverse(childOrChildren, node);\n }\n }\n }\n}\nfunction simpleTraverse(startingNode, options, setParentPointers = false) {\n new SimpleTraverser(options, setParentPointers).traverse(startingNode, undefined);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.astConverter = astConverter;\nconst convert_1 = require(\"./convert\");\nconst convert_comments_1 = require(\"./convert-comments\");\nconst node_utils_1 = require(\"./node-utils\");\nconst simple_traverse_1 = require(\"./simple-traverse\");\nfunction astConverter(ast, parseSettings, shouldPreserveNodeMaps) {\n /**\n * The TypeScript compiler produced fundamental parse errors when parsing the\n * source.\n */\n const { parseDiagnostics } = ast;\n if (parseDiagnostics.length) {\n throw (0, convert_1.convertError)(parseDiagnostics[0]);\n }\n /**\n * Recursively convert the TypeScript AST into an ESTree-compatible AST\n */\n const instance = new convert_1.Converter(ast, {\n allowInvalidAST: parseSettings.allowInvalidAST,\n errorOnUnknownASTType: parseSettings.errorOnUnknownASTType,\n shouldPreserveNodeMaps,\n suppressDeprecatedPropertyWarnings: parseSettings.suppressDeprecatedPropertyWarnings,\n });\n const estree = instance.convertProgram();\n /**\n * Optionally remove range and loc if specified\n */\n if (!parseSettings.range || !parseSettings.loc) {\n (0, simple_traverse_1.simpleTraverse)(estree, {\n enter: node => {\n if (!parseSettings.range) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- TS 4.0 made this an error because the types aren't optional\n // @ts-expect-error\n delete node.range;\n }\n if (!parseSettings.loc) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- TS 4.0 made this an error because the types aren't optional\n // @ts-expect-error\n delete node.loc;\n }\n },\n });\n }\n /**\n * Optionally convert and include all tokens in the AST\n */\n if (parseSettings.tokens) {\n estree.tokens = (0, node_utils_1.convertTokens)(ast);\n }\n /**\n * Optionally convert and include all comments in the AST\n */\n if (parseSettings.comment) {\n estree.comments = (0, convert_comments_1.convertComments)(ast, parseSettings.codeFullText);\n }\n const astMaps = instance.getASTMaps();\n return { astMaps, estree };\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getScriptKind = getScriptKind;\nexports.getLanguageVariant = getLanguageVariant;\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst ts = __importStar(require(\"typescript\"));\nfunction getScriptKind(filePath, jsx) {\n const extension = node_path_1.default.extname(filePath).toLowerCase();\n // note - we only respect the user's jsx setting for unknown extensions\n // this is so that we always match TS's internal script kind logic, preventing\n // weird errors due to a mismatch.\n // https://github.com/microsoft/TypeScript/blob/da00ba67ed1182ad334f7c713b8254fba174aeba/src/compiler/utilities.ts#L6948-L6968\n switch (extension) {\n case ts.Extension.Cjs:\n case ts.Extension.Js:\n case ts.Extension.Mjs:\n return ts.ScriptKind.JS;\n case ts.Extension.Cts:\n case ts.Extension.Mts:\n case ts.Extension.Ts:\n return ts.ScriptKind.TS;\n case ts.Extension.Json:\n return ts.ScriptKind.JSON;\n case ts.Extension.Jsx:\n return ts.ScriptKind.JSX;\n case ts.Extension.Tsx:\n return ts.ScriptKind.TSX;\n default:\n // unknown extension, force typescript to ignore the file extension, and respect the user's setting\n return jsx ? ts.ScriptKind.TSX : ts.ScriptKind.TS;\n }\n}\nfunction getLanguageVariant(scriptKind) {\n // https://github.com/microsoft/TypeScript/blob/d6e483b8dabd8fd37c00954c3f2184bb7f1eb90c/src/compiler/utilities.ts#L6281-L6285\n switch (scriptKind) {\n case ts.ScriptKind.JS:\n case ts.ScriptKind.JSON:\n case ts.ScriptKind.JSX:\n case ts.ScriptKind.TSX:\n return ts.LanguageVariant.JSX;\n default:\n return ts.LanguageVariant.Standard;\n }\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createIsolatedProgram = createIsolatedProgram;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst ts = __importStar(require(\"typescript\"));\nconst getScriptKind_1 = require(\"./getScriptKind\");\nconst shared_1 = require(\"./shared\");\nconst log = (0, debug_1.default)('typescript-eslint:typescript-estree:create-program:createIsolatedProgram');\n/**\n * @returns Returns a new source file and program corresponding to the linted code\n */\nfunction createIsolatedProgram(parseSettings) {\n log('Getting isolated program in %s mode for: %s', parseSettings.jsx ? 'TSX' : 'TS', parseSettings.filePath);\n const compilerHost = {\n fileExists() {\n return true;\n },\n getCanonicalFileName() {\n return parseSettings.filePath;\n },\n getCurrentDirectory() {\n return '';\n },\n getDefaultLibFileName() {\n return 'lib.d.ts';\n },\n getDirectories() {\n return [];\n },\n // TODO: Support Windows CRLF\n getNewLine() {\n return '\\n';\n },\n getSourceFile(filename) {\n return ts.createSourceFile(filename, parseSettings.codeFullText, ts.ScriptTarget.Latest, \n /* setParentNodes */ true, (0, getScriptKind_1.getScriptKind)(parseSettings.filePath, parseSettings.jsx));\n },\n readFile() {\n return undefined;\n },\n useCaseSensitiveFileNames() {\n return true;\n },\n writeFile() {\n return null;\n },\n };\n const program = ts.createProgram([parseSettings.filePath], {\n jsDocParsingMode: parseSettings.jsDocParsingMode,\n jsx: parseSettings.jsx ? ts.JsxEmit.Preserve : undefined,\n noResolve: true,\n target: ts.ScriptTarget.Latest,\n ...(0, shared_1.createDefaultCompilerOptionsFromExtra)(parseSettings),\n }, compilerHost);\n const ast = program.getSourceFile(parseSettings.filePath);\n if (!ast) {\n throw new Error('Expected an ast to be returned for the single-file isolated program.');\n }\n return { ast, program };\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.describeFilePath = describeFilePath;\nconst node_path_1 = __importDefault(require(\"node:path\"));\nfunction describeFilePath(filePath, tsconfigRootDir) {\n // If the TSConfig root dir is a parent of the filePath, use\n // `<tsconfigRootDir>` as a prefix for the path.\n const relative = node_path_1.default.relative(tsconfigRootDir, filePath);\n if (relative && !relative.startsWith('..') && !node_path_1.default.isAbsolute(relative)) {\n return `<tsconfigRootDir>/${relative}`;\n }\n // Root-like Mac/Linux (~/*, ~*) or Windows (C:/*, /) paths that aren't\n // relative to the TSConfig root dir should be fully described.\n // This avoids strings like <tsconfigRootDir>/../../../../repo/file.ts.\n // https://github.com/typescript-eslint/typescript-eslint/issues/6289\n if (/^[(\\w+:)\\\\/~]/.test(filePath)) {\n return filePath;\n }\n // Similarly, if the relative path would contain a lot of ../.., then\n // ignore it and print the file path directly.\n if (/\\.\\.[/\\\\]\\.\\./.test(relative)) {\n return filePath;\n }\n // Lastly, since we've eliminated all special cases, we know the cleanest\n // path to print is probably the prefixed relative one.\n return `<tsconfigRootDir>/${relative}`;\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createProjectProgramError = createProjectProgramError;\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst describeFilePath_1 = require(\"./describeFilePath\");\nconst shared_1 = require(\"./shared\");\nfunction createProjectProgramError(parseSettings, programsForProjects) {\n const describedFilePath = (0, describeFilePath_1.describeFilePath)(parseSettings.filePath, parseSettings.tsconfigRootDir);\n return [\n getErrorStart(describedFilePath, parseSettings),\n ...getErrorDetails(describedFilePath, parseSettings, programsForProjects),\n ];\n}\nfunction getErrorStart(describedFilePath, parseSettings) {\n const relativeProjects = [...parseSettings.projects.values()].map(projectFile => (0, describeFilePath_1.describeFilePath)(projectFile, parseSettings.tsconfigRootDir));\n const describedPrograms = relativeProjects.length === 1\n ? ` ${relativeProjects[0]}`\n : `\\n${relativeProjects.map(project => `- ${project}`).join('\\n')}`;\n return `ESLint was configured to run on \\`${describedFilePath}\\` using \\`parserOptions.project\\`:${describedPrograms}`;\n}\nfunction getErrorDetails(describedFilePath, parseSettings, programsForProjects) {\n if (programsForProjects.length === 1 &&\n programsForProjects[0].getProjectReferences()?.length) {\n return [\n `That TSConfig uses project \"references\" and doesn't include \\`${describedFilePath}\\` directly, which is not supported by \\`parserOptions.project\\`.`,\n `Either:`,\n `- Switch to \\`parserOptions.projectService\\``,\n `- Use an ESLint-specific TSConfig`,\n `See the typescript-eslint docs for more info: https://typescript-eslint.io/troubleshooting/typed-linting#are-typescript-project-references-supported`,\n ];\n }\n const { extraFileExtensions } = parseSettings;\n const details = [];\n for (const extraExtension of extraFileExtensions) {\n if (!extraExtension.startsWith('.')) {\n details.push(`Found unexpected extension \\`${extraExtension}\\` specified with the \\`parserOptions.extraFileExtensions\\` option. Did you mean \\`.${extraExtension}\\`?`);\n }\n if (shared_1.DEFAULT_EXTRA_FILE_EXTENSIONS.has(extraExtension)) {\n details.push(`You unnecessarily included the extension \\`${extraExtension}\\` with the \\`parserOptions.extraFileExtensions\\` option. This extension is already handled by the parser by default.`);\n }\n }\n const fileExtension = node_path_1.default.extname(parseSettings.filePath);\n if (!shared_1.DEFAULT_EXTRA_FILE_EXTENSIONS.has(fileExtension)) {\n const nonStandardExt = `The extension for the file (\\`${fileExtension}\\`) is non-standard`;\n if (extraFileExtensions.length > 0) {\n if (!extraFileExtensions.includes(fileExtension)) {\n return [\n ...details,\n `${nonStandardExt}. It should be added to your existing \\`parserOptions.extraFileExtensions\\`.`,\n ];\n }\n }\n else {\n return [\n ...details,\n `${nonStandardExt}. You should add \\`parserOptions.extraFileExtensions\\` to your config.`,\n ];\n }\n }\n const [describedInclusions, describedSpecifiers] = parseSettings.projects.size === 1\n ? ['that TSConfig does not', 'that TSConfig']\n : ['none of those TSConfigs', 'one of those TSConfigs'];\n return [\n ...details,\n `However, ${describedInclusions} include this file. Either:`,\n `- Change ESLint's list of included files to not include this file`,\n `- Change ${describedSpecifiers} to include this file`,\n `- Create a new TSConfig that includes this file and include it in your parserOptions.project`,\n `See the typescript-eslint docs for more info: https://typescript-eslint.io/troubleshooting/typed-linting#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file`,\n ];\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createProjectProgram = createProjectProgram;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst node_utils_1 = require(\"../node-utils\");\nconst createProjectProgramError_1 = require(\"./createProjectProgramError\");\nconst shared_1 = require(\"./shared\");\nconst log = (0, debug_1.default)('typescript-eslint:typescript-estree:create-program:createProjectProgram');\n/**\n * @param parseSettings Internal settings for parsing the file\n * @returns If found, the source file corresponding to the code and the containing program\n */\nfunction createProjectProgram(parseSettings, programsForProjects) {\n log('Creating project program for: %s', parseSettings.filePath);\n const astAndProgram = (0, node_utils_1.firstDefined)(programsForProjects, currentProgram => (0, shared_1.getAstFromProgram)(currentProgram, parseSettings.filePath));\n if (!astAndProgram) {\n throw new Error((0, createProjectProgramError_1.createProjectProgramError)(parseSettings, programsForProjects).join('\\n'));\n }\n return astAndProgram;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createSourceFile = createSourceFile;\nexports.createNoProgram = createNoProgram;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst ts = __importStar(require(\"typescript\"));\nconst source_files_1 = require(\"../source-files\");\nconst getScriptKind_1 = require(\"./getScriptKind\");\nconst log = (0, debug_1.default)('typescript-eslint:typescript-estree:create-program:createSourceFile');\nfunction createSourceFile(parseSettings) {\n log('Getting AST without type information in %s mode for: %s', parseSettings.jsx ? 'TSX' : 'TS', parseSettings.filePath);\n return (0, source_files_1.isSourceFile)(parseSettings.code)\n ? parseSettings.code\n : ts.createSourceFile(parseSettings.filePath, parseSettings.codeFullText, {\n jsDocParsingMode: parseSettings.jsDocParsingMode,\n languageVersion: ts.ScriptTarget.Latest,\n setExternalModuleIndicator: parseSettings.setExternalModuleIndicator,\n }, \n /* setParentNodes */ true, (0, getScriptKind_1.getScriptKind)(parseSettings.filePath, parseSettings.jsx));\n}\nfunction createNoProgram(parseSettings) {\n return {\n ast: createSourceFile(parseSettings),\n program: null,\n };\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getParsedConfigFile = getParsedConfigFile;\nconst fs = __importStar(require(\"node:fs\"));\nconst path = __importStar(require(\"node:path\"));\nconst shared_1 = require(\"./shared\");\n/**\n * Utility offered by parser to help consumers parse a config file.\n *\n * @param configFile the path to the tsconfig.json file, relative to `projectDirectory`\n * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()`\n */\nfunction getParsedConfigFile(tsserver, configFile, projectDirectory) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, @typescript-eslint/internal/eqeq-nullish\n if (tsserver.sys === undefined) {\n throw new Error('`getParsedConfigFile` is only supported in a Node-like environment.');\n }\n const parsed = tsserver.getParsedCommandLineOfConfigFile(configFile, shared_1.CORE_COMPILER_OPTIONS, {\n fileExists: fs.existsSync,\n getCurrentDirectory,\n onUnRecoverableConfigFileDiagnostic: diag => {\n throw new Error(formatDiagnostics([diag])); // ensures that `parsed` is defined.\n },\n readDirectory: tsserver.sys.readDirectory,\n readFile: file => fs.readFileSync(path.isAbsolute(file) ? file : path.join(getCurrentDirectory(), file), 'utf-8'),\n useCaseSensitiveFileNames: tsserver.sys.useCaseSensitiveFileNames,\n });\n if (parsed?.errors.length) {\n throw new Error(formatDiagnostics(parsed.errors));\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return parsed;\n function getCurrentDirectory() {\n return projectDirectory ? path.resolve(projectDirectory) : process.cwd();\n }\n function formatDiagnostics(diagnostics) {\n return tsserver.formatDiagnostics(diagnostics, {\n getCanonicalFileName: f => f,\n getCurrentDirectory,\n getNewLine: () => '\\n',\n });\n }\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useProvidedPrograms = useProvidedPrograms;\nexports.createProgramFromConfigFile = createProgramFromConfigFile;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst path = __importStar(require(\"node:path\"));\nconst ts = __importStar(require(\"typescript\"));\nconst getParsedConfigFile_1 = require(\"./getParsedConfigFile\");\nconst shared_1 = require(\"./shared\");\nconst log = (0, debug_1.default)('typescript-eslint:typescript-estree:create-program:useProvidedPrograms');\nfunction useProvidedPrograms(programInstances, parseSettings) {\n log('Retrieving ast for %s from provided program instance(s)', parseSettings.filePath);\n let astAndProgram;\n for (const programInstance of programInstances) {\n astAndProgram = (0, shared_1.getAstFromProgram)(programInstance, parseSettings.filePath);\n // Stop at the first applicable program instance\n if (astAndProgram) {\n break;\n }\n }\n if (astAndProgram) {\n astAndProgram.program.getTypeChecker(); // ensure parent pointers are set in source files\n return astAndProgram;\n }\n const relativeFilePath = path.relative(parseSettings.tsconfigRootDir, parseSettings.filePath);\n const [typeSource, typeSources] = parseSettings.projects.size > 0\n ? ['project', 'project(s)']\n : ['programs', 'program instance(s)'];\n const errorLines = [\n `\"parserOptions.${typeSource}\" has been provided for @typescript-eslint/parser.`,\n `The file was not found in any of the provided ${typeSources}: ${relativeFilePath}`,\n ];\n throw new Error(errorLines.join('\\n'));\n}\n/**\n * Utility offered by parser to help consumers construct their own program instance.\n *\n * @param configFile the path to the tsconfig.json file, relative to `projectDirectory`\n * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()`\n */\nfunction createProgramFromConfigFile(configFile, projectDirectory) {\n const parsed = (0, getParsedConfigFile_1.getParsedConfigFile)(ts, configFile, projectDirectory);\n const host = ts.createCompilerHost(parsed.options, true);\n return ts.createProgram(parsed.fileNames, parsed.options, host);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createParserServices = createParserServices;\nfunction createParserServices(astMaps, program) {\n if (!program) {\n return {\n emitDecoratorMetadata: undefined,\n experimentalDecorators: undefined,\n isolatedDeclarations: undefined,\n program,\n // we always return the node maps because\n // (a) they don't require type info and\n // (b) they can be useful when using some of TS's internal non-type-aware AST utils\n ...astMaps,\n };\n }\n const checker = program.getTypeChecker();\n const compilerOptions = program.getCompilerOptions();\n return {\n program,\n // not set in the config is the same as off\n emitDecoratorMetadata: compilerOptions.emitDecoratorMetadata ?? false,\n experimentalDecorators: compilerOptions.experimentalDecorators ?? false,\n isolatedDeclarations: compilerOptions.isolatedDeclarations ?? false,\n ...astMaps,\n getSymbolAtLocation: node => checker.getSymbolAtLocation(astMaps.esTreeNodeToTSNodeMap.get(node)),\n getTypeAtLocation: node => checker.getTypeAtLocation(astMaps.esTreeNodeToTSNodeMap.get(node)),\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION = void 0;\nexports.validateDefaultProjectForFilesGlob = validateDefaultProjectForFilesGlob;\nexports.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION = `\n\nHaving many files run with the default project is known to cause performance issues and slow down linting.\n\nSee https://typescript-eslint.io/troubleshooting/typed-linting#allowdefaultproject-glob-too-wide\n`;\nfunction validateDefaultProjectForFilesGlob(allowDefaultProject) {\n if (!allowDefaultProject?.length) {\n return;\n }\n for (const glob of allowDefaultProject) {\n if (glob === '*') {\n throw new Error(`allowDefaultProject contains the overly wide '*'.${exports.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION}`);\n }\n if (glob.includes('**')) {\n throw new Error(`allowDefaultProject glob '${glob}' contains a disallowed '**'.${exports.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION}`);\n }\n }\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createProjectService = createProjectService;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst getParsedConfigFile_1 = require(\"./getParsedConfigFile\");\nconst validateDefaultProjectForFilesGlob_1 = require(\"./validateDefaultProjectForFilesGlob\");\nconst DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD = 8;\nconst log = (0, debug_1.default)('typescript-eslint:typescript-estree:create-program:createProjectService');\nconst logTsserverErr = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:err');\nconst logTsserverInfo = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:info');\nconst logTsserverPerf = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:perf');\nconst logTsserverEvent = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:event');\nconst doNothing = () => { };\nconst createStubFileWatcher = () => ({\n close: doNothing,\n});\nfunction createProjectService(optionsRaw, jsDocParsingMode, tsconfigRootDir) {\n const optionsRawObject = typeof optionsRaw === 'object' ? optionsRaw : {};\n const options = {\n defaultProject: 'tsconfig.json',\n ...optionsRawObject,\n };\n (0, validateDefaultProjectForFilesGlob_1.validateDefaultProjectForFilesGlob)(options.allowDefaultProject);\n // We import this lazily to avoid its cost for users who don't use the service\n // TODO: Once we drop support for TS<5.3 we can import from \"typescript\" directly\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const tsserver = require('typescript/lib/tsserverlibrary');\n // TODO: see getWatchProgramsForProjects\n // We don't watch the disk, we just refer to these when ESLint calls us\n // there's a whole separate update pass in maybeInvalidateProgram at the bottom of getWatchProgramsForProjects\n // (this \"goes nuclear on TypeScript\")\n const system = {\n ...tsserver.sys,\n clearImmediate,\n clearTimeout,\n setImmediate,\n setTimeout,\n watchDirectory: createStubFileWatcher,\n watchFile: createStubFileWatcher,\n // We stop loading any TypeScript plugins by default, to prevent them from attaching disk watchers\n // See https://github.com/typescript-eslint/typescript-eslint/issues/9905\n ...(!options.loadTypeScriptPlugins && {\n require: () => ({\n error: {\n message: 'TypeScript plugins are not required when using parserOptions.projectService.',\n },\n module: undefined,\n }),\n }),\n };\n const logger = {\n close: doNothing,\n endGroup: doNothing,\n getLogFileName: () => undefined,\n // The debug library doesn't use levels without creating a namespace for each.\n // Log levels are not passed to the writer so we wouldn't be able to forward\n // to a respective namespace. Supporting would require an additional flag for\n // granular control. Defaulting to all levels for now.\n hasLevel: () => true,\n info(s) {\n this.msg(s, tsserver.server.Msg.Info);\n },\n loggingEnabled: () => \n // if none of the debug namespaces are enabled, then don't enable logging in tsserver\n logTsserverInfo.enabled ||\n logTsserverErr.enabled ||\n logTsserverPerf.enabled,\n msg: (s, type) => {\n switch (type) {\n case tsserver.server.Msg.Err:\n logTsserverErr(s);\n break;\n case tsserver.server.Msg.Perf:\n logTsserverPerf(s);\n break;\n default:\n logTsserverInfo(s);\n }\n },\n perftrc(s) {\n this.msg(s, tsserver.server.Msg.Perf);\n },\n startGroup: doNothing,\n };\n log('Creating project service with: %o', options);\n const service = new tsserver.server.ProjectService({\n cancellationToken: { isCancellationRequested: () => false },\n eventHandler: logTsserverEvent.enabled\n ? (e) => {\n logTsserverEvent(e);\n }\n : undefined,\n host: system,\n jsDocParsingMode,\n logger,\n session: undefined,\n useInferredProjectPerProjectRoot: false,\n useSingleInferredProject: false,\n });\n service.setHostConfiguration({\n preferences: {\n includePackageJsonAutoImports: 'off',\n },\n });\n log('Enabling default project: %s', options.defaultProject);\n let configFile;\n try {\n configFile = (0, getParsedConfigFile_1.getParsedConfigFile)(tsserver, options.defaultProject, tsconfigRootDir);\n }\n catch (error) {\n if (optionsRawObject.defaultProject) {\n throw new Error(`Could not read project service default project '${options.defaultProject}': ${error.message}`);\n }\n }\n if (configFile) {\n service.setCompilerOptionsForInferredProjects(\n // NOTE: The inferred projects API is not intended for source files when a tsconfig\n // exists. There is no API that generates an InferredProjectCompilerOptions suggesting\n // it is meant for hard coded options passed in. Hard asserting as a work around.\n // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/server/protocol.ts#L1904\n configFile.options);\n }\n return {\n allowDefaultProject: options.allowDefaultProject,\n lastReloadTimestamp: performance.now(),\n maximumDefaultProjectFileMatchCount: options.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING ??\n DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD,\n service,\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpiringCache = exports.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS = void 0;\nexports.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS = 30;\nconst ZERO_HR_TIME = [0, 0];\n/**\n * A map with key-level expiration.\n */\nclass ExpiringCache {\n #cacheDurationSeconds;\n #map = new Map();\n constructor(cacheDurationSeconds) {\n this.#cacheDurationSeconds = cacheDurationSeconds;\n }\n clear() {\n this.#map.clear();\n }\n get(key) {\n const entry = this.#map.get(key);\n if (entry?.value != null) {\n if (this.#cacheDurationSeconds === 'Infinity') {\n return entry.value;\n }\n const ageSeconds = process.hrtime(entry.lastSeen)[0];\n if (ageSeconds < this.#cacheDurationSeconds) {\n // cache hit woo!\n return entry.value;\n }\n // key has expired - clean it up to free up memory\n this.#map.delete(key);\n }\n // no hit :'(\n return undefined;\n }\n set(key, value) {\n this.#map.set(key, {\n lastSeen: this.#cacheDurationSeconds === 'Infinity'\n ? // no need to waste time calculating the hrtime in infinity mode as there's no expiry\n ZERO_HR_TIME\n : process.hrtime(),\n value,\n });\n return this;\n }\n}\nexports.ExpiringCache = ExpiringCache;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProjectConfigFiles = getProjectConfigFiles;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst fs = __importStar(require(\"node:fs\"));\nconst path = __importStar(require(\"node:path\"));\nconst log = (0, debug_1.default)('typescript-eslint:typescript-estree:parseSettings:getProjectConfigFiles');\n/**\n * Checks for a matching TSConfig to a file including its parent directories,\n * permanently caching results under each directory it checks.\n *\n * @remarks\n * We don't (yet!) have a way to attach file watchers on disk, but still need to\n * cache file checks for rapid subsequent calls to fs.existsSync. See discussion\n * in https://github.com/typescript-eslint/typescript-eslint/issues/101.\n */\nfunction getProjectConfigFiles(parseSettings, project) {\n if (project !== true) {\n if (project == null || project === false) {\n return null;\n }\n if (Array.isArray(project)) {\n return project;\n }\n return [project];\n }\n log('Looking for tsconfig.json at or above file: %s', parseSettings.filePath);\n let directory = path.dirname(parseSettings.filePath);\n const checkedDirectories = [directory];\n do {\n log('Checking tsconfig.json path: %s', directory);\n const tsconfigPath = path.join(directory, 'tsconfig.json');\n const cached = parseSettings.tsconfigMatchCache.get(directory) ??\n (fs.existsSync(tsconfigPath) && tsconfigPath);\n if (cached) {\n for (const directory of checkedDirectories) {\n parseSettings.tsconfigMatchCache.set(directory, cached);\n }\n return [cached];\n }\n directory = path.dirname(directory);\n checkedDirectories.push(directory);\n } while (directory.length > 1 &&\n directory.length >= parseSettings.tsconfigRootDir.length);\n throw new Error(`project was set to \\`true\\` but couldn't find any tsconfig.json relative to '${parseSettings.filePath}' within '${parseSettings.tsconfigRootDir}'.`);\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.inferSingleRun = inferSingleRun;\nconst node_path_1 = __importDefault(require(\"node:path\"));\n/**\n * ESLint (and therefore typescript-eslint) is used in both \"single run\"/one-time contexts,\n * such as an ESLint CLI invocation, and long-running sessions (such as continuous feedback\n * on a file in an IDE).\n *\n * When typescript-eslint handles TypeScript Program management behind the scenes, this distinction\n * is important because there is significant overhead to managing the so called Watch Programs\n * needed for the long-running use-case. We therefore use the following logic to figure out which\n * of these contexts applies to the current execution.\n *\n * @returns Whether this is part of a single run, rather than a long-running process.\n */\nfunction inferSingleRun(options) {\n // https://github.com/typescript-eslint/typescript-eslint/issues/9504\n // There's no support (yet?) for extraFileExtensions in single-run hosts.\n // Only watch program hosts and project service can support that.\n if (options?.extraFileExtensions?.length) {\n return false;\n }\n if (\n // single-run implies type-aware linting - no projects means we can't be in single-run mode\n options?.project == null ||\n // programs passed via options means the user should be managing the programs, so we shouldn't\n // be creating our own single-run programs accidentally\n options.programs != null) {\n return false;\n }\n // Allow users to explicitly inform us of their intent to perform a single run (or not) with TSESTREE_SINGLE_RUN\n if (process.env.TSESTREE_SINGLE_RUN === 'false') {\n return false;\n }\n if (process.env.TSESTREE_SINGLE_RUN === 'true') {\n return true;\n }\n // Ideally, we'd like to try to auto-detect CI or CLI usage that lets us infer a single CLI run.\n if (!options.disallowAutomaticSingleRunInference) {\n const possibleEslintBinPaths = [\n 'node_modules/.bin/eslint', // npm or yarn repo\n 'node_modules/eslint/bin/eslint.js', // pnpm repo\n ];\n if (\n // Default to single runs for CI processes. CI=true is set by most CI providers by default.\n process.env.CI === 'true' ||\n // This will be true for invocations such as `npx eslint ...` and `./node_modules/.bin/eslint ...`\n possibleEslintBinPaths.some(binPath => process.argv.length > 1 &&\n process.argv[1].endsWith(node_path_1.default.normalize(binPath)))) {\n return !process.argv.includes('--fix');\n }\n }\n /**\n * We default to assuming that this run could be part of a long-running session (e.g. in an IDE)\n * and watch programs will therefore be required.\n *\n * Unless we can reliably infer otherwise, we default to assuming that this run could be part\n * of a long-running session (e.g. in an IDE) and watch programs will therefore be required\n */\n return false;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitWhen = exports.flatten = void 0;\nfunction flatten(items) {\n return items.reduce((collection, item) => [].concat(collection, item), []);\n}\nexports.flatten = flatten;\nfunction splitWhen(items, predicate) {\n const result = [[]];\n let groupIndex = 0;\n for (const item of items) {\n if (predicate(item)) {\n groupIndex++;\n result[groupIndex] = [];\n }\n else {\n result[groupIndex].push(item);\n }\n }\n return result;\n}\nexports.splitWhen = splitWhen;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEnoentCodeError = void 0;\nfunction isEnoentCodeError(error) {\n return error.code === 'ENOENT';\n}\nexports.isEnoentCodeError = isEnoentCodeError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDirentFromStats = void 0;\nclass DirentFromStats {\n constructor(name, stats) {\n this.name = name;\n this.isBlockDevice = stats.isBlockDevice.bind(stats);\n this.isCharacterDevice = stats.isCharacterDevice.bind(stats);\n this.isDirectory = stats.isDirectory.bind(stats);\n this.isFIFO = stats.isFIFO.bind(stats);\n this.isFile = stats.isFile.bind(stats);\n this.isSocket = stats.isSocket.bind(stats);\n this.isSymbolicLink = stats.isSymbolicLink.bind(stats);\n }\n}\nfunction createDirentFromStats(name, stats) {\n return new DirentFromStats(name, stats);\n}\nexports.createDirentFromStats = createDirentFromStats;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertPosixPathToPattern = exports.convertWindowsPathToPattern = exports.convertPathToPattern = exports.escapePosixPath = exports.escapeWindowsPath = exports.escape = exports.removeLeadingDotSegment = exports.makeAbsolute = exports.unixify = void 0;\nconst os = require(\"os\");\nconst path = require(\"path\");\nconst IS_WINDOWS_PLATFORM = os.platform() === 'win32';\nconst LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2; // ./ or .\\\\\n/**\n * All non-escaped special characters.\n * Posix: ()*?[]{|}, !+@ before (, ! at the beginning, \\\\ before non-special characters.\n * Windows: (){}[], !+@ before (, ! at the beginning.\n */\nconst POSIX_UNESCAPED_GLOB_SYMBOLS_RE = /(\\\\?)([()*?[\\]{|}]|^!|[!+@](?=\\()|\\\\(?![!()*+?@[\\]{|}]))/g;\nconst WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE = /(\\\\?)([()[\\]{}]|^!|[!+@](?=\\())/g;\n/**\n * The device path (\\\\.\\ or \\\\?\\).\n * https://learn.microsoft.com/en-us/dotnet/standard/io/file-path-formats#dos-device-paths\n */\nconst DOS_DEVICE_PATH_RE = /^\\\\\\\\([.?])/;\n/**\n * All backslashes except those escaping special characters.\n * Windows: !()+@{}\n * https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions\n */\nconst WINDOWS_BACKSLASHES_RE = /\\\\(?![!()+@[\\]{}])/g;\n/**\n * Designed to work only with simple paths: `dir\\\\file`.\n */\nfunction unixify(filepath) {\n return filepath.replace(/\\\\/g, '/');\n}\nexports.unixify = unixify;\nfunction makeAbsolute(cwd, filepath) {\n return path.resolve(cwd, filepath);\n}\nexports.makeAbsolute = makeAbsolute;\nfunction removeLeadingDotSegment(entry) {\n // We do not use `startsWith` because this is 10x slower than current implementation for some cases.\n // eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with\n if (entry.charAt(0) === '.') {\n const secondCharactery = entry.charAt(1);\n if (secondCharactery === '/' || secondCharactery === '\\\\') {\n return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT);\n }\n }\n return entry;\n}\nexports.removeLeadingDotSegment = removeLeadingDotSegment;\nexports.escape = IS_WINDOWS_PLATFORM ? escapeWindowsPath : escapePosixPath;\nfunction escapeWindowsPath(pattern) {\n return pattern.replace(WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE, '\\\\$2');\n}\nexports.escapeWindowsPath = escapeWindowsPath;\nfunction escapePosixPath(pattern) {\n return pattern.replace(POSIX_UNESCAPED_GLOB_SYMBOLS_RE, '\\\\$2');\n}\nexports.escapePosixPath = escapePosixPath;\nexports.convertPathToPattern = IS_WINDOWS_PLATFORM ? convertWindowsPathToPattern : convertPosixPathToPattern;\nfunction convertWindowsPathToPattern(filepath) {\n return escapeWindowsPath(filepath)\n .replace(DOS_DEVICE_PATH_RE, '//$1')\n .replace(WINDOWS_BACKSLASHES_RE, '/');\n}\nexports.convertWindowsPathToPattern = convertWindowsPathToPattern;\nfunction convertPosixPathToPattern(filepath) {\n return escapePosixPath(filepath);\n}\nexports.convertPosixPathToPattern = convertPosixPathToPattern;\n","/*!\n * is-extglob <https://github.com/jonschlinkert/is-extglob>\n *\n * Copyright (c) 2014-2016, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\nmodule.exports = function isExtglob(str) {\n if (typeof str !== 'string' || str === '') {\n return false;\n }\n\n var match;\n while ((match = /(\\\\).|([@?!+*]\\(.*\\))/g.exec(str))) {\n if (match[2]) return true;\n str = str.slice(match.index + match[0].length);\n }\n\n return false;\n};\n","/*!\n * is-glob <https://github.com/jonschlinkert/is-glob>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nvar isExtglob = require('is-extglob');\nvar chars = { '{': '}', '(': ')', '[': ']'};\nvar strictCheck = function(str) {\n if (str[0] === '!') {\n return true;\n }\n var index = 0;\n var pipeIndex = -2;\n var closeSquareIndex = -2;\n var closeCurlyIndex = -2;\n var closeParenIndex = -2;\n var backSlashIndex = -2;\n while (index < str.length) {\n if (str[index] === '*') {\n return true;\n }\n\n if (str[index + 1] === '?' && /[\\].+)]/.test(str[index])) {\n return true;\n }\n\n if (closeSquareIndex !== -1 && str[index] === '[' && str[index + 1] !== ']') {\n if (closeSquareIndex < index) {\n closeSquareIndex = str.indexOf(']', index);\n }\n if (closeSquareIndex > index) {\n if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {\n return true;\n }\n backSlashIndex = str.indexOf('\\\\', index);\n if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {\n return true;\n }\n }\n }\n\n if (closeCurlyIndex !== -1 && str[index] === '{' && str[index + 1] !== '}') {\n closeCurlyIndex = str.indexOf('}', index);\n if (closeCurlyIndex > index) {\n backSlashIndex = str.indexOf('\\\\', index);\n if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) {\n return true;\n }\n }\n }\n\n if (closeParenIndex !== -1 && str[index] === '(' && str[index + 1] === '?' && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ')') {\n closeParenIndex = str.indexOf(')', index);\n if (closeParenIndex > index) {\n backSlashIndex = str.indexOf('\\\\', index);\n if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {\n return true;\n }\n }\n }\n\n if (pipeIndex !== -1 && str[index] === '(' && str[index + 1] !== '|') {\n if (pipeIndex < index) {\n pipeIndex = str.indexOf('|', index);\n }\n if (pipeIndex !== -1 && str[pipeIndex + 1] !== ')') {\n closeParenIndex = str.indexOf(')', pipeIndex);\n if (closeParenIndex > pipeIndex) {\n backSlashIndex = str.indexOf('\\\\', pipeIndex);\n if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {\n return true;\n }\n }\n }\n }\n\n if (str[index] === '\\\\') {\n var open = str[index + 1];\n index += 2;\n var close = chars[open];\n\n if (close) {\n var n = str.indexOf(close, index);\n if (n !== -1) {\n index = n + 1;\n }\n }\n\n if (str[index] === '!') {\n return true;\n }\n } else {\n index++;\n }\n }\n return false;\n};\n\nvar relaxedCheck = function(str) {\n if (str[0] === '!') {\n return true;\n }\n var index = 0;\n while (index < str.length) {\n if (/[*?{}()[\\]]/.test(str[index])) {\n return true;\n }\n\n if (str[index] === '\\\\') {\n var open = str[index + 1];\n index += 2;\n var close = chars[open];\n\n if (close) {\n var n = str.indexOf(close, index);\n if (n !== -1) {\n index = n + 1;\n }\n }\n\n if (str[index] === '!') {\n return true;\n }\n } else {\n index++;\n }\n }\n return false;\n};\n\nmodule.exports = function isGlob(str, options) {\n if (typeof str !== 'string' || str === '') {\n return false;\n }\n\n if (isExtglob(str)) {\n return true;\n }\n\n var check = strictCheck;\n\n // optionally relax check\n if (options && options.strict === false) {\n check = relaxedCheck;\n }\n\n return check(str);\n};\n","'use strict';\n\nvar isGlob = require('is-glob');\nvar pathPosixDirname = require('path').posix.dirname;\nvar isWin32 = require('os').platform() === 'win32';\n\nvar slash = '/';\nvar backslash = /\\\\/g;\nvar enclosure = /[\\{\\[].*[\\}\\]]$/;\nvar globby = /(^|[^\\\\])([\\{\\[]|\\([^\\)]+$)/;\nvar escaped = /\\\\([\\!\\*\\?\\|\\[\\]\\(\\)\\{\\}])/g;\n\n/**\n * @param {string} str\n * @param {Object} opts\n * @param {boolean} [opts.flipBackslashes=true]\n * @returns {string}\n */\nmodule.exports = function globParent(str, opts) {\n var options = Object.assign({ flipBackslashes: true }, opts);\n\n // flip windows path separators\n if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) {\n str = str.replace(backslash, slash);\n }\n\n // special case for strings ending in enclosure containing path separator\n if (enclosure.test(str)) {\n str += slash;\n }\n\n // preserves full path in case of trailing path separator\n str += 'a';\n\n // remove path parts that are globby\n do {\n str = pathPosixDirname(str);\n } while (isGlob(str) || globby.test(str));\n\n // remove escape chars and return result\n return str.replace(escaped, '$1');\n};\n","'use strict';\n\nexports.isInteger = num => {\n if (typeof num === 'number') {\n return Number.isInteger(num);\n }\n if (typeof num === 'string' && num.trim() !== '') {\n return Number.isInteger(Number(num));\n }\n return false;\n};\n\n/**\n * Find a node of the given type\n */\n\nexports.find = (node, type) => node.nodes.find(node => node.type === type);\n\n/**\n * Find a node of the given type\n */\n\nexports.exceedsLimit = (min, max, step = 1, limit) => {\n if (limit === false) return false;\n if (!exports.isInteger(min) || !exports.isInteger(max)) return false;\n return ((Number(max) - Number(min)) / Number(step)) >= limit;\n};\n\n/**\n * Escape the given node with '\\\\' before node.value\n */\n\nexports.escapeNode = (block, n = 0, type) => {\n const node = block.nodes[n];\n if (!node) return;\n\n if ((type && node.type === type) || node.type === 'open' || node.type === 'close') {\n if (node.escaped !== true) {\n node.value = '\\\\' + node.value;\n node.escaped = true;\n }\n }\n};\n\n/**\n * Returns true if the given brace node should be enclosed in literal braces\n */\n\nexports.encloseBrace = node => {\n if (node.type !== 'brace') return false;\n if ((node.commas >> 0 + node.ranges >> 0) === 0) {\n node.invalid = true;\n return true;\n }\n return false;\n};\n\n/**\n * Returns true if a brace node is invalid.\n */\n\nexports.isInvalidBrace = block => {\n if (block.type !== 'brace') return false;\n if (block.invalid === true || block.dollar) return true;\n if ((block.commas >> 0 + block.ranges >> 0) === 0) {\n block.invalid = true;\n return true;\n }\n if (block.open !== true || block.close !== true) {\n block.invalid = true;\n return true;\n }\n return false;\n};\n\n/**\n * Returns true if a node is an open or close node\n */\n\nexports.isOpenOrClose = node => {\n if (node.type === 'open' || node.type === 'close') {\n return true;\n }\n return node.open === true || node.close === true;\n};\n\n/**\n * Reduce an array of text nodes.\n */\n\nexports.reduce = nodes => nodes.reduce((acc, node) => {\n if (node.type === 'text') acc.push(node.value);\n if (node.type === 'range') node.type = 'text';\n return acc;\n}, []);\n\n/**\n * Flatten an array\n */\n\nexports.flatten = (...args) => {\n const result = [];\n\n const flat = arr => {\n for (let i = 0; i < arr.length; i++) {\n const ele = arr[i];\n\n if (Array.isArray(ele)) {\n flat(ele);\n continue;\n }\n\n if (ele !== undefined) {\n result.push(ele);\n }\n }\n return result;\n };\n\n flat(args);\n return result;\n};\n","'use strict';\n\nconst utils = require('./utils');\n\nmodule.exports = (ast, options = {}) => {\n const stringify = (node, parent = {}) => {\n const invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent);\n const invalidNode = node.invalid === true && options.escapeInvalid === true;\n let output = '';\n\n if (node.value) {\n if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) {\n return '\\\\' + node.value;\n }\n return node.value;\n }\n\n if (node.value) {\n return node.value;\n }\n\n if (node.nodes) {\n for (const child of node.nodes) {\n output += stringify(child);\n }\n }\n return output;\n };\n\n return stringify(ast);\n};\n\n","/*!\n * is-number <https://github.com/jonschlinkert/is-number>\n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function(num) {\n if (typeof num === 'number') {\n return num - num === 0;\n }\n if (typeof num === 'string' && num.trim() !== '') {\n return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);\n }\n return false;\n};\n","/*!\n * to-regex-range <https://github.com/micromatch/to-regex-range>\n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nconst isNumber = require('is-number');\n\nconst toRegexRange = (min, max, options) => {\n if (isNumber(min) === false) {\n throw new TypeError('toRegexRange: expected the first argument to be a number');\n }\n\n if (max === void 0 || min === max) {\n return String(min);\n }\n\n if (isNumber(max) === false) {\n throw new TypeError('toRegexRange: expected the second argument to be a number.');\n }\n\n let opts = { relaxZeros: true, ...options };\n if (typeof opts.strictZeros === 'boolean') {\n opts.relaxZeros = opts.strictZeros === false;\n }\n\n let relax = String(opts.relaxZeros);\n let shorthand = String(opts.shorthand);\n let capture = String(opts.capture);\n let wrap = String(opts.wrap);\n let cacheKey = min + ':' + max + '=' + relax + shorthand + capture + wrap;\n\n if (toRegexRange.cache.hasOwnProperty(cacheKey)) {\n return toRegexRange.cache[cacheKey].result;\n }\n\n let a = Math.min(min, max);\n let b = Math.max(min, max);\n\n if (Math.abs(a - b) === 1) {\n let result = min + '|' + max;\n if (opts.capture) {\n return `(${result})`;\n }\n if (opts.wrap === false) {\n return result;\n }\n return `(?:${result})`;\n }\n\n let isPadded = hasPadding(min) || hasPadding(max);\n let state = { min, max, a, b };\n let positives = [];\n let negatives = [];\n\n if (isPadded) {\n state.isPadded = isPadded;\n state.maxLen = String(state.max).length;\n }\n\n if (a < 0) {\n let newMin = b < 0 ? Math.abs(b) : 1;\n negatives = splitToPatterns(newMin, Math.abs(a), state, opts);\n a = state.a = 0;\n }\n\n if (b >= 0) {\n positives = splitToPatterns(a, b, state, opts);\n }\n\n state.negatives = negatives;\n state.positives = positives;\n state.result = collatePatterns(negatives, positives, opts);\n\n if (opts.capture === true) {\n state.result = `(${state.result})`;\n } else if (opts.wrap !== false && (positives.length + negatives.length) > 1) {\n state.result = `(?:${state.result})`;\n }\n\n toRegexRange.cache[cacheKey] = state;\n return state.result;\n};\n\nfunction collatePatterns(neg, pos, options) {\n let onlyNegative = filterPatterns(neg, pos, '-', false, options) || [];\n let onlyPositive = filterPatterns(pos, neg, '', false, options) || [];\n let intersected = filterPatterns(neg, pos, '-?', true, options) || [];\n let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive);\n return subpatterns.join('|');\n}\n\nfunction splitToRanges(min, max) {\n let nines = 1;\n let zeros = 1;\n\n let stop = countNines(min, nines);\n let stops = new Set([max]);\n\n while (min <= stop && stop <= max) {\n stops.add(stop);\n nines += 1;\n stop = countNines(min, nines);\n }\n\n stop = countZeros(max + 1, zeros) - 1;\n\n while (min < stop && stop <= max) {\n stops.add(stop);\n zeros += 1;\n stop = countZeros(max + 1, zeros) - 1;\n }\n\n stops = [...stops];\n stops.sort(compare);\n return stops;\n}\n\n/**\n * Convert a range to a regex pattern\n * @param {Number} `start`\n * @param {Number} `stop`\n * @return {String}\n */\n\nfunction rangeToPattern(start, stop, options) {\n if (start === stop) {\n return { pattern: start, count: [], digits: 0 };\n }\n\n let zipped = zip(start, stop);\n let digits = zipped.length;\n let pattern = '';\n let count = 0;\n\n for (let i = 0; i < digits; i++) {\n let [startDigit, stopDigit] = zipped[i];\n\n if (startDigit === stopDigit) {\n pattern += startDigit;\n\n } else if (startDigit !== '0' || stopDigit !== '9') {\n pattern += toCharacterClass(startDigit, stopDigit, options);\n\n } else {\n count++;\n }\n }\n\n if (count) {\n pattern += options.shorthand === true ? '\\\\d' : '[0-9]';\n }\n\n return { pattern, count: [count], digits };\n}\n\nfunction splitToPatterns(min, max, tok, options) {\n let ranges = splitToRanges(min, max);\n let tokens = [];\n let start = min;\n let prev;\n\n for (let i = 0; i < ranges.length; i++) {\n let max = ranges[i];\n let obj = rangeToPattern(String(start), String(max), options);\n let zeros = '';\n\n if (!tok.isPadded && prev && prev.pattern === obj.pattern) {\n if (prev.count.length > 1) {\n prev.count.pop();\n }\n\n prev.count.push(obj.count[0]);\n prev.string = prev.pattern + toQuantifier(prev.count);\n start = max + 1;\n continue;\n }\n\n if (tok.isPadded) {\n zeros = padZeros(max, tok, options);\n }\n\n obj.string = zeros + obj.pattern + toQuantifier(obj.count);\n tokens.push(obj);\n start = max + 1;\n prev = obj;\n }\n\n return tokens;\n}\n\nfunction filterPatterns(arr, comparison, prefix, intersection, options) {\n let result = [];\n\n for (let ele of arr) {\n let { string } = ele;\n\n // only push if _both_ are negative...\n if (!intersection && !contains(comparison, 'string', string)) {\n result.push(prefix + string);\n }\n\n // or _both_ are positive\n if (intersection && contains(comparison, 'string', string)) {\n result.push(prefix + string);\n }\n }\n return result;\n}\n\n/**\n * Zip strings\n */\n\nfunction zip(a, b) {\n let arr = [];\n for (let i = 0; i < a.length; i++) arr.push([a[i], b[i]]);\n return arr;\n}\n\nfunction compare(a, b) {\n return a > b ? 1 : b > a ? -1 : 0;\n}\n\nfunction contains(arr, key, val) {\n return arr.some(ele => ele[key] === val);\n}\n\nfunction countNines(min, len) {\n return Number(String(min).slice(0, -len) + '9'.repeat(len));\n}\n\nfunction countZeros(integer, zeros) {\n return integer - (integer % Math.pow(10, zeros));\n}\n\nfunction toQuantifier(digits) {\n let [start = 0, stop = ''] = digits;\n if (stop || start > 1) {\n return `{${start + (stop ? ',' + stop : '')}}`;\n }\n return '';\n}\n\nfunction toCharacterClass(a, b, options) {\n return `[${a}${(b - a === 1) ? '' : '-'}${b}]`;\n}\n\nfunction hasPadding(str) {\n return /^-?(0+)\\d/.test(str);\n}\n\nfunction padZeros(value, tok, options) {\n if (!tok.isPadded) {\n return value;\n }\n\n let diff = Math.abs(tok.maxLen - String(value).length);\n let relax = options.relaxZeros !== false;\n\n switch (diff) {\n case 0:\n return '';\n case 1:\n return relax ? '0?' : '0';\n case 2:\n return relax ? '0{0,2}' : '00';\n default: {\n return relax ? `0{0,${diff}}` : `0{${diff}}`;\n }\n }\n}\n\n/**\n * Cache\n */\n\ntoRegexRange.cache = {};\ntoRegexRange.clearCache = () => (toRegexRange.cache = {});\n\n/**\n * Expose `toRegexRange`\n */\n\nmodule.exports = toRegexRange;\n","/*!\n * fill-range <https://github.com/jonschlinkert/fill-range>\n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n'use strict';\n\nconst util = require('util');\nconst toRegexRange = require('to-regex-range');\n\nconst isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);\n\nconst transform = toNumber => {\n return value => toNumber === true ? Number(value) : String(value);\n};\n\nconst isValidValue = value => {\n return typeof value === 'number' || (typeof value === 'string' && value !== '');\n};\n\nconst isNumber = num => Number.isInteger(+num);\n\nconst zeros = input => {\n let value = `${input}`;\n let index = -1;\n if (value[0] === '-') value = value.slice(1);\n if (value === '0') return false;\n while (value[++index] === '0');\n return index > 0;\n};\n\nconst stringify = (start, end, options) => {\n if (typeof start === 'string' || typeof end === 'string') {\n return true;\n }\n return options.stringify === true;\n};\n\nconst pad = (input, maxLength, toNumber) => {\n if (maxLength > 0) {\n let dash = input[0] === '-' ? '-' : '';\n if (dash) input = input.slice(1);\n input = (dash + input.padStart(dash ? maxLength - 1 : maxLength, '0'));\n }\n if (toNumber === false) {\n return String(input);\n }\n return input;\n};\n\nconst toMaxLen = (input, maxLength) => {\n let negative = input[0] === '-' ? '-' : '';\n if (negative) {\n input = input.slice(1);\n maxLength--;\n }\n while (input.length < maxLength) input = '0' + input;\n return negative ? ('-' + input) : input;\n};\n\nconst toSequence = (parts, options, maxLen) => {\n parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);\n parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);\n\n let prefix = options.capture ? '' : '?:';\n let positives = '';\n let negatives = '';\n let result;\n\n if (parts.positives.length) {\n positives = parts.positives.map(v => toMaxLen(String(v), maxLen)).join('|');\n }\n\n if (parts.negatives.length) {\n negatives = `-(${prefix}${parts.negatives.map(v => toMaxLen(String(v), maxLen)).join('|')})`;\n }\n\n if (positives && negatives) {\n result = `${positives}|${negatives}`;\n } else {\n result = positives || negatives;\n }\n\n if (options.wrap) {\n return `(${prefix}${result})`;\n }\n\n return result;\n};\n\nconst toRange = (a, b, isNumbers, options) => {\n if (isNumbers) {\n return toRegexRange(a, b, { wrap: false, ...options });\n }\n\n let start = String.fromCharCode(a);\n if (a === b) return start;\n\n let stop = String.fromCharCode(b);\n return `[${start}-${stop}]`;\n};\n\nconst toRegex = (start, end, options) => {\n if (Array.isArray(start)) {\n let wrap = options.wrap === true;\n let prefix = options.capture ? '' : '?:';\n return wrap ? `(${prefix}${start.join('|')})` : start.join('|');\n }\n return toRegexRange(start, end, options);\n};\n\nconst rangeError = (...args) => {\n return new RangeError('Invalid range arguments: ' + util.inspect(...args));\n};\n\nconst invalidRange = (start, end, options) => {\n if (options.strictRanges === true) throw rangeError([start, end]);\n return [];\n};\n\nconst invalidStep = (step, options) => {\n if (options.strictRanges === true) {\n throw new TypeError(`Expected step \"${step}\" to be a number`);\n }\n return [];\n};\n\nconst fillNumbers = (start, end, step = 1, options = {}) => {\n let a = Number(start);\n let b = Number(end);\n\n if (!Number.isInteger(a) || !Number.isInteger(b)) {\n if (options.strictRanges === true) throw rangeError([start, end]);\n return [];\n }\n\n // fix negative zero\n if (a === 0) a = 0;\n if (b === 0) b = 0;\n\n let descending = a > b;\n let startString = String(start);\n let endString = String(end);\n let stepString = String(step);\n step = Math.max(Math.abs(step), 1);\n\n let padded = zeros(startString) || zeros(endString) || zeros(stepString);\n let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0;\n let toNumber = padded === false && stringify(start, end, options) === false;\n let format = options.transform || transform(toNumber);\n\n if (options.toRegex && step === 1) {\n return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options);\n }\n\n let parts = { negatives: [], positives: [] };\n let push = num => parts[num < 0 ? 'negatives' : 'positives'].push(Math.abs(num));\n let range = [];\n let index = 0;\n\n while (descending ? a >= b : a <= b) {\n if (options.toRegex === true && step > 1) {\n push(a);\n } else {\n range.push(pad(format(a, index), maxLen, toNumber));\n }\n a = descending ? a - step : a + step;\n index++;\n }\n\n if (options.toRegex === true) {\n return step > 1\n ? toSequence(parts, options, maxLen)\n : toRegex(range, null, { wrap: false, ...options });\n }\n\n return range;\n};\n\nconst fillLetters = (start, end, step = 1, options = {}) => {\n if ((!isNumber(start) && start.length > 1) || (!isNumber(end) && end.length > 1)) {\n return invalidRange(start, end, options);\n }\n\n let format = options.transform || (val => String.fromCharCode(val));\n let a = `${start}`.charCodeAt(0);\n let b = `${end}`.charCodeAt(0);\n\n let descending = a > b;\n let min = Math.min(a, b);\n let max = Math.max(a, b);\n\n if (options.toRegex && step === 1) {\n return toRange(min, max, false, options);\n }\n\n let range = [];\n let index = 0;\n\n while (descending ? a >= b : a <= b) {\n range.push(format(a, index));\n a = descending ? a - step : a + step;\n index++;\n }\n\n if (options.toRegex === true) {\n return toRegex(range, null, { wrap: false, options });\n }\n\n return range;\n};\n\nconst fill = (start, end, step, options = {}) => {\n if (end == null && isValidValue(start)) {\n return [start];\n }\n\n if (!isValidValue(start) || !isValidValue(end)) {\n return invalidRange(start, end, options);\n }\n\n if (typeof step === 'function') {\n return fill(start, end, 1, { transform: step });\n }\n\n if (isObject(step)) {\n return fill(start, end, 0, step);\n }\n\n let opts = { ...options };\n if (opts.capture === true) opts.wrap = true;\n step = step || opts.step || 1;\n\n if (!isNumber(step)) {\n if (step != null && !isObject(step)) return invalidStep(step, opts);\n return fill(start, end, 1, step);\n }\n\n if (isNumber(start) && isNumber(end)) {\n return fillNumbers(start, end, step, opts);\n }\n\n return fillLetters(start, end, Math.max(Math.abs(step), 1), opts);\n};\n\nmodule.exports = fill;\n","'use strict';\n\nconst fill = require('fill-range');\nconst utils = require('./utils');\n\nconst compile = (ast, options = {}) => {\n const walk = (node, parent = {}) => {\n const invalidBlock = utils.isInvalidBrace(parent);\n const invalidNode = node.invalid === true && options.escapeInvalid === true;\n const invalid = invalidBlock === true || invalidNode === true;\n const prefix = options.escapeInvalid === true ? '\\\\' : '';\n let output = '';\n\n if (node.isOpen === true) {\n return prefix + node.value;\n }\n\n if (node.isClose === true) {\n console.log('node.isClose', prefix, node.value);\n return prefix + node.value;\n }\n\n if (node.type === 'open') {\n return invalid ? prefix + node.value : '(';\n }\n\n if (node.type === 'close') {\n return invalid ? prefix + node.value : ')';\n }\n\n if (node.type === 'comma') {\n return node.prev.type === 'comma' ? '' : invalid ? node.value : '|';\n }\n\n if (node.value) {\n return node.value;\n }\n\n if (node.nodes && node.ranges > 0) {\n const args = utils.reduce(node.nodes);\n const range = fill(...args, { ...options, wrap: false, toRegex: true, strictZeros: true });\n\n if (range.length !== 0) {\n return args.length > 1 && range.length > 1 ? `(${range})` : range;\n }\n }\n\n if (node.nodes) {\n for (const child of node.nodes) {\n output += walk(child, node);\n }\n }\n\n return output;\n };\n\n return walk(ast);\n};\n\nmodule.exports = compile;\n","'use strict';\n\nconst fill = require('fill-range');\nconst stringify = require('./stringify');\nconst utils = require('./utils');\n\nconst append = (queue = '', stash = '', enclose = false) => {\n const result = [];\n\n queue = [].concat(queue);\n stash = [].concat(stash);\n\n if (!stash.length) return queue;\n if (!queue.length) {\n return enclose ? utils.flatten(stash).map(ele => `{${ele}}`) : stash;\n }\n\n for (const item of queue) {\n if (Array.isArray(item)) {\n for (const value of item) {\n result.push(append(value, stash, enclose));\n }\n } else {\n for (let ele of stash) {\n if (enclose === true && typeof ele === 'string') ele = `{${ele}}`;\n result.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele);\n }\n }\n }\n return utils.flatten(result);\n};\n\nconst expand = (ast, options = {}) => {\n const rangeLimit = options.rangeLimit === undefined ? 1000 : options.rangeLimit;\n\n const walk = (node, parent = {}) => {\n node.queue = [];\n\n let p = parent;\n let q = parent.queue;\n\n while (p.type !== 'brace' && p.type !== 'root' && p.parent) {\n p = p.parent;\n q = p.queue;\n }\n\n if (node.invalid || node.dollar) {\n q.push(append(q.pop(), stringify(node, options)));\n return;\n }\n\n if (node.type === 'brace' && node.invalid !== true && node.nodes.length === 2) {\n q.push(append(q.pop(), ['{}']));\n return;\n }\n\n if (node.nodes && node.ranges > 0) {\n const args = utils.reduce(node.nodes);\n\n if (utils.exceedsLimit(...args, options.step, rangeLimit)) {\n throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.');\n }\n\n let range = fill(...args, options);\n if (range.length === 0) {\n range = stringify(node, options);\n }\n\n q.push(append(q.pop(), range));\n node.nodes = [];\n return;\n }\n\n const enclose = utils.encloseBrace(node);\n let queue = node.queue;\n let block = node;\n\n while (block.type !== 'brace' && block.type !== 'root' && block.parent) {\n block = block.parent;\n queue = block.queue;\n }\n\n for (let i = 0; i < node.nodes.length; i++) {\n const child = node.nodes[i];\n\n if (child.type === 'comma' && node.type === 'brace') {\n if (i === 1) queue.push('');\n queue.push('');\n continue;\n }\n\n if (child.type === 'close') {\n q.push(append(q.pop(), queue, enclose));\n continue;\n }\n\n if (child.value && child.type !== 'open') {\n queue.push(append(queue.pop(), child.value));\n continue;\n }\n\n if (child.nodes) {\n walk(child, node);\n }\n }\n\n return queue;\n };\n\n return utils.flatten(walk(ast));\n};\n\nmodule.exports = expand;\n","'use strict';\n\nmodule.exports = {\n MAX_LENGTH: 10000,\n\n // Digits\n CHAR_0: '0', /* 0 */\n CHAR_9: '9', /* 9 */\n\n // Alphabet chars.\n CHAR_UPPERCASE_A: 'A', /* A */\n CHAR_LOWERCASE_A: 'a', /* a */\n CHAR_UPPERCASE_Z: 'Z', /* Z */\n CHAR_LOWERCASE_Z: 'z', /* z */\n\n CHAR_LEFT_PARENTHESES: '(', /* ( */\n CHAR_RIGHT_PARENTHESES: ')', /* ) */\n\n CHAR_ASTERISK: '*', /* * */\n\n // Non-alphabetic chars.\n CHAR_AMPERSAND: '&', /* & */\n CHAR_AT: '@', /* @ */\n CHAR_BACKSLASH: '\\\\', /* \\ */\n CHAR_BACKTICK: '`', /* ` */\n CHAR_CARRIAGE_RETURN: '\\r', /* \\r */\n CHAR_CIRCUMFLEX_ACCENT: '^', /* ^ */\n CHAR_COLON: ':', /* : */\n CHAR_COMMA: ',', /* , */\n CHAR_DOLLAR: '$', /* . */\n CHAR_DOT: '.', /* . */\n CHAR_DOUBLE_QUOTE: '\"', /* \" */\n CHAR_EQUAL: '=', /* = */\n CHAR_EXCLAMATION_MARK: '!', /* ! */\n CHAR_FORM_FEED: '\\f', /* \\f */\n CHAR_FORWARD_SLASH: '/', /* / */\n CHAR_HASH: '#', /* # */\n CHAR_HYPHEN_MINUS: '-', /* - */\n CHAR_LEFT_ANGLE_BRACKET: '<', /* < */\n CHAR_LEFT_CURLY_BRACE: '{', /* { */\n CHAR_LEFT_SQUARE_BRACKET: '[', /* [ */\n CHAR_LINE_FEED: '\\n', /* \\n */\n CHAR_NO_BREAK_SPACE: '\\u00A0', /* \\u00A0 */\n CHAR_PERCENT: '%', /* % */\n CHAR_PLUS: '+', /* + */\n CHAR_QUESTION_MARK: '?', /* ? */\n CHAR_RIGHT_ANGLE_BRACKET: '>', /* > */\n CHAR_RIGHT_CURLY_BRACE: '}', /* } */\n CHAR_RIGHT_SQUARE_BRACKET: ']', /* ] */\n CHAR_SEMICOLON: ';', /* ; */\n CHAR_SINGLE_QUOTE: '\\'', /* ' */\n CHAR_SPACE: ' ', /* */\n CHAR_TAB: '\\t', /* \\t */\n CHAR_UNDERSCORE: '_', /* _ */\n CHAR_VERTICAL_LINE: '|', /* | */\n CHAR_ZERO_WIDTH_NOBREAK_SPACE: '\\uFEFF' /* \\uFEFF */\n};\n","'use strict';\n\nconst stringify = require('./stringify');\n\n/**\n * Constants\n */\n\nconst {\n MAX_LENGTH,\n CHAR_BACKSLASH, /* \\ */\n CHAR_BACKTICK, /* ` */\n CHAR_COMMA, /* , */\n CHAR_DOT, /* . */\n CHAR_LEFT_PARENTHESES, /* ( */\n CHAR_RIGHT_PARENTHESES, /* ) */\n CHAR_LEFT_CURLY_BRACE, /* { */\n CHAR_RIGHT_CURLY_BRACE, /* } */\n CHAR_LEFT_SQUARE_BRACKET, /* [ */\n CHAR_RIGHT_SQUARE_BRACKET, /* ] */\n CHAR_DOUBLE_QUOTE, /* \" */\n CHAR_SINGLE_QUOTE, /* ' */\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_NOBREAK_SPACE\n} = require('./constants');\n\n/**\n * parse\n */\n\nconst parse = (input, options = {}) => {\n if (typeof input !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n const opts = options || {};\n const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;\n if (input.length > max) {\n throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`);\n }\n\n const ast = { type: 'root', input, nodes: [] };\n const stack = [ast];\n let block = ast;\n let prev = ast;\n let brackets = 0;\n const length = input.length;\n let index = 0;\n let depth = 0;\n let value;\n\n /**\n * Helpers\n */\n\n const advance = () => input[index++];\n const push = node => {\n if (node.type === 'text' && prev.type === 'dot') {\n prev.type = 'text';\n }\n\n if (prev && prev.type === 'text' && node.type === 'text') {\n prev.value += node.value;\n return;\n }\n\n block.nodes.push(node);\n node.parent = block;\n node.prev = prev;\n prev = node;\n return node;\n };\n\n push({ type: 'bos' });\n\n while (index < length) {\n block = stack[stack.length - 1];\n value = advance();\n\n /**\n * Invalid chars\n */\n\n if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) {\n continue;\n }\n\n /**\n * Escaped chars\n */\n\n if (value === CHAR_BACKSLASH) {\n push({ type: 'text', value: (options.keepEscaping ? value : '') + advance() });\n continue;\n }\n\n /**\n * Right square bracket (literal): ']'\n */\n\n if (value === CHAR_RIGHT_SQUARE_BRACKET) {\n push({ type: 'text', value: '\\\\' + value });\n continue;\n }\n\n /**\n * Left square bracket: '['\n */\n\n if (value === CHAR_LEFT_SQUARE_BRACKET) {\n brackets++;\n\n let next;\n\n while (index < length && (next = advance())) {\n value += next;\n\n if (next === CHAR_LEFT_SQUARE_BRACKET) {\n brackets++;\n continue;\n }\n\n if (next === CHAR_BACKSLASH) {\n value += advance();\n continue;\n }\n\n if (next === CHAR_RIGHT_SQUARE_BRACKET) {\n brackets--;\n\n if (brackets === 0) {\n break;\n }\n }\n }\n\n push({ type: 'text', value });\n continue;\n }\n\n /**\n * Parentheses\n */\n\n if (value === CHAR_LEFT_PARENTHESES) {\n block = push({ type: 'paren', nodes: [] });\n stack.push(block);\n push({ type: 'text', value });\n continue;\n }\n\n if (value === CHAR_RIGHT_PARENTHESES) {\n if (block.type !== 'paren') {\n push({ type: 'text', value });\n continue;\n }\n block = stack.pop();\n push({ type: 'text', value });\n block = stack[stack.length - 1];\n continue;\n }\n\n /**\n * Quotes: '|\"|`\n */\n\n if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) {\n const open = value;\n let next;\n\n if (options.keepQuotes !== true) {\n value = '';\n }\n\n while (index < length && (next = advance())) {\n if (next === CHAR_BACKSLASH) {\n value += next + advance();\n continue;\n }\n\n if (next === open) {\n if (options.keepQuotes === true) value += next;\n break;\n }\n\n value += next;\n }\n\n push({ type: 'text', value });\n continue;\n }\n\n /**\n * Left curly brace: '{'\n */\n\n if (value === CHAR_LEFT_CURLY_BRACE) {\n depth++;\n\n const dollar = prev.value && prev.value.slice(-1) === '$' || block.dollar === true;\n const brace = {\n type: 'brace',\n open: true,\n close: false,\n dollar,\n depth,\n commas: 0,\n ranges: 0,\n nodes: []\n };\n\n block = push(brace);\n stack.push(block);\n push({ type: 'open', value });\n continue;\n }\n\n /**\n * Right curly brace: '}'\n */\n\n if (value === CHAR_RIGHT_CURLY_BRACE) {\n if (block.type !== 'brace') {\n push({ type: 'text', value });\n continue;\n }\n\n const type = 'close';\n block = stack.pop();\n block.close = true;\n\n push({ type, value });\n depth--;\n\n block = stack[stack.length - 1];\n continue;\n }\n\n /**\n * Comma: ','\n */\n\n if (value === CHAR_COMMA && depth > 0) {\n if (block.ranges > 0) {\n block.ranges = 0;\n const open = block.nodes.shift();\n block.nodes = [open, { type: 'text', value: stringify(block) }];\n }\n\n push({ type: 'comma', value });\n block.commas++;\n continue;\n }\n\n /**\n * Dot: '.'\n */\n\n if (value === CHAR_DOT && depth > 0 && block.commas === 0) {\n const siblings = block.nodes;\n\n if (depth === 0 || siblings.length === 0) {\n push({ type: 'text', value });\n continue;\n }\n\n if (prev.type === 'dot') {\n block.range = [];\n prev.value += value;\n prev.type = 'range';\n\n if (block.nodes.length !== 3 && block.nodes.length !== 5) {\n block.invalid = true;\n block.ranges = 0;\n prev.type = 'text';\n continue;\n }\n\n block.ranges++;\n block.args = [];\n continue;\n }\n\n if (prev.type === 'range') {\n siblings.pop();\n\n const before = siblings[siblings.length - 1];\n before.value += prev.value + value;\n prev = before;\n block.ranges--;\n continue;\n }\n\n push({ type: 'dot', value });\n continue;\n }\n\n /**\n * Text\n */\n\n push({ type: 'text', value });\n }\n\n // Mark imbalanced braces and brackets as invalid\n do {\n block = stack.pop();\n\n if (block.type !== 'root') {\n block.nodes.forEach(node => {\n if (!node.nodes) {\n if (node.type === 'open') node.isOpen = true;\n if (node.type === 'close') node.isClose = true;\n if (!node.nodes) node.type = 'text';\n node.invalid = true;\n }\n });\n\n // get the location of the block on parent.nodes (block's siblings)\n const parent = stack[stack.length - 1];\n const index = parent.nodes.indexOf(block);\n // replace the (invalid) block with it's nodes\n parent.nodes.splice(index, 1, ...block.nodes);\n }\n } while (stack.length > 0);\n\n push({ type: 'eos' });\n return ast;\n};\n\nmodule.exports = parse;\n","'use strict';\n\nconst stringify = require('./lib/stringify');\nconst compile = require('./lib/compile');\nconst expand = require('./lib/expand');\nconst parse = require('./lib/parse');\n\n/**\n * Expand the given pattern or create a regex-compatible string.\n *\n * ```js\n * const braces = require('braces');\n * console.log(braces('{a,b,c}', { compile: true })); //=> ['(a|b|c)']\n * console.log(braces('{a,b,c}')); //=> ['a', 'b', 'c']\n * ```\n * @param {String} `str`\n * @param {Object} `options`\n * @return {String}\n * @api public\n */\n\nconst braces = (input, options = {}) => {\n let output = [];\n\n if (Array.isArray(input)) {\n for (const pattern of input) {\n const result = braces.create(pattern, options);\n if (Array.isArray(result)) {\n output.push(...result);\n } else {\n output.push(result);\n }\n }\n } else {\n output = [].concat(braces.create(input, options));\n }\n\n if (options && options.expand === true && options.nodupes === true) {\n output = [...new Set(output)];\n }\n return output;\n};\n\n/**\n * Parse the given `str` with the given `options`.\n *\n * ```js\n * // braces.parse(pattern, [, options]);\n * const ast = braces.parse('a/{b,c}/d');\n * console.log(ast);\n * ```\n * @param {String} pattern Brace pattern to parse\n * @param {Object} options\n * @return {Object} Returns an AST\n * @api public\n */\n\nbraces.parse = (input, options = {}) => parse(input, options);\n\n/**\n * Creates a braces string from an AST, or an AST node.\n *\n * ```js\n * const braces = require('braces');\n * let ast = braces.parse('foo/{a,b}/bar');\n * console.log(stringify(ast.nodes[2])); //=> '{a,b}'\n * ```\n * @param {String} `input` Brace pattern or AST.\n * @param {Object} `options`\n * @return {Array} Returns an array of expanded values.\n * @api public\n */\n\nbraces.stringify = (input, options = {}) => {\n if (typeof input === 'string') {\n return stringify(braces.parse(input, options), options);\n }\n return stringify(input, options);\n};\n\n/**\n * Compiles a brace pattern into a regex-compatible, optimized string.\n * This method is called by the main [braces](#braces) function by default.\n *\n * ```js\n * const braces = require('braces');\n * console.log(braces.compile('a/{b,c}/d'));\n * //=> ['a/(b|c)/d']\n * ```\n * @param {String} `input` Brace pattern or AST.\n * @param {Object} `options`\n * @return {Array} Returns an array of expanded values.\n * @api public\n */\n\nbraces.compile = (input, options = {}) => {\n if (typeof input === 'string') {\n input = braces.parse(input, options);\n }\n return compile(input, options);\n};\n\n/**\n * Expands a brace pattern into an array. This method is called by the\n * main [braces](#braces) function when `options.expand` is true. Before\n * using this method it's recommended that you read the [performance notes](#performance))\n * and advantages of using [.compile](#compile) instead.\n *\n * ```js\n * const braces = require('braces');\n * console.log(braces.expand('a/{b,c}/d'));\n * //=> ['a/b/d', 'a/c/d'];\n * ```\n * @param {String} `pattern` Brace pattern\n * @param {Object} `options`\n * @return {Array} Returns an array of expanded values.\n * @api public\n */\n\nbraces.expand = (input, options = {}) => {\n if (typeof input === 'string') {\n input = braces.parse(input, options);\n }\n\n let result = expand(input, options);\n\n // filter out empty strings if specified\n if (options.noempty === true) {\n result = result.filter(Boolean);\n }\n\n // filter out duplicates if specified\n if (options.nodupes === true) {\n result = [...new Set(result)];\n }\n\n return result;\n};\n\n/**\n * Processes a brace pattern and returns either an expanded array\n * (if `options.expand` is true), a highly optimized regex-compatible string.\n * This method is called by the main [braces](#braces) function.\n *\n * ```js\n * const braces = require('braces');\n * console.log(braces.create('user-{200..300}/project-{a,b,c}-{1..10}'))\n * //=> 'user-(20[0-9]|2[1-9][0-9]|300)/project-(a|b|c)-([1-9]|10)'\n * ```\n * @param {String} `pattern` Brace pattern\n * @param {Object} `options`\n * @return {Array} Returns an array of expanded values.\n * @api public\n */\n\nbraces.create = (input, options = {}) => {\n if (input === '' || input.length < 3) {\n return [input];\n }\n\n return options.expand !== true\n ? braces.compile(input, options)\n : braces.expand(input, options);\n};\n\n/**\n * Expose \"braces\"\n */\n\nmodule.exports = braces;\n","'use strict';\n\nconst util = require('util');\nconst braces = require('braces');\nconst picomatch = require('picomatch');\nconst utils = require('picomatch/lib/utils');\n\nconst isEmptyString = v => v === '' || v === './';\nconst hasBraces = v => {\n const index = v.indexOf('{');\n return index > -1 && v.indexOf('}', index) > -1;\n};\n\n/**\n * Returns an array of strings that match one or more glob patterns.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm(list, patterns[, options]);\n *\n * console.log(mm(['a.js', 'a.txt'], ['*.js']));\n * //=> [ 'a.js' ]\n * ```\n * @param {String|Array<string>} `list` List of strings to match.\n * @param {String|Array<string>} `patterns` One or more glob patterns to use for matching.\n * @param {Object} `options` See available [options](#options)\n * @return {Array} Returns an array of matches\n * @summary false\n * @api public\n */\n\nconst micromatch = (list, patterns, options) => {\n patterns = [].concat(patterns);\n list = [].concat(list);\n\n let omit = new Set();\n let keep = new Set();\n let items = new Set();\n let negatives = 0;\n\n let onResult = state => {\n items.add(state.output);\n if (options && options.onResult) {\n options.onResult(state);\n }\n };\n\n for (let i = 0; i < patterns.length; i++) {\n let isMatch = picomatch(String(patterns[i]), { ...options, onResult }, true);\n let negated = isMatch.state.negated || isMatch.state.negatedExtglob;\n if (negated) negatives++;\n\n for (let item of list) {\n let matched = isMatch(item, true);\n\n let match = negated ? !matched.isMatch : matched.isMatch;\n if (!match) continue;\n\n if (negated) {\n omit.add(matched.output);\n } else {\n omit.delete(matched.output);\n keep.add(matched.output);\n }\n }\n }\n\n let result = negatives === patterns.length ? [...items] : [...keep];\n let matches = result.filter(item => !omit.has(item));\n\n if (options && matches.length === 0) {\n if (options.failglob === true) {\n throw new Error(`No matches found for \"${patterns.join(', ')}\"`);\n }\n\n if (options.nonull === true || options.nullglob === true) {\n return options.unescape ? patterns.map(p => p.replace(/\\\\/g, '')) : patterns;\n }\n }\n\n return matches;\n};\n\n/**\n * Backwards compatibility\n */\n\nmicromatch.match = micromatch;\n\n/**\n * Returns a matcher function from the given glob `pattern` and `options`.\n * The returned function takes a string to match as its only argument and returns\n * true if the string is a match.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.matcher(pattern[, options]);\n *\n * const isMatch = mm.matcher('*.!(*a)');\n * console.log(isMatch('a.a')); //=> false\n * console.log(isMatch('a.b')); //=> true\n * ```\n * @param {String} `pattern` Glob pattern\n * @param {Object} `options`\n * @return {Function} Returns a matcher function.\n * @api public\n */\n\nmicromatch.matcher = (pattern, options) => picomatch(pattern, options);\n\n/**\n * Returns true if **any** of the given glob `patterns` match the specified `string`.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.isMatch(string, patterns[, options]);\n *\n * console.log(mm.isMatch('a.a', ['b.*', '*.a'])); //=> true\n * console.log(mm.isMatch('a.a', 'b.*')); //=> false\n * ```\n * @param {String} `str` The string to test.\n * @param {String|Array} `patterns` One or more glob patterns to use for matching.\n * @param {Object} `[options]` See available [options](#options).\n * @return {Boolean} Returns true if any patterns match `str`\n * @api public\n */\n\nmicromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);\n\n/**\n * Backwards compatibility\n */\n\nmicromatch.any = micromatch.isMatch;\n\n/**\n * Returns a list of strings that _**do not match any**_ of the given `patterns`.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.not(list, patterns[, options]);\n *\n * console.log(mm.not(['a.a', 'b.b', 'c.c'], '*.a'));\n * //=> ['b.b', 'c.c']\n * ```\n * @param {Array} `list` Array of strings to match.\n * @param {String|Array} `patterns` One or more glob pattern to use for matching.\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Array} Returns an array of strings that **do not match** the given patterns.\n * @api public\n */\n\nmicromatch.not = (list, patterns, options = {}) => {\n patterns = [].concat(patterns).map(String);\n let result = new Set();\n let items = [];\n\n let onResult = state => {\n if (options.onResult) options.onResult(state);\n items.push(state.output);\n };\n\n let matches = new Set(micromatch(list, patterns, { ...options, onResult }));\n\n for (let item of items) {\n if (!matches.has(item)) {\n result.add(item);\n }\n }\n return [...result];\n};\n\n/**\n * Returns true if the given `string` contains the given pattern. Similar\n * to [.isMatch](#isMatch) but the pattern can match any part of the string.\n *\n * ```js\n * var mm = require('micromatch');\n * // mm.contains(string, pattern[, options]);\n *\n * console.log(mm.contains('aa/bb/cc', '*b'));\n * //=> true\n * console.log(mm.contains('aa/bb/cc', '*d'));\n * //=> false\n * ```\n * @param {String} `str` The string to match.\n * @param {String|Array} `patterns` Glob pattern to use for matching.\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Boolean} Returns true if any of the patterns matches any part of `str`.\n * @api public\n */\n\nmicromatch.contains = (str, pattern, options) => {\n if (typeof str !== 'string') {\n throw new TypeError(`Expected a string: \"${util.inspect(str)}\"`);\n }\n\n if (Array.isArray(pattern)) {\n return pattern.some(p => micromatch.contains(str, p, options));\n }\n\n if (typeof pattern === 'string') {\n if (isEmptyString(str) || isEmptyString(pattern)) {\n return false;\n }\n\n if (str.includes(pattern) || (str.startsWith('./') && str.slice(2).includes(pattern))) {\n return true;\n }\n }\n\n return micromatch.isMatch(str, pattern, { ...options, contains: true });\n};\n\n/**\n * Filter the keys of the given object with the given `glob` pattern\n * and `options`. Does not attempt to match nested keys. If you need this feature,\n * use [glob-object][] instead.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.matchKeys(object, patterns[, options]);\n *\n * const obj = { aa: 'a', ab: 'b', ac: 'c' };\n * console.log(mm.matchKeys(obj, '*b'));\n * //=> { ab: 'b' }\n * ```\n * @param {Object} `object` The object with keys to filter.\n * @param {String|Array} `patterns` One or more glob patterns to use for matching.\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Object} Returns an object with only keys that match the given patterns.\n * @api public\n */\n\nmicromatch.matchKeys = (obj, patterns, options) => {\n if (!utils.isObject(obj)) {\n throw new TypeError('Expected the first argument to be an object');\n }\n let keys = micromatch(Object.keys(obj), patterns, options);\n let res = {};\n for (let key of keys) res[key] = obj[key];\n return res;\n};\n\n/**\n * Returns true if some of the strings in the given `list` match any of the given glob `patterns`.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.some(list, patterns[, options]);\n *\n * console.log(mm.some(['foo.js', 'bar.js'], ['*.js', '!foo.js']));\n * // true\n * console.log(mm.some(['foo.js'], ['*.js', '!foo.js']));\n * // false\n * ```\n * @param {String|Array} `list` The string or array of strings to test. Returns as soon as the first match is found.\n * @param {String|Array} `patterns` One or more glob patterns to use for matching.\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Boolean} Returns true if any `patterns` matches any of the strings in `list`\n * @api public\n */\n\nmicromatch.some = (list, patterns, options) => {\n let items = [].concat(list);\n\n for (let pattern of [].concat(patterns)) {\n let isMatch = picomatch(String(pattern), options);\n if (items.some(item => isMatch(item))) {\n return true;\n }\n }\n return false;\n};\n\n/**\n * Returns true if every string in the given `list` matches\n * any of the given glob `patterns`.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.every(list, patterns[, options]);\n *\n * console.log(mm.every('foo.js', ['foo.js']));\n * // true\n * console.log(mm.every(['foo.js', 'bar.js'], ['*.js']));\n * // true\n * console.log(mm.every(['foo.js', 'bar.js'], ['*.js', '!foo.js']));\n * // false\n * console.log(mm.every(['foo.js'], ['*.js', '!foo.js']));\n * // false\n * ```\n * @param {String|Array} `list` The string or array of strings to test.\n * @param {String|Array} `patterns` One or more glob patterns to use for matching.\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Boolean} Returns true if all `patterns` matches all of the strings in `list`\n * @api public\n */\n\nmicromatch.every = (list, patterns, options) => {\n let items = [].concat(list);\n\n for (let pattern of [].concat(patterns)) {\n let isMatch = picomatch(String(pattern), options);\n if (!items.every(item => isMatch(item))) {\n return false;\n }\n }\n return true;\n};\n\n/**\n * Returns true if **all** of the given `patterns` match\n * the specified string.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.all(string, patterns[, options]);\n *\n * console.log(mm.all('foo.js', ['foo.js']));\n * // true\n *\n * console.log(mm.all('foo.js', ['*.js', '!foo.js']));\n * // false\n *\n * console.log(mm.all('foo.js', ['*.js', 'foo.js']));\n * // true\n *\n * console.log(mm.all('foo.js', ['*.js', 'f*', '*o*', '*o.js']));\n * // true\n * ```\n * @param {String|Array} `str` The string to test.\n * @param {String|Array} `patterns` One or more glob patterns to use for matching.\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Boolean} Returns true if any patterns match `str`\n * @api public\n */\n\nmicromatch.all = (str, patterns, options) => {\n if (typeof str !== 'string') {\n throw new TypeError(`Expected a string: \"${util.inspect(str)}\"`);\n }\n\n return [].concat(patterns).every(p => picomatch(p, options)(str));\n};\n\n/**\n * Returns an array of matches captured by `pattern` in `string, or `null` if the pattern did not match.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.capture(pattern, string[, options]);\n *\n * console.log(mm.capture('test/*.js', 'test/foo.js'));\n * //=> ['foo']\n * console.log(mm.capture('test/*.js', 'foo/bar.css'));\n * //=> null\n * ```\n * @param {String} `glob` Glob pattern to use for matching.\n * @param {String} `input` String to match\n * @param {Object} `options` See available [options](#options) for changing how matches are performed\n * @return {Array|null} Returns an array of captures if the input matches the glob pattern, otherwise `null`.\n * @api public\n */\n\nmicromatch.capture = (glob, input, options) => {\n let posix = utils.isWindows(options);\n let regex = picomatch.makeRe(String(glob), { ...options, capture: true });\n let match = regex.exec(posix ? utils.toPosixSlashes(input) : input);\n\n if (match) {\n return match.slice(1).map(v => v === void 0 ? '' : v);\n }\n};\n\n/**\n * Create a regular expression from the given glob `pattern`.\n *\n * ```js\n * const mm = require('micromatch');\n * // mm.makeRe(pattern[, options]);\n *\n * console.log(mm.makeRe('*.js'));\n * //=> /^(?:(\\.[\\\\\\/])?(?!\\.)(?=.)[^\\/]*?\\.js)$/\n * ```\n * @param {String} `pattern` A glob pattern to convert to regex.\n * @param {Object} `options`\n * @return {RegExp} Returns a regex created from the given pattern.\n * @api public\n */\n\nmicromatch.makeRe = (...args) => picomatch.makeRe(...args);\n\n/**\n * Scan a glob pattern to separate the pattern into segments. Used\n * by the [split](#split) method.\n *\n * ```js\n * const mm = require('micromatch');\n * const state = mm.scan(pattern[, options]);\n * ```\n * @param {String} `pattern`\n * @param {Object} `options`\n * @return {Object} Returns an object with\n * @api public\n */\n\nmicromatch.scan = (...args) => picomatch.scan(...args);\n\n/**\n * Parse a glob pattern to create the source string for a regular\n * expression.\n *\n * ```js\n * const mm = require('micromatch');\n * const state = mm.parse(pattern[, options]);\n * ```\n * @param {String} `glob`\n * @param {Object} `options`\n * @return {Object} Returns an object with useful properties and output to be used as regex source string.\n * @api public\n */\n\nmicromatch.parse = (patterns, options) => {\n let res = [];\n for (let pattern of [].concat(patterns || [])) {\n for (let str of braces(String(pattern), options)) {\n res.push(picomatch.parse(str, options));\n }\n }\n return res;\n};\n\n/**\n * Process the given brace `pattern`.\n *\n * ```js\n * const { braces } = require('micromatch');\n * console.log(braces('foo/{a,b,c}/bar'));\n * //=> [ 'foo/(a|b|c)/bar' ]\n *\n * console.log(braces('foo/{a,b,c}/bar', { expand: true }));\n * //=> [ 'foo/a/bar', 'foo/b/bar', 'foo/c/bar' ]\n * ```\n * @param {String} `pattern` String with brace pattern to process.\n * @param {Object} `options` Any [options](#options) to change how expansion is performed. See the [braces][] library for all available options.\n * @return {Array}\n * @api public\n */\n\nmicromatch.braces = (pattern, options) => {\n if (typeof pattern !== 'string') throw new TypeError('Expected a string');\n if ((options && options.nobrace === true) || !hasBraces(pattern)) {\n return [pattern];\n }\n return braces(pattern, options);\n};\n\n/**\n * Expand braces\n */\n\nmicromatch.braceExpand = (pattern, options) => {\n if (typeof pattern !== 'string') throw new TypeError('Expected a string');\n return micromatch.braces(pattern, { ...options, expand: true });\n};\n\n/**\n * Expose micromatch\n */\n\n// exposed for tests\nmicromatch.hasBraces = hasBraces;\nmodule.exports = micromatch;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAbsolute = exports.partitionAbsoluteAndRelative = exports.removeDuplicateSlashes = exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.isPatternRelatedToParentDirectory = exports.getPatternsOutsideCurrentDirectory = exports.getPatternsInsideCurrentDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0;\nconst path = require(\"path\");\nconst globParent = require(\"glob-parent\");\nconst micromatch = require(\"micromatch\");\nconst GLOBSTAR = '**';\nconst ESCAPE_SYMBOL = '\\\\';\nconst COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/;\nconst REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\\[[^[]*]/;\nconst REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\\([^(]*\\|[^|]*\\)/;\nconst GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\\([^(]*\\)/;\nconst BRACE_EXPANSION_SEPARATORS_RE = /,|\\.\\./;\n/**\n * Matches a sequence of two or more consecutive slashes, excluding the first two slashes at the beginning of the string.\n * The latter is due to the presence of the device path at the beginning of the UNC path.\n */\nconst DOUBLE_SLASH_RE = /(?!^)\\/{2,}/g;\nfunction isStaticPattern(pattern, options = {}) {\n return !isDynamicPattern(pattern, options);\n}\nexports.isStaticPattern = isStaticPattern;\nfunction isDynamicPattern(pattern, options = {}) {\n /**\n * A special case with an empty string is necessary for matching patterns that start with a forward slash.\n * An empty string cannot be a dynamic pattern.\n * For example, the pattern `/lib/*` will be spread into parts: '', 'lib', '*'.\n */\n if (pattern === '') {\n return false;\n }\n /**\n * When the `caseSensitiveMatch` option is disabled, all patterns must be marked as dynamic, because we cannot check\n * filepath directly (without read directory).\n */\n if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) {\n return true;\n }\n if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) {\n return true;\n }\n if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) {\n return true;\n }\n if (options.braceExpansion !== false && hasBraceExpansion(pattern)) {\n return true;\n }\n return false;\n}\nexports.isDynamicPattern = isDynamicPattern;\nfunction hasBraceExpansion(pattern) {\n const openingBraceIndex = pattern.indexOf('{');\n if (openingBraceIndex === -1) {\n return false;\n }\n const closingBraceIndex = pattern.indexOf('}', openingBraceIndex + 1);\n if (closingBraceIndex === -1) {\n return false;\n }\n const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex);\n return BRACE_EXPANSION_SEPARATORS_RE.test(braceContent);\n}\nfunction convertToPositivePattern(pattern) {\n return isNegativePattern(pattern) ? pattern.slice(1) : pattern;\n}\nexports.convertToPositivePattern = convertToPositivePattern;\nfunction convertToNegativePattern(pattern) {\n return '!' + pattern;\n}\nexports.convertToNegativePattern = convertToNegativePattern;\nfunction isNegativePattern(pattern) {\n return pattern.startsWith('!') && pattern[1] !== '(';\n}\nexports.isNegativePattern = isNegativePattern;\nfunction isPositivePattern(pattern) {\n return !isNegativePattern(pattern);\n}\nexports.isPositivePattern = isPositivePattern;\nfunction getNegativePatterns(patterns) {\n return patterns.filter(isNegativePattern);\n}\nexports.getNegativePatterns = getNegativePatterns;\nfunction getPositivePatterns(patterns) {\n return patterns.filter(isPositivePattern);\n}\nexports.getPositivePatterns = getPositivePatterns;\n/**\n * Returns patterns that can be applied inside the current directory.\n *\n * @example\n * // ['./*', '*', 'a/*']\n * getPatternsInsideCurrentDirectory(['./*', '*', 'a/*', '../*', './../*'])\n */\nfunction getPatternsInsideCurrentDirectory(patterns) {\n return patterns.filter((pattern) => !isPatternRelatedToParentDirectory(pattern));\n}\nexports.getPatternsInsideCurrentDirectory = getPatternsInsideCurrentDirectory;\n/**\n * Returns patterns to be expanded relative to (outside) the current directory.\n *\n * @example\n * // ['../*', './../*']\n * getPatternsInsideCurrentDirectory(['./*', '*', 'a/*', '../*', './../*'])\n */\nfunction getPatternsOutsideCurrentDirectory(patterns) {\n return patterns.filter(isPatternRelatedToParentDirectory);\n}\nexports.getPatternsOutsideCurrentDirectory = getPatternsOutsideCurrentDirectory;\nfunction isPatternRelatedToParentDirectory(pattern) {\n return pattern.startsWith('..') || pattern.startsWith('./..');\n}\nexports.isPatternRelatedToParentDirectory = isPatternRelatedToParentDirectory;\nfunction getBaseDirectory(pattern) {\n return globParent(pattern, { flipBackslashes: false });\n}\nexports.getBaseDirectory = getBaseDirectory;\nfunction hasGlobStar(pattern) {\n return pattern.includes(GLOBSTAR);\n}\nexports.hasGlobStar = hasGlobStar;\nfunction endsWithSlashGlobStar(pattern) {\n return pattern.endsWith('/' + GLOBSTAR);\n}\nexports.endsWithSlashGlobStar = endsWithSlashGlobStar;\nfunction isAffectDepthOfReadingPattern(pattern) {\n const basename = path.basename(pattern);\n return endsWithSlashGlobStar(pattern) || isStaticPattern(basename);\n}\nexports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern;\nfunction expandPatternsWithBraceExpansion(patterns) {\n return patterns.reduce((collection, pattern) => {\n return collection.concat(expandBraceExpansion(pattern));\n }, []);\n}\nexports.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion;\nfunction expandBraceExpansion(pattern) {\n const patterns = micromatch.braces(pattern, { expand: true, nodupes: true, keepEscaping: true });\n /**\n * Sort the patterns by length so that the same depth patterns are processed side by side.\n * `a/{b,}/{c,}/*` – `['a///*', 'a/b//*', 'a//c/*', 'a/b/c/*']`\n */\n patterns.sort((a, b) => a.length - b.length);\n /**\n * Micromatch can return an empty string in the case of patterns like `{a,}`.\n */\n return patterns.filter((pattern) => pattern !== '');\n}\nexports.expandBraceExpansion = expandBraceExpansion;\nfunction getPatternParts(pattern, options) {\n let { parts } = micromatch.scan(pattern, Object.assign(Object.assign({}, options), { parts: true }));\n /**\n * The scan method returns an empty array in some cases.\n * See micromatch/picomatch#58 for more details.\n */\n if (parts.length === 0) {\n parts = [pattern];\n }\n /**\n * The scan method does not return an empty part for the pattern with a forward slash.\n * This is another part of micromatch/picomatch#58.\n */\n if (parts[0].startsWith('/')) {\n parts[0] = parts[0].slice(1);\n parts.unshift('');\n }\n return parts;\n}\nexports.getPatternParts = getPatternParts;\nfunction makeRe(pattern, options) {\n return micromatch.makeRe(pattern, options);\n}\nexports.makeRe = makeRe;\nfunction convertPatternsToRe(patterns, options) {\n return patterns.map((pattern) => makeRe(pattern, options));\n}\nexports.convertPatternsToRe = convertPatternsToRe;\nfunction matchAny(entry, patternsRe) {\n return patternsRe.some((patternRe) => patternRe.test(entry));\n}\nexports.matchAny = matchAny;\n/**\n * This package only works with forward slashes as a path separator.\n * Because of this, we cannot use the standard `path.normalize` method, because on Windows platform it will use of backslashes.\n */\nfunction removeDuplicateSlashes(pattern) {\n return pattern.replace(DOUBLE_SLASH_RE, '/');\n}\nexports.removeDuplicateSlashes = removeDuplicateSlashes;\nfunction partitionAbsoluteAndRelative(patterns) {\n const absolute = [];\n const relative = [];\n for (const pattern of patterns) {\n if (isAbsolute(pattern)) {\n absolute.push(pattern);\n }\n else {\n relative.push(pattern);\n }\n }\n return [absolute, relative];\n}\nexports.partitionAbsoluteAndRelative = partitionAbsoluteAndRelative;\nfunction isAbsolute(pattern) {\n return path.isAbsolute(pattern);\n}\nexports.isAbsolute = isAbsolute;\n","'use strict'\n/*\n * merge2\n * https://github.com/teambition/merge2\n *\n * Copyright (c) 2014-2020 Teambition\n * Licensed under the MIT license.\n */\nconst Stream = require('stream')\nconst PassThrough = Stream.PassThrough\nconst slice = Array.prototype.slice\n\nmodule.exports = merge2\n\nfunction merge2 () {\n const streamsQueue = []\n const args = slice.call(arguments)\n let merging = false\n let options = args[args.length - 1]\n\n if (options && !Array.isArray(options) && options.pipe == null) {\n args.pop()\n } else {\n options = {}\n }\n\n const doEnd = options.end !== false\n const doPipeError = options.pipeError === true\n if (options.objectMode == null) {\n options.objectMode = true\n }\n if (options.highWaterMark == null) {\n options.highWaterMark = 64 * 1024\n }\n const mergedStream = PassThrough(options)\n\n function addStream () {\n for (let i = 0, len = arguments.length; i < len; i++) {\n streamsQueue.push(pauseStreams(arguments[i], options))\n }\n mergeStream()\n return this\n }\n\n function mergeStream () {\n if (merging) {\n return\n }\n merging = true\n\n let streams = streamsQueue.shift()\n if (!streams) {\n process.nextTick(endStream)\n return\n }\n if (!Array.isArray(streams)) {\n streams = [streams]\n }\n\n let pipesCount = streams.length + 1\n\n function next () {\n if (--pipesCount > 0) {\n return\n }\n merging = false\n mergeStream()\n }\n\n function pipe (stream) {\n function onend () {\n stream.removeListener('merge2UnpipeEnd', onend)\n stream.removeListener('end', onend)\n if (doPipeError) {\n stream.removeListener('error', onerror)\n }\n next()\n }\n function onerror (err) {\n mergedStream.emit('error', err)\n }\n // skip ended stream\n if (stream._readableState.endEmitted) {\n return next()\n }\n\n stream.on('merge2UnpipeEnd', onend)\n stream.on('end', onend)\n\n if (doPipeError) {\n stream.on('error', onerror)\n }\n\n stream.pipe(mergedStream, { end: false })\n // compatible for old stream\n stream.resume()\n }\n\n for (let i = 0; i < streams.length; i++) {\n pipe(streams[i])\n }\n\n next()\n }\n\n function endStream () {\n merging = false\n // emit 'queueDrain' when all streams merged.\n mergedStream.emit('queueDrain')\n if (doEnd) {\n mergedStream.end()\n }\n }\n\n mergedStream.setMaxListeners(0)\n mergedStream.add = addStream\n mergedStream.on('unpipe', function (stream) {\n stream.emit('merge2UnpipeEnd')\n })\n\n if (args.length) {\n addStream.apply(null, args)\n }\n return mergedStream\n}\n\n// check and pause streams for pipe.\nfunction pauseStreams (streams, options) {\n if (!Array.isArray(streams)) {\n // Backwards-compat with old-style streams\n if (!streams._readableState && streams.pipe) {\n streams = streams.pipe(PassThrough(options))\n }\n if (!streams._readableState || !streams.pause || !streams.pipe) {\n throw new Error('Only readable stream can be merged.')\n }\n streams.pause()\n } else {\n for (let i = 0, len = streams.length; i < len; i++) {\n streams[i] = pauseStreams(streams[i], options)\n }\n }\n return streams\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.merge = void 0;\nconst merge2 = require(\"merge2\");\nfunction merge(streams) {\n const mergedStream = merge2(streams);\n streams.forEach((stream) => {\n stream.once('error', (error) => mergedStream.emit('error', error));\n });\n mergedStream.once('close', () => propagateCloseEventToSources(streams));\n mergedStream.once('end', () => propagateCloseEventToSources(streams));\n return mergedStream;\n}\nexports.merge = merge;\nfunction propagateCloseEventToSources(streams) {\n streams.forEach((stream) => stream.emit('close'));\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEmpty = exports.isString = void 0;\nfunction isString(input) {\n return typeof input === 'string';\n}\nexports.isString = isString;\nfunction isEmpty(input) {\n return input === '';\n}\nexports.isEmpty = isEmpty;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.string = exports.stream = exports.pattern = exports.path = exports.fs = exports.errno = exports.array = void 0;\nconst array = require(\"./array\");\nexports.array = array;\nconst errno = require(\"./errno\");\nexports.errno = errno;\nconst fs = require(\"./fs\");\nexports.fs = fs;\nconst path = require(\"./path\");\nexports.path = path;\nconst pattern = require(\"./pattern\");\nexports.pattern = pattern;\nconst stream = require(\"./stream\");\nexports.stream = stream;\nconst string = require(\"./string\");\nexports.string = string;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertPatternGroupToTask = exports.convertPatternGroupsToTasks = exports.groupPatternsByBaseDirectory = exports.getNegativePatternsAsPositive = exports.getPositivePatterns = exports.convertPatternsToTasks = exports.generate = void 0;\nconst utils = require(\"../utils\");\nfunction generate(input, settings) {\n const patterns = processPatterns(input, settings);\n const ignore = processPatterns(settings.ignore, settings);\n const positivePatterns = getPositivePatterns(patterns);\n const negativePatterns = getNegativePatternsAsPositive(patterns, ignore);\n const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings));\n const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings));\n const staticTasks = convertPatternsToTasks(staticPatterns, negativePatterns, /* dynamic */ false);\n const dynamicTasks = convertPatternsToTasks(dynamicPatterns, negativePatterns, /* dynamic */ true);\n return staticTasks.concat(dynamicTasks);\n}\nexports.generate = generate;\nfunction processPatterns(input, settings) {\n let patterns = input;\n /**\n * The original pattern like `{,*,**,a/*}` can lead to problems checking the depth when matching entry\n * and some problems with the micromatch package (see fast-glob issues: #365, #394).\n *\n * To solve this problem, we expand all patterns containing brace expansion. This can lead to a slight slowdown\n * in matching in the case of a large set of patterns after expansion.\n */\n if (settings.braceExpansion) {\n patterns = utils.pattern.expandPatternsWithBraceExpansion(patterns);\n }\n /**\n * If the `baseNameMatch` option is enabled, we must add globstar to patterns, so that they can be used\n * at any nesting level.\n *\n * We do this here, because otherwise we have to complicate the filtering logic. For example, we need to change\n * the pattern in the filter before creating a regular expression. There is no need to change the patterns\n * in the application. Only on the input.\n */\n if (settings.baseNameMatch) {\n patterns = patterns.map((pattern) => pattern.includes('/') ? pattern : `**/${pattern}`);\n }\n /**\n * This method also removes duplicate slashes that may have been in the pattern or formed as a result of expansion.\n */\n return patterns.map((pattern) => utils.pattern.removeDuplicateSlashes(pattern));\n}\n/**\n * Returns tasks grouped by basic pattern directories.\n *\n * Patterns that can be found inside (`./`) and outside (`../`) the current directory are handled separately.\n * This is necessary because directory traversal starts at the base directory and goes deeper.\n */\nfunction convertPatternsToTasks(positive, negative, dynamic) {\n const tasks = [];\n const patternsOutsideCurrentDirectory = utils.pattern.getPatternsOutsideCurrentDirectory(positive);\n const patternsInsideCurrentDirectory = utils.pattern.getPatternsInsideCurrentDirectory(positive);\n const outsideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory);\n const insideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsInsideCurrentDirectory);\n tasks.push(...convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic));\n /*\n * For the sake of reducing future accesses to the file system, we merge all tasks within the current directory\n * into a global task, if at least one pattern refers to the root (`.`). In this case, the global task covers the rest.\n */\n if ('.' in insideCurrentDirectoryGroup) {\n tasks.push(convertPatternGroupToTask('.', patternsInsideCurrentDirectory, negative, dynamic));\n }\n else {\n tasks.push(...convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic));\n }\n return tasks;\n}\nexports.convertPatternsToTasks = convertPatternsToTasks;\nfunction getPositivePatterns(patterns) {\n return utils.pattern.getPositivePatterns(patterns);\n}\nexports.getPositivePatterns = getPositivePatterns;\nfunction getNegativePatternsAsPositive(patterns, ignore) {\n const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore);\n const positive = negative.map(utils.pattern.convertToPositivePattern);\n return positive;\n}\nexports.getNegativePatternsAsPositive = getNegativePatternsAsPositive;\nfunction groupPatternsByBaseDirectory(patterns) {\n const group = {};\n return patterns.reduce((collection, pattern) => {\n const base = utils.pattern.getBaseDirectory(pattern);\n if (base in collection) {\n collection[base].push(pattern);\n }\n else {\n collection[base] = [pattern];\n }\n return collection;\n }, group);\n}\nexports.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory;\nfunction convertPatternGroupsToTasks(positive, negative, dynamic) {\n return Object.keys(positive).map((base) => {\n return convertPatternGroupToTask(base, positive[base], negative, dynamic);\n });\n}\nexports.convertPatternGroupsToTasks = convertPatternGroupsToTasks;\nfunction convertPatternGroupToTask(base, positive, negative, dynamic) {\n return {\n dynamic,\n positive,\n negative,\n base,\n patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern))\n };\n}\nexports.convertPatternGroupToTask = convertPatternGroupToTask;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.read = void 0;\nfunction read(path, settings, callback) {\n settings.fs.lstat(path, (lstatError, lstat) => {\n if (lstatError !== null) {\n callFailureCallback(callback, lstatError);\n return;\n }\n if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {\n callSuccessCallback(callback, lstat);\n return;\n }\n settings.fs.stat(path, (statError, stat) => {\n if (statError !== null) {\n if (settings.throwErrorOnBrokenSymbolicLink) {\n callFailureCallback(callback, statError);\n return;\n }\n callSuccessCallback(callback, lstat);\n return;\n }\n if (settings.markSymbolicLink) {\n stat.isSymbolicLink = () => true;\n }\n callSuccessCallback(callback, stat);\n });\n });\n}\nexports.read = read;\nfunction callFailureCallback(callback, error) {\n callback(error);\n}\nfunction callSuccessCallback(callback, result) {\n callback(null, result);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.read = void 0;\nfunction read(path, settings) {\n const lstat = settings.fs.lstatSync(path);\n if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {\n return lstat;\n }\n try {\n const stat = settings.fs.statSync(path);\n if (settings.markSymbolicLink) {\n stat.isSymbolicLink = () => true;\n }\n return stat;\n }\n catch (error) {\n if (!settings.throwErrorOnBrokenSymbolicLink) {\n return lstat;\n }\n throw error;\n }\n}\nexports.read = read;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0;\nconst fs = require(\"fs\");\nexports.FILE_SYSTEM_ADAPTER = {\n lstat: fs.lstat,\n stat: fs.stat,\n lstatSync: fs.lstatSync,\n statSync: fs.statSync\n};\nfunction createFileSystemAdapter(fsMethods) {\n if (fsMethods === undefined) {\n return exports.FILE_SYSTEM_ADAPTER;\n }\n return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods);\n}\nexports.createFileSystemAdapter = createFileSystemAdapter;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst fs = require(\"./adapters/fs\");\nclass Settings {\n constructor(_options = {}) {\n this._options = _options;\n this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true);\n this.fs = fs.createFileSystemAdapter(this._options.fs);\n this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false);\n this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);\n }\n _getValue(option, value) {\n return option !== null && option !== void 0 ? option : value;\n }\n}\nexports.default = Settings;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.statSync = exports.stat = exports.Settings = void 0;\nconst async = require(\"./providers/async\");\nconst sync = require(\"./providers/sync\");\nconst settings_1 = require(\"./settings\");\nexports.Settings = settings_1.default;\nfunction stat(path, optionsOrSettingsOrCallback, callback) {\n if (typeof optionsOrSettingsOrCallback === 'function') {\n async.read(path, getSettings(), optionsOrSettingsOrCallback);\n return;\n }\n async.read(path, getSettings(optionsOrSettingsOrCallback), callback);\n}\nexports.stat = stat;\nfunction statSync(path, optionsOrSettings) {\n const settings = getSettings(optionsOrSettings);\n return sync.read(path, settings);\n}\nexports.statSync = statSync;\nfunction getSettings(settingsOrOptions = {}) {\n if (settingsOrOptions instanceof settings_1.default) {\n return settingsOrOptions;\n }\n return new settings_1.default(settingsOrOptions);\n}\n","/*! queue-microtask. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\nlet promise\n\nmodule.exports = typeof queueMicrotask === 'function'\n ? queueMicrotask.bind(typeof window !== 'undefined' ? window : global)\n // reuse resolved promise, and allocate it lazily\n : cb => (promise || (promise = Promise.resolve()))\n .then(cb)\n .catch(err => setTimeout(() => { throw err }, 0))\n","/*! run-parallel. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\nmodule.exports = runParallel\n\nconst queueMicrotask = require('queue-microtask')\n\nfunction runParallel (tasks, cb) {\n let results, pending, keys\n let isSync = true\n\n if (Array.isArray(tasks)) {\n results = []\n pending = tasks.length\n } else {\n keys = Object.keys(tasks)\n results = {}\n pending = keys.length\n }\n\n function done (err) {\n function end () {\n if (cb) cb(err, results)\n cb = null\n }\n if (isSync) queueMicrotask(end)\n else end()\n }\n\n function each (i, err, result) {\n results[i] = result\n if (--pending === 0 || err) {\n done(err)\n }\n }\n\n if (!pending) {\n // empty\n done(null)\n } else if (keys) {\n // object\n keys.forEach(function (key) {\n tasks[key](function (err, result) { each(key, err, result) })\n })\n } else {\n // array\n tasks.forEach(function (task, i) {\n task(function (err, result) { each(i, err, result) })\n })\n }\n\n isSync = false\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0;\nconst NODE_PROCESS_VERSION_PARTS = process.versions.node.split('.');\nif (NODE_PROCESS_VERSION_PARTS[0] === undefined || NODE_PROCESS_VERSION_PARTS[1] === undefined) {\n throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);\n}\nconst MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10);\nconst MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10);\nconst SUPPORTED_MAJOR_VERSION = 10;\nconst SUPPORTED_MINOR_VERSION = 10;\nconst IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION;\nconst IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION;\n/**\n * IS `true` for Node.js 10.10 and greater.\n */\nexports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createDirentFromStats = void 0;\nclass DirentFromStats {\n constructor(name, stats) {\n this.name = name;\n this.isBlockDevice = stats.isBlockDevice.bind(stats);\n this.isCharacterDevice = stats.isCharacterDevice.bind(stats);\n this.isDirectory = stats.isDirectory.bind(stats);\n this.isFIFO = stats.isFIFO.bind(stats);\n this.isFile = stats.isFile.bind(stats);\n this.isSocket = stats.isSocket.bind(stats);\n this.isSymbolicLink = stats.isSymbolicLink.bind(stats);\n }\n}\nfunction createDirentFromStats(name, stats) {\n return new DirentFromStats(name, stats);\n}\nexports.createDirentFromStats = createDirentFromStats;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fs = void 0;\nconst fs = require(\"./fs\");\nexports.fs = fs;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.joinPathSegments = void 0;\nfunction joinPathSegments(a, b, separator) {\n /**\n * The correct handling of cases when the first segment is a root (`/`, `C:/`) or UNC path (`//?/C:/`).\n */\n if (a.endsWith(separator)) {\n return a + b;\n }\n return a + separator + b;\n}\nexports.joinPathSegments = joinPathSegments;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.readdir = exports.readdirWithFileTypes = exports.read = void 0;\nconst fsStat = require(\"@nodelib/fs.stat\");\nconst rpl = require(\"run-parallel\");\nconst constants_1 = require(\"../constants\");\nconst utils = require(\"../utils\");\nconst common = require(\"./common\");\nfunction read(directory, settings, callback) {\n if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {\n readdirWithFileTypes(directory, settings, callback);\n return;\n }\n readdir(directory, settings, callback);\n}\nexports.read = read;\nfunction readdirWithFileTypes(directory, settings, callback) {\n settings.fs.readdir(directory, { withFileTypes: true }, (readdirError, dirents) => {\n if (readdirError !== null) {\n callFailureCallback(callback, readdirError);\n return;\n }\n const entries = dirents.map((dirent) => ({\n dirent,\n name: dirent.name,\n path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)\n }));\n if (!settings.followSymbolicLinks) {\n callSuccessCallback(callback, entries);\n return;\n }\n const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings));\n rpl(tasks, (rplError, rplEntries) => {\n if (rplError !== null) {\n callFailureCallback(callback, rplError);\n return;\n }\n callSuccessCallback(callback, rplEntries);\n });\n });\n}\nexports.readdirWithFileTypes = readdirWithFileTypes;\nfunction makeRplTaskEntry(entry, settings) {\n return (done) => {\n if (!entry.dirent.isSymbolicLink()) {\n done(null, entry);\n return;\n }\n settings.fs.stat(entry.path, (statError, stats) => {\n if (statError !== null) {\n if (settings.throwErrorOnBrokenSymbolicLink) {\n done(statError);\n return;\n }\n done(null, entry);\n return;\n }\n entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);\n done(null, entry);\n });\n };\n}\nfunction readdir(directory, settings, callback) {\n settings.fs.readdir(directory, (readdirError, names) => {\n if (readdirError !== null) {\n callFailureCallback(callback, readdirError);\n return;\n }\n const tasks = names.map((name) => {\n const path = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);\n return (done) => {\n fsStat.stat(path, settings.fsStatSettings, (error, stats) => {\n if (error !== null) {\n done(error);\n return;\n }\n const entry = {\n name,\n path,\n dirent: utils.fs.createDirentFromStats(name, stats)\n };\n if (settings.stats) {\n entry.stats = stats;\n }\n done(null, entry);\n });\n };\n });\n rpl(tasks, (rplError, entries) => {\n if (rplError !== null) {\n callFailureCallback(callback, rplError);\n return;\n }\n callSuccessCallback(callback, entries);\n });\n });\n}\nexports.readdir = readdir;\nfunction callFailureCallback(callback, error) {\n callback(error);\n}\nfunction callSuccessCallback(callback, result) {\n callback(null, result);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.readdir = exports.readdirWithFileTypes = exports.read = void 0;\nconst fsStat = require(\"@nodelib/fs.stat\");\nconst constants_1 = require(\"../constants\");\nconst utils = require(\"../utils\");\nconst common = require(\"./common\");\nfunction read(directory, settings) {\n if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {\n return readdirWithFileTypes(directory, settings);\n }\n return readdir(directory, settings);\n}\nexports.read = read;\nfunction readdirWithFileTypes(directory, settings) {\n const dirents = settings.fs.readdirSync(directory, { withFileTypes: true });\n return dirents.map((dirent) => {\n const entry = {\n dirent,\n name: dirent.name,\n path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)\n };\n if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) {\n try {\n const stats = settings.fs.statSync(entry.path);\n entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);\n }\n catch (error) {\n if (settings.throwErrorOnBrokenSymbolicLink) {\n throw error;\n }\n }\n }\n return entry;\n });\n}\nexports.readdirWithFileTypes = readdirWithFileTypes;\nfunction readdir(directory, settings) {\n const names = settings.fs.readdirSync(directory);\n return names.map((name) => {\n const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);\n const stats = fsStat.statSync(entryPath, settings.fsStatSettings);\n const entry = {\n name,\n path: entryPath,\n dirent: utils.fs.createDirentFromStats(name, stats)\n };\n if (settings.stats) {\n entry.stats = stats;\n }\n return entry;\n });\n}\nexports.readdir = readdir;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0;\nconst fs = require(\"fs\");\nexports.FILE_SYSTEM_ADAPTER = {\n lstat: fs.lstat,\n stat: fs.stat,\n lstatSync: fs.lstatSync,\n statSync: fs.statSync,\n readdir: fs.readdir,\n readdirSync: fs.readdirSync\n};\nfunction createFileSystemAdapter(fsMethods) {\n if (fsMethods === undefined) {\n return exports.FILE_SYSTEM_ADAPTER;\n }\n return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods);\n}\nexports.createFileSystemAdapter = createFileSystemAdapter;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst path = require(\"path\");\nconst fsStat = require(\"@nodelib/fs.stat\");\nconst fs = require(\"./adapters/fs\");\nclass Settings {\n constructor(_options = {}) {\n this._options = _options;\n this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);\n this.fs = fs.createFileSystemAdapter(this._options.fs);\n this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep);\n this.stats = this._getValue(this._options.stats, false);\n this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);\n this.fsStatSettings = new fsStat.Settings({\n followSymbolicLink: this.followSymbolicLinks,\n fs: this.fs,\n throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink\n });\n }\n _getValue(option, value) {\n return option !== null && option !== void 0 ? option : value;\n }\n}\nexports.default = Settings;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Settings = exports.scandirSync = exports.scandir = void 0;\nconst async = require(\"./providers/async\");\nconst sync = require(\"./providers/sync\");\nconst settings_1 = require(\"./settings\");\nexports.Settings = settings_1.default;\nfunction scandir(path, optionsOrSettingsOrCallback, callback) {\n if (typeof optionsOrSettingsOrCallback === 'function') {\n async.read(path, getSettings(), optionsOrSettingsOrCallback);\n return;\n }\n async.read(path, getSettings(optionsOrSettingsOrCallback), callback);\n}\nexports.scandir = scandir;\nfunction scandirSync(path, optionsOrSettings) {\n const settings = getSettings(optionsOrSettings);\n return sync.read(path, settings);\n}\nexports.scandirSync = scandirSync;\nfunction getSettings(settingsOrOptions = {}) {\n if (settingsOrOptions instanceof settings_1.default) {\n return settingsOrOptions;\n }\n return new settings_1.default(settingsOrOptions);\n}\n","'use strict'\n\nfunction reusify (Constructor) {\n var head = new Constructor()\n var tail = head\n\n function get () {\n var current = head\n\n if (current.next) {\n head = current.next\n } else {\n head = new Constructor()\n tail = head\n }\n\n current.next = null\n\n return current\n }\n\n function release (obj) {\n tail.next = obj\n tail = obj\n }\n\n return {\n get: get,\n release: release\n }\n}\n\nmodule.exports = reusify\n","'use strict'\n\n/* eslint-disable no-var */\n\nvar reusify = require('reusify')\n\nfunction fastqueue (context, worker, _concurrency) {\n if (typeof context === 'function') {\n _concurrency = worker\n worker = context\n context = null\n }\n\n if (!(_concurrency >= 1)) {\n throw new Error('fastqueue concurrency must be equal to or greater than 1')\n }\n\n var cache = reusify(Task)\n var queueHead = null\n var queueTail = null\n var _running = 0\n var errorHandler = null\n\n var self = {\n push: push,\n drain: noop,\n saturated: noop,\n pause: pause,\n paused: false,\n\n get concurrency () {\n return _concurrency\n },\n set concurrency (value) {\n if (!(value >= 1)) {\n throw new Error('fastqueue concurrency must be equal to or greater than 1')\n }\n _concurrency = value\n\n if (self.paused) return\n for (; queueHead && _running < _concurrency;) {\n _running++\n release()\n }\n },\n\n running: running,\n resume: resume,\n idle: idle,\n length: length,\n getQueue: getQueue,\n unshift: unshift,\n empty: noop,\n kill: kill,\n killAndDrain: killAndDrain,\n error: error\n }\n\n return self\n\n function running () {\n return _running\n }\n\n function pause () {\n self.paused = true\n }\n\n function length () {\n var current = queueHead\n var counter = 0\n\n while (current) {\n current = current.next\n counter++\n }\n\n return counter\n }\n\n function getQueue () {\n var current = queueHead\n var tasks = []\n\n while (current) {\n tasks.push(current.value)\n current = current.next\n }\n\n return tasks\n }\n\n function resume () {\n if (!self.paused) return\n self.paused = false\n if (queueHead === null) {\n _running++\n release()\n return\n }\n for (; queueHead && _running < _concurrency;) {\n _running++\n release()\n }\n }\n\n function idle () {\n return _running === 0 && self.length() === 0\n }\n\n function push (value, done) {\n var current = cache.get()\n\n current.context = context\n current.release = release\n current.value = value\n current.callback = done || noop\n current.errorHandler = errorHandler\n\n if (_running >= _concurrency || self.paused) {\n if (queueTail) {\n queueTail.next = current\n queueTail = current\n } else {\n queueHead = current\n queueTail = current\n self.saturated()\n }\n } else {\n _running++\n worker.call(context, current.value, current.worked)\n }\n }\n\n function unshift (value, done) {\n var current = cache.get()\n\n current.context = context\n current.release = release\n current.value = value\n current.callback = done || noop\n current.errorHandler = errorHandler\n\n if (_running >= _concurrency || self.paused) {\n if (queueHead) {\n current.next = queueHead\n queueHead = current\n } else {\n queueHead = current\n queueTail = current\n self.saturated()\n }\n } else {\n _running++\n worker.call(context, current.value, current.worked)\n }\n }\n\n function release (holder) {\n if (holder) {\n cache.release(holder)\n }\n var next = queueHead\n if (next && _running <= _concurrency) {\n if (!self.paused) {\n if (queueTail === queueHead) {\n queueTail = null\n }\n queueHead = next.next\n next.next = null\n worker.call(context, next.value, next.worked)\n if (queueTail === null) {\n self.empty()\n }\n } else {\n _running--\n }\n } else if (--_running === 0) {\n self.drain()\n }\n }\n\n function kill () {\n queueHead = null\n queueTail = null\n self.drain = noop\n }\n\n function killAndDrain () {\n queueHead = null\n queueTail = null\n self.drain()\n self.drain = noop\n }\n\n function error (handler) {\n errorHandler = handler\n }\n}\n\nfunction noop () {}\n\nfunction Task () {\n this.value = null\n this.callback = noop\n this.next = null\n this.release = noop\n this.context = null\n this.errorHandler = null\n\n var self = this\n\n this.worked = function worked (err, result) {\n var callback = self.callback\n var errorHandler = self.errorHandler\n var val = self.value\n self.value = null\n self.callback = noop\n if (self.errorHandler) {\n errorHandler(err, val)\n }\n callback.call(self.context, err, result)\n self.release(self)\n }\n}\n\nfunction queueAsPromised (context, worker, _concurrency) {\n if (typeof context === 'function') {\n _concurrency = worker\n worker = context\n context = null\n }\n\n function asyncWrapper (arg, cb) {\n worker.call(this, arg)\n .then(function (res) {\n cb(null, res)\n }, cb)\n }\n\n var queue = fastqueue(context, asyncWrapper, _concurrency)\n\n var pushCb = queue.push\n var unshiftCb = queue.unshift\n\n queue.push = push\n queue.unshift = unshift\n queue.drained = drained\n\n return queue\n\n function push (value) {\n var p = new Promise(function (resolve, reject) {\n pushCb(value, function (err, result) {\n if (err) {\n reject(err)\n return\n }\n resolve(result)\n })\n })\n\n // Let's fork the promise chain to\n // make the error bubble up to the user but\n // not lead to a unhandledRejection\n p.catch(noop)\n\n return p\n }\n\n function unshift (value) {\n var p = new Promise(function (resolve, reject) {\n unshiftCb(value, function (err, result) {\n if (err) {\n reject(err)\n return\n }\n resolve(result)\n })\n })\n\n // Let's fork the promise chain to\n // make the error bubble up to the user but\n // not lead to a unhandledRejection\n p.catch(noop)\n\n return p\n }\n\n function drained () {\n var p = new Promise(function (resolve) {\n process.nextTick(function () {\n if (queue.idle()) {\n resolve()\n } else {\n var previousDrain = queue.drain\n queue.drain = function () {\n if (typeof previousDrain === 'function') previousDrain()\n resolve()\n queue.drain = previousDrain\n }\n }\n })\n })\n\n return p\n }\n}\n\nmodule.exports = fastqueue\nmodule.exports.promise = queueAsPromised\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.joinPathSegments = exports.replacePathSegmentSeparator = exports.isAppliedFilter = exports.isFatalError = void 0;\nfunction isFatalError(settings, error) {\n if (settings.errorFilter === null) {\n return true;\n }\n return !settings.errorFilter(error);\n}\nexports.isFatalError = isFatalError;\nfunction isAppliedFilter(filter, value) {\n return filter === null || filter(value);\n}\nexports.isAppliedFilter = isAppliedFilter;\nfunction replacePathSegmentSeparator(filepath, separator) {\n return filepath.split(/[/\\\\]/).join(separator);\n}\nexports.replacePathSegmentSeparator = replacePathSegmentSeparator;\nfunction joinPathSegments(a, b, separator) {\n if (a === '') {\n return b;\n }\n /**\n * The correct handling of cases when the first segment is a root (`/`, `C:/`) or UNC path (`//?/C:/`).\n */\n if (a.endsWith(separator)) {\n return a + b;\n }\n return a + separator + b;\n}\nexports.joinPathSegments = joinPathSegments;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst common = require(\"./common\");\nclass Reader {\n constructor(_root, _settings) {\n this._root = _root;\n this._settings = _settings;\n this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator);\n }\n}\nexports.default = Reader;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst events_1 = require(\"events\");\nconst fsScandir = require(\"@nodelib/fs.scandir\");\nconst fastq = require(\"fastq\");\nconst common = require(\"./common\");\nconst reader_1 = require(\"./reader\");\nclass AsyncReader extends reader_1.default {\n constructor(_root, _settings) {\n super(_root, _settings);\n this._settings = _settings;\n this._scandir = fsScandir.scandir;\n this._emitter = new events_1.EventEmitter();\n this._queue = fastq(this._worker.bind(this), this._settings.concurrency);\n this._isFatalError = false;\n this._isDestroyed = false;\n this._queue.drain = () => {\n if (!this._isFatalError) {\n this._emitter.emit('end');\n }\n };\n }\n read() {\n this._isFatalError = false;\n this._isDestroyed = false;\n setImmediate(() => {\n this._pushToQueue(this._root, this._settings.basePath);\n });\n return this._emitter;\n }\n get isDestroyed() {\n return this._isDestroyed;\n }\n destroy() {\n if (this._isDestroyed) {\n throw new Error('The reader is already destroyed');\n }\n this._isDestroyed = true;\n this._queue.killAndDrain();\n }\n onEntry(callback) {\n this._emitter.on('entry', callback);\n }\n onError(callback) {\n this._emitter.once('error', callback);\n }\n onEnd(callback) {\n this._emitter.once('end', callback);\n }\n _pushToQueue(directory, base) {\n const queueItem = { directory, base };\n this._queue.push(queueItem, (error) => {\n if (error !== null) {\n this._handleError(error);\n }\n });\n }\n _worker(item, done) {\n this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => {\n if (error !== null) {\n done(error, undefined);\n return;\n }\n for (const entry of entries) {\n this._handleEntry(entry, item.base);\n }\n done(null, undefined);\n });\n }\n _handleError(error) {\n if (this._isDestroyed || !common.isFatalError(this._settings, error)) {\n return;\n }\n this._isFatalError = true;\n this._isDestroyed = true;\n this._emitter.emit('error', error);\n }\n _handleEntry(entry, base) {\n if (this._isDestroyed || this._isFatalError) {\n return;\n }\n const fullpath = entry.path;\n if (base !== undefined) {\n entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);\n }\n if (common.isAppliedFilter(this._settings.entryFilter, entry)) {\n this._emitEntry(entry);\n }\n if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {\n this._pushToQueue(fullpath, base === undefined ? undefined : entry.path);\n }\n }\n _emitEntry(entry) {\n this._emitter.emit('entry', entry);\n }\n}\nexports.default = AsyncReader;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst async_1 = require(\"../readers/async\");\nclass AsyncProvider {\n constructor(_root, _settings) {\n this._root = _root;\n this._settings = _settings;\n this._reader = new async_1.default(this._root, this._settings);\n this._storage = [];\n }\n read(callback) {\n this._reader.onError((error) => {\n callFailureCallback(callback, error);\n });\n this._reader.onEntry((entry) => {\n this._storage.push(entry);\n });\n this._reader.onEnd(() => {\n callSuccessCallback(callback, this._storage);\n });\n this._reader.read();\n }\n}\nexports.default = AsyncProvider;\nfunction callFailureCallback(callback, error) {\n callback(error);\n}\nfunction callSuccessCallback(callback, entries) {\n callback(null, entries);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst stream_1 = require(\"stream\");\nconst async_1 = require(\"../readers/async\");\nclass StreamProvider {\n constructor(_root, _settings) {\n this._root = _root;\n this._settings = _settings;\n this._reader = new async_1.default(this._root, this._settings);\n this._stream = new stream_1.Readable({\n objectMode: true,\n read: () => { },\n destroy: () => {\n if (!this._reader.isDestroyed) {\n this._reader.destroy();\n }\n }\n });\n }\n read() {\n this._reader.onError((error) => {\n this._stream.emit('error', error);\n });\n this._reader.onEntry((entry) => {\n this._stream.push(entry);\n });\n this._reader.onEnd(() => {\n this._stream.push(null);\n });\n this._reader.read();\n return this._stream;\n }\n}\nexports.default = StreamProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst fsScandir = require(\"@nodelib/fs.scandir\");\nconst common = require(\"./common\");\nconst reader_1 = require(\"./reader\");\nclass SyncReader extends reader_1.default {\n constructor() {\n super(...arguments);\n this._scandir = fsScandir.scandirSync;\n this._storage = [];\n this._queue = new Set();\n }\n read() {\n this._pushToQueue(this._root, this._settings.basePath);\n this._handleQueue();\n return this._storage;\n }\n _pushToQueue(directory, base) {\n this._queue.add({ directory, base });\n }\n _handleQueue() {\n for (const item of this._queue.values()) {\n this._handleDirectory(item.directory, item.base);\n }\n }\n _handleDirectory(directory, base) {\n try {\n const entries = this._scandir(directory, this._settings.fsScandirSettings);\n for (const entry of entries) {\n this._handleEntry(entry, base);\n }\n }\n catch (error) {\n this._handleError(error);\n }\n }\n _handleError(error) {\n if (!common.isFatalError(this._settings, error)) {\n return;\n }\n throw error;\n }\n _handleEntry(entry, base) {\n const fullpath = entry.path;\n if (base !== undefined) {\n entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);\n }\n if (common.isAppliedFilter(this._settings.entryFilter, entry)) {\n this._pushToStorage(entry);\n }\n if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {\n this._pushToQueue(fullpath, base === undefined ? undefined : entry.path);\n }\n }\n _pushToStorage(entry) {\n this._storage.push(entry);\n }\n}\nexports.default = SyncReader;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst sync_1 = require(\"../readers/sync\");\nclass SyncProvider {\n constructor(_root, _settings) {\n this._root = _root;\n this._settings = _settings;\n this._reader = new sync_1.default(this._root, this._settings);\n }\n read() {\n return this._reader.read();\n }\n}\nexports.default = SyncProvider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst path = require(\"path\");\nconst fsScandir = require(\"@nodelib/fs.scandir\");\nclass Settings {\n constructor(_options = {}) {\n this._options = _options;\n this.basePath = this._getValue(this._options.basePath, undefined);\n this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY);\n this.deepFilter = this._getValue(this._options.deepFilter, null);\n this.entryFilter = this._getValue(this._options.entryFilter, null);\n this.errorFilter = this._getValue(this._options.errorFilter, null);\n this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep);\n this.fsScandirSettings = new fsScandir.Settings({\n followSymbolicLinks: this._options.followSymbolicLinks,\n fs: this._options.fs,\n pathSegmentSeparator: this._options.pathSegmentSeparator,\n stats: this._options.stats,\n throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink\n });\n }\n _getValue(option, value) {\n return option !== null && option !== void 0 ? option : value;\n }\n}\nexports.default = Settings;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Settings = exports.walkStream = exports.walkSync = exports.walk = void 0;\nconst async_1 = require(\"./providers/async\");\nconst stream_1 = require(\"./providers/stream\");\nconst sync_1 = require(\"./providers/sync\");\nconst settings_1 = require(\"./settings\");\nexports.Settings = settings_1.default;\nfunction walk(directory, optionsOrSettingsOrCallback, callback) {\n if (typeof optionsOrSettingsOrCallback === 'function') {\n new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback);\n return;\n }\n new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback);\n}\nexports.walk = walk;\nfunction walkSync(directory, optionsOrSettings) {\n const settings = getSettings(optionsOrSettings);\n const provider = new sync_1.default(directory, settings);\n return provider.read();\n}\nexports.walkSync = walkSync;\nfunction walkStream(directory, optionsOrSettings) {\n const settings = getSettings(optionsOrSettings);\n const provider = new stream_1.default(directory, settings);\n return provider.read();\n}\nexports.walkStream = walkStream;\nfunction getSettings(settingsOrOptions = {}) {\n if (settingsOrOptions instanceof settings_1.default) {\n return settingsOrOptions;\n }\n return new settings_1.default(settingsOrOptions);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst path = require(\"path\");\nconst fsStat = require(\"@nodelib/fs.stat\");\nconst utils = require(\"../utils\");\nclass Reader {\n constructor(_settings) {\n this._settings = _settings;\n this._fsStatSettings = new fsStat.Settings({\n followSymbolicLink: this._settings.followSymbolicLinks,\n fs: this._settings.fs,\n throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks\n });\n }\n _getFullEntryPath(filepath) {\n return path.resolve(this._settings.cwd, filepath);\n }\n _makeEntry(stats, pattern) {\n const entry = {\n name: pattern,\n path: pattern,\n dirent: utils.fs.createDirentFromStats(pattern, stats)\n };\n if (this._settings.stats) {\n entry.stats = stats;\n }\n return entry;\n }\n _isFatalError(error) {\n return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors;\n }\n}\nexports.default = Reader;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst stream_1 = require(\"stream\");\nconst fsStat = require(\"@nodelib/fs.stat\");\nconst fsWalk = require(\"@nodelib/fs.walk\");\nconst reader_1 = require(\"./reader\");\nclass ReaderStream extends reader_1.default {\n constructor() {\n super(...arguments);\n this._walkStream = fsWalk.walkStream;\n this._stat = fsStat.stat;\n }\n dynamic(root, options) {\n return this._walkStream(root, options);\n }\n static(patterns, options) {\n const filepaths = patterns.map(this._getFullEntryPath, this);\n const stream = new stream_1.PassThrough({ objectMode: true });\n stream._write = (index, _enc, done) => {\n return this._getEntry(filepaths[index], patterns[index], options)\n .then((entry) => {\n if (entry !== null && options.entryFilter(entry)) {\n stream.push(entry);\n }\n if (index === filepaths.length - 1) {\n stream.end();\n }\n done();\n })\n .catch(done);\n };\n for (let i = 0; i < filepaths.length; i++) {\n stream.write(i);\n }\n return stream;\n }\n _getEntry(filepath, pattern, options) {\n return this._getStat(filepath)\n .then((stats) => this._makeEntry(stats, pattern))\n .catch((error) => {\n if (options.errorFilter(error)) {\n return null;\n }\n throw error;\n });\n }\n _getStat(filepath) {\n return new Promise((resolve, reject) => {\n this._stat(filepath, this._fsStatSettings, (error, stats) => {\n return error === null ? resolve(stats) : reject(error);\n });\n });\n }\n}\nexports.default = ReaderStream;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst fsWalk = require(\"@nodelib/fs.walk\");\nconst reader_1 = require(\"./reader\");\nconst stream_1 = require(\"./stream\");\nclass ReaderAsync extends reader_1.default {\n constructor() {\n super(...arguments);\n this._walkAsync = fsWalk.walk;\n this._readerStream = new stream_1.default(this._settings);\n }\n dynamic(root, options) {\n return new Promise((resolve, reject) => {\n this._walkAsync(root, options, (error, entries) => {\n if (error === null) {\n resolve(entries);\n }\n else {\n reject(error);\n }\n });\n });\n }\n async static(patterns, options) {\n const entries = [];\n const stream = this._readerStream.static(patterns, options);\n // After #235, replace it with an asynchronous iterator.\n return new Promise((resolve, reject) => {\n stream.once('error', reject);\n stream.on('data', (entry) => entries.push(entry));\n stream.once('end', () => resolve(entries));\n });\n }\n}\nexports.default = ReaderAsync;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils = require(\"../../utils\");\nclass Matcher {\n constructor(_patterns, _settings, _micromatchOptions) {\n this._patterns = _patterns;\n this._settings = _settings;\n this._micromatchOptions = _micromatchOptions;\n this._storage = [];\n this._fillStorage();\n }\n _fillStorage() {\n for (const pattern of this._patterns) {\n const segments = this._getPatternSegments(pattern);\n const sections = this._splitSegmentsIntoSections(segments);\n this._storage.push({\n complete: sections.length <= 1,\n pattern,\n segments,\n sections\n });\n }\n }\n _getPatternSegments(pattern) {\n const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions);\n return parts.map((part) => {\n const dynamic = utils.pattern.isDynamicPattern(part, this._settings);\n if (!dynamic) {\n return {\n dynamic: false,\n pattern: part\n };\n }\n return {\n dynamic: true,\n pattern: part,\n patternRe: utils.pattern.makeRe(part, this._micromatchOptions)\n };\n });\n }\n _splitSegmentsIntoSections(segments) {\n return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern));\n }\n}\nexports.default = Matcher;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst matcher_1 = require(\"./matcher\");\nclass PartialMatcher extends matcher_1.default {\n match(filepath) {\n const parts = filepath.split('/');\n const levels = parts.length;\n const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels);\n for (const pattern of patterns) {\n const section = pattern.sections[0];\n /**\n * In this case, the pattern has a globstar and we must read all directories unconditionally,\n * but only if the level has reached the end of the first group.\n *\n * fixtures/{a,b}/**\n * ^ true/false ^ always true\n */\n if (!pattern.complete && levels > section.length) {\n return true;\n }\n const match = parts.every((part, index) => {\n const segment = pattern.segments[index];\n if (segment.dynamic && segment.patternRe.test(part)) {\n return true;\n }\n if (!segment.dynamic && segment.pattern === part) {\n return true;\n }\n return false;\n });\n if (match) {\n return true;\n }\n }\n return false;\n }\n}\nexports.default = PartialMatcher;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils = require(\"../../utils\");\nconst partial_1 = require(\"../matchers/partial\");\nclass DeepFilter {\n constructor(_settings, _micromatchOptions) {\n this._settings = _settings;\n this._micromatchOptions = _micromatchOptions;\n }\n getFilter(basePath, positive, negative) {\n const matcher = this._getMatcher(positive);\n const negativeRe = this._getNegativePatternsRe(negative);\n return (entry) => this._filter(basePath, entry, matcher, negativeRe);\n }\n _getMatcher(patterns) {\n return new partial_1.default(patterns, this._settings, this._micromatchOptions);\n }\n _getNegativePatternsRe(patterns) {\n const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern);\n return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions);\n }\n _filter(basePath, entry, matcher, negativeRe) {\n if (this._isSkippedByDeep(basePath, entry.path)) {\n return false;\n }\n if (this._isSkippedSymbolicLink(entry)) {\n return false;\n }\n const filepath = utils.path.removeLeadingDotSegment(entry.path);\n if (this._isSkippedByPositivePatterns(filepath, matcher)) {\n return false;\n }\n return this._isSkippedByNegativePatterns(filepath, negativeRe);\n }\n _isSkippedByDeep(basePath, entryPath) {\n /**\n * Avoid unnecessary depth calculations when it doesn't matter.\n */\n if (this._settings.deep === Infinity) {\n return false;\n }\n return this._getEntryLevel(basePath, entryPath) >= this._settings.deep;\n }\n _getEntryLevel(basePath, entryPath) {\n const entryPathDepth = entryPath.split('/').length;\n if (basePath === '') {\n return entryPathDepth;\n }\n const basePathDepth = basePath.split('/').length;\n return entryPathDepth - basePathDepth;\n }\n _isSkippedSymbolicLink(entry) {\n return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink();\n }\n _isSkippedByPositivePatterns(entryPath, matcher) {\n return !this._settings.baseNameMatch && !matcher.match(entryPath);\n }\n _isSkippedByNegativePatterns(entryPath, patternsRe) {\n return !utils.pattern.matchAny(entryPath, patternsRe);\n }\n}\nexports.default = DeepFilter;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils = require(\"../../utils\");\nclass EntryFilter {\n constructor(_settings, _micromatchOptions) {\n this._settings = _settings;\n this._micromatchOptions = _micromatchOptions;\n this.index = new Map();\n }\n getFilter(positive, negative) {\n const [absoluteNegative, relativeNegative] = utils.pattern.partitionAbsoluteAndRelative(negative);\n const patterns = {\n positive: {\n all: utils.pattern.convertPatternsToRe(positive, this._micromatchOptions)\n },\n negative: {\n absolute: utils.pattern.convertPatternsToRe(absoluteNegative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true })),\n relative: utils.pattern.convertPatternsToRe(relativeNegative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true }))\n }\n };\n return (entry) => this._filter(entry, patterns);\n }\n _filter(entry, patterns) {\n const filepath = utils.path.removeLeadingDotSegment(entry.path);\n if (this._settings.unique && this._isDuplicateEntry(filepath)) {\n return false;\n }\n if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) {\n return false;\n }\n const isMatched = this._isMatchToPatternsSet(filepath, patterns, entry.dirent.isDirectory());\n if (this._settings.unique && isMatched) {\n this._createIndexRecord(filepath);\n }\n return isMatched;\n }\n _isDuplicateEntry(filepath) {\n return this.index.has(filepath);\n }\n _createIndexRecord(filepath) {\n this.index.set(filepath, undefined);\n }\n _onlyFileFilter(entry) {\n return this._settings.onlyFiles && !entry.dirent.isFile();\n }\n _onlyDirectoryFilter(entry) {\n return this._settings.onlyDirectories && !entry.dirent.isDirectory();\n }\n _isMatchToPatternsSet(filepath, patterns, isDirectory) {\n const isMatched = this._isMatchToPatterns(filepath, patterns.positive.all, isDirectory);\n if (!isMatched) {\n return false;\n }\n const isMatchedByRelativeNegative = this._isMatchToPatterns(filepath, patterns.negative.relative, isDirectory);\n if (isMatchedByRelativeNegative) {\n return false;\n }\n const isMatchedByAbsoluteNegative = this._isMatchToAbsoluteNegative(filepath, patterns.negative.absolute, isDirectory);\n if (isMatchedByAbsoluteNegative) {\n return false;\n }\n return true;\n }\n _isMatchToAbsoluteNegative(filepath, patternsRe, isDirectory) {\n if (patternsRe.length === 0) {\n return false;\n }\n const fullpath = utils.path.makeAbsolute(this._settings.cwd, filepath);\n return this._isMatchToPatterns(fullpath, patternsRe, isDirectory);\n }\n _isMatchToPatterns(filepath, patternsRe, isDirectory) {\n if (patternsRe.length === 0) {\n return false;\n }\n // Trying to match files and directories by patterns.\n const isMatched = utils.pattern.matchAny(filepath, patternsRe);\n // A pattern with a trailling slash can be used for directory matching.\n // To apply such pattern, we need to add a tralling slash to the path.\n if (!isMatched && isDirectory) {\n return utils.pattern.matchAny(filepath + '/', patternsRe);\n }\n return isMatched;\n }\n}\nexports.default = EntryFilter;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils = require(\"../../utils\");\nclass ErrorFilter {\n constructor(_settings) {\n this._settings = _settings;\n }\n getFilter() {\n return (error) => this._isNonFatalError(error);\n }\n _isNonFatalError(error) {\n return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors;\n }\n}\nexports.default = ErrorFilter;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils = require(\"../../utils\");\nclass EntryTransformer {\n constructor(_settings) {\n this._settings = _settings;\n }\n getTransformer() {\n return (entry) => this._transform(entry);\n }\n _transform(entry) {\n let filepath = entry.path;\n if (this._settings.absolute) {\n filepath = utils.path.makeAbsolute(this._settings.cwd, filepath);\n filepath = utils.path.unixify(filepath);\n }\n if (this._settings.markDirectories && entry.dirent.isDirectory()) {\n filepath += '/';\n }\n if (!this._settings.objectMode) {\n return filepath;\n }\n return Object.assign(Object.assign({}, entry), { path: filepath });\n }\n}\nexports.default = EntryTransformer;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst path = require(\"path\");\nconst deep_1 = require(\"./filters/deep\");\nconst entry_1 = require(\"./filters/entry\");\nconst error_1 = require(\"./filters/error\");\nconst entry_2 = require(\"./transformers/entry\");\nclass Provider {\n constructor(_settings) {\n this._settings = _settings;\n this.errorFilter = new error_1.default(this._settings);\n this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions());\n this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions());\n this.entryTransformer = new entry_2.default(this._settings);\n }\n _getRootDirectory(task) {\n return path.resolve(this._settings.cwd, task.base);\n }\n _getReaderOptions(task) {\n const basePath = task.base === '.' ? '' : task.base;\n return {\n basePath,\n pathSegmentSeparator: '/',\n concurrency: this._settings.concurrency,\n deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative),\n entryFilter: this.entryFilter.getFilter(task.positive, task.negative),\n errorFilter: this.errorFilter.getFilter(),\n followSymbolicLinks: this._settings.followSymbolicLinks,\n fs: this._settings.fs,\n stats: this._settings.stats,\n throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink,\n transform: this.entryTransformer.getTransformer()\n };\n }\n _getMicromatchOptions() {\n return {\n dot: this._settings.dot,\n matchBase: this._settings.baseNameMatch,\n nobrace: !this._settings.braceExpansion,\n nocase: !this._settings.caseSensitiveMatch,\n noext: !this._settings.extglob,\n noglobstar: !this._settings.globstar,\n posix: true,\n strictSlashes: false\n };\n }\n}\nexports.default = Provider;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst async_1 = require(\"../readers/async\");\nconst provider_1 = require(\"./provider\");\nclass ProviderAsync extends provider_1.default {\n constructor() {\n super(...arguments);\n this._reader = new async_1.default(this._settings);\n }\n async read(task) {\n const root = this._getRootDirectory(task);\n const options = this._getReaderOptions(task);\n const entries = await this.api(root, task, options);\n return entries.map((entry) => options.transform(entry));\n }\n api(root, task, options) {\n if (task.dynamic) {\n return this._reader.dynamic(root, options);\n }\n return this._reader.static(task.patterns, options);\n }\n}\nexports.default = ProviderAsync;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst stream_1 = require(\"stream\");\nconst stream_2 = require(\"../readers/stream\");\nconst provider_1 = require(\"./provider\");\nclass ProviderStream extends provider_1.default {\n constructor() {\n super(...arguments);\n this._reader = new stream_2.default(this._settings);\n }\n read(task) {\n const root = this._getRootDirectory(task);\n const options = this._getReaderOptions(task);\n const source = this.api(root, task, options);\n const destination = new stream_1.Readable({ objectMode: true, read: () => { } });\n source\n .once('error', (error) => destination.emit('error', error))\n .on('data', (entry) => destination.emit('data', options.transform(entry)))\n .once('end', () => destination.emit('end'));\n destination\n .once('close', () => source.destroy());\n return destination;\n }\n api(root, task, options) {\n if (task.dynamic) {\n return this._reader.dynamic(root, options);\n }\n return this._reader.static(task.patterns, options);\n }\n}\nexports.default = ProviderStream;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst fsStat = require(\"@nodelib/fs.stat\");\nconst fsWalk = require(\"@nodelib/fs.walk\");\nconst reader_1 = require(\"./reader\");\nclass ReaderSync extends reader_1.default {\n constructor() {\n super(...arguments);\n this._walkSync = fsWalk.walkSync;\n this._statSync = fsStat.statSync;\n }\n dynamic(root, options) {\n return this._walkSync(root, options);\n }\n static(patterns, options) {\n const entries = [];\n for (const pattern of patterns) {\n const filepath = this._getFullEntryPath(pattern);\n const entry = this._getEntry(filepath, pattern, options);\n if (entry === null || !options.entryFilter(entry)) {\n continue;\n }\n entries.push(entry);\n }\n return entries;\n }\n _getEntry(filepath, pattern, options) {\n try {\n const stats = this._getStat(filepath);\n return this._makeEntry(stats, pattern);\n }\n catch (error) {\n if (options.errorFilter(error)) {\n return null;\n }\n throw error;\n }\n }\n _getStat(filepath) {\n return this._statSync(filepath, this._fsStatSettings);\n }\n}\nexports.default = ReaderSync;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst sync_1 = require(\"../readers/sync\");\nconst provider_1 = require(\"./provider\");\nclass ProviderSync extends provider_1.default {\n constructor() {\n super(...arguments);\n this._reader = new sync_1.default(this._settings);\n }\n read(task) {\n const root = this._getRootDirectory(task);\n const options = this._getReaderOptions(task);\n const entries = this.api(root, task, options);\n return entries.map(options.transform);\n }\n api(root, task, options) {\n if (task.dynamic) {\n return this._reader.dynamic(root, options);\n }\n return this._reader.static(task.patterns, options);\n }\n}\nexports.default = ProviderSync;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;\nconst fs = require(\"fs\");\nconst os = require(\"os\");\n/**\n * The `os.cpus` method can return zero. We expect the number of cores to be greater than zero.\n * https://github.com/nodejs/node/blob/7faeddf23a98c53896f8b574a6e66589e8fb1eb8/lib/os.js#L106-L107\n */\nconst CPU_COUNT = Math.max(os.cpus().length, 1);\nexports.DEFAULT_FILE_SYSTEM_ADAPTER = {\n lstat: fs.lstat,\n lstatSync: fs.lstatSync,\n stat: fs.stat,\n statSync: fs.statSync,\n readdir: fs.readdir,\n readdirSync: fs.readdirSync\n};\nclass Settings {\n constructor(_options = {}) {\n this._options = _options;\n this.absolute = this._getValue(this._options.absolute, false);\n this.baseNameMatch = this._getValue(this._options.baseNameMatch, false);\n this.braceExpansion = this._getValue(this._options.braceExpansion, true);\n this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true);\n this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT);\n this.cwd = this._getValue(this._options.cwd, process.cwd());\n this.deep = this._getValue(this._options.deep, Infinity);\n this.dot = this._getValue(this._options.dot, false);\n this.extglob = this._getValue(this._options.extglob, true);\n this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true);\n this.fs = this._getFileSystemMethods(this._options.fs);\n this.globstar = this._getValue(this._options.globstar, true);\n this.ignore = this._getValue(this._options.ignore, []);\n this.markDirectories = this._getValue(this._options.markDirectories, false);\n this.objectMode = this._getValue(this._options.objectMode, false);\n this.onlyDirectories = this._getValue(this._options.onlyDirectories, false);\n this.onlyFiles = this._getValue(this._options.onlyFiles, true);\n this.stats = this._getValue(this._options.stats, false);\n this.suppressErrors = this._getValue(this._options.suppressErrors, false);\n this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false);\n this.unique = this._getValue(this._options.unique, true);\n if (this.onlyDirectories) {\n this.onlyFiles = false;\n }\n if (this.stats) {\n this.objectMode = true;\n }\n // Remove the cast to the array in the next major (#404).\n this.ignore = [].concat(this.ignore);\n }\n _getValue(option, value) {\n return option === undefined ? value : option;\n }\n _getFileSystemMethods(methods = {}) {\n return Object.assign(Object.assign({}, exports.DEFAULT_FILE_SYSTEM_ADAPTER), methods);\n }\n}\nexports.default = Settings;\n","\"use strict\";\nconst taskManager = require(\"./managers/tasks\");\nconst async_1 = require(\"./providers/async\");\nconst stream_1 = require(\"./providers/stream\");\nconst sync_1 = require(\"./providers/sync\");\nconst settings_1 = require(\"./settings\");\nconst utils = require(\"./utils\");\nasync function FastGlob(source, options) {\n assertPatternsInput(source);\n const works = getWorks(source, async_1.default, options);\n const result = await Promise.all(works);\n return utils.array.flatten(result);\n}\n// https://github.com/typescript-eslint/typescript-eslint/issues/60\n// eslint-disable-next-line no-redeclare\n(function (FastGlob) {\n FastGlob.glob = FastGlob;\n FastGlob.globSync = sync;\n FastGlob.globStream = stream;\n FastGlob.async = FastGlob;\n function sync(source, options) {\n assertPatternsInput(source);\n const works = getWorks(source, sync_1.default, options);\n return utils.array.flatten(works);\n }\n FastGlob.sync = sync;\n function stream(source, options) {\n assertPatternsInput(source);\n const works = getWorks(source, stream_1.default, options);\n /**\n * The stream returned by the provider cannot work with an asynchronous iterator.\n * To support asynchronous iterators, regardless of the number of tasks, we always multiplex streams.\n * This affects performance (+25%). I don't see best solution right now.\n */\n return utils.stream.merge(works);\n }\n FastGlob.stream = stream;\n function generateTasks(source, options) {\n assertPatternsInput(source);\n const patterns = [].concat(source);\n const settings = new settings_1.default(options);\n return taskManager.generate(patterns, settings);\n }\n FastGlob.generateTasks = generateTasks;\n function isDynamicPattern(source, options) {\n assertPatternsInput(source);\n const settings = new settings_1.default(options);\n return utils.pattern.isDynamicPattern(source, settings);\n }\n FastGlob.isDynamicPattern = isDynamicPattern;\n function escapePath(source) {\n assertPatternsInput(source);\n return utils.path.escape(source);\n }\n FastGlob.escapePath = escapePath;\n function convertPathToPattern(source) {\n assertPatternsInput(source);\n return utils.path.convertPathToPattern(source);\n }\n FastGlob.convertPathToPattern = convertPathToPattern;\n let posix;\n (function (posix) {\n function escapePath(source) {\n assertPatternsInput(source);\n return utils.path.escapePosixPath(source);\n }\n posix.escapePath = escapePath;\n function convertPathToPattern(source) {\n assertPatternsInput(source);\n return utils.path.convertPosixPathToPattern(source);\n }\n posix.convertPathToPattern = convertPathToPattern;\n })(posix = FastGlob.posix || (FastGlob.posix = {}));\n let win32;\n (function (win32) {\n function escapePath(source) {\n assertPatternsInput(source);\n return utils.path.escapeWindowsPath(source);\n }\n win32.escapePath = escapePath;\n function convertPathToPattern(source) {\n assertPatternsInput(source);\n return utils.path.convertWindowsPathToPattern(source);\n }\n win32.convertPathToPattern = convertPathToPattern;\n })(win32 = FastGlob.win32 || (FastGlob.win32 = {}));\n})(FastGlob || (FastGlob = {}));\nfunction getWorks(source, _Provider, options) {\n const patterns = [].concat(source);\n const settings = new settings_1.default(options);\n const tasks = taskManager.generate(patterns, settings);\n const provider = new _Provider(settings);\n return tasks.map(provider.read, provider);\n}\nfunction assertPatternsInput(input) {\n const source = [].concat(input);\n const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item));\n if (!isValidSource) {\n throw new TypeError('Patterns must be a string (non empty) or an array of strings');\n }\n}\nmodule.exports = FastGlob;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.clearGlobCache = clearGlobCache;\nexports.resolveProjectList = resolveProjectList;\nexports.clearGlobResolutionCache = clearGlobResolutionCache;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst fast_glob_1 = require(\"fast-glob\");\nconst is_glob_1 = __importDefault(require(\"is-glob\"));\nconst shared_1 = require(\"../create-program/shared\");\nconst ExpiringCache_1 = require(\"./ExpiringCache\");\nconst log = (0, debug_1.default)('typescript-eslint:typescript-estree:parseSettings:resolveProjectList');\nlet RESOLUTION_CACHE = null;\nfunction clearGlobCache() {\n RESOLUTION_CACHE?.clear();\n}\n/**\n * Normalizes, sanitizes, resolves and filters the provided project paths\n */\nfunction resolveProjectList(options) {\n const sanitizedProjects = [];\n // Normalize and sanitize the project paths\n if (options.project != null) {\n for (const project of options.project) {\n if (typeof project === 'string') {\n sanitizedProjects.push(project);\n }\n }\n }\n if (sanitizedProjects.length === 0) {\n return new Map();\n }\n const projectFolderIgnoreList = (options.projectFolderIgnoreList ?? ['**/node_modules/**'])\n .filter(folder => typeof folder === 'string')\n // prefix with a ! for not match glob\n .map(folder => (folder.startsWith('!') ? folder : `!${folder}`));\n const cacheKey = getHash({\n project: sanitizedProjects,\n projectFolderIgnoreList,\n tsconfigRootDir: options.tsconfigRootDir,\n });\n if (RESOLUTION_CACHE == null) {\n // note - we initialize the global cache based on the first config we encounter.\n // this does mean that you can't have multiple lifetimes set per folder\n // I doubt that anyone will really bother reconfiguring this, let alone\n // try to do complicated setups, so we'll deal with this later if ever.\n RESOLUTION_CACHE = new ExpiringCache_1.ExpiringCache(options.singleRun\n ? 'Infinity'\n : (options.cacheLifetime?.glob ??\n ExpiringCache_1.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS));\n }\n else {\n const cached = RESOLUTION_CACHE.get(cacheKey);\n if (cached) {\n return cached;\n }\n }\n // Transform glob patterns into paths\n const nonGlobProjects = sanitizedProjects.filter(project => !(0, is_glob_1.default)(project));\n const globProjects = sanitizedProjects.filter(project => (0, is_glob_1.default)(project));\n let globProjectPaths = [];\n if (globProjects.length > 0) {\n // Although fast-glob supports multiple patterns, fast-glob returns arbitrary order of results\n // to improve performance. To ensure the order is correct, we need to call fast-glob for each pattern\n // separately and then concatenate the results in patterns' order.\n globProjectPaths = globProjects.flatMap(pattern => (0, fast_glob_1.sync)(pattern, {\n cwd: options.tsconfigRootDir,\n ignore: projectFolderIgnoreList,\n }));\n }\n const uniqueCanonicalProjectPaths = new Map([...nonGlobProjects, ...globProjectPaths].map(project => [\n (0, shared_1.getCanonicalFileName)((0, shared_1.ensureAbsolutePath)(project, options.tsconfigRootDir)),\n (0, shared_1.ensureAbsolutePath)(project, options.tsconfigRootDir),\n ]));\n log('parserOptions.project (excluding ignored) matched projects: %s', uniqueCanonicalProjectPaths);\n RESOLUTION_CACHE.set(cacheKey, uniqueCanonicalProjectPaths);\n return uniqueCanonicalProjectPaths;\n}\nfunction getHash({ project, projectFolderIgnoreList, tsconfigRootDir, }) {\n // create a stable representation of the config\n const hashObject = {\n tsconfigRootDir,\n // the project order does matter and can impact the resolved globs\n project,\n // the ignore order won't doesn't ever matter\n projectFolderIgnoreList: [...projectFolderIgnoreList].sort(),\n };\n return (0, shared_1.createHash)(JSON.stringify(hashObject));\n}\n/**\n * Exported for testing purposes only\n * @internal\n */\nfunction clearGlobResolutionCache() {\n RESOLUTION_CACHE?.clear();\n RESOLUTION_CACHE = null;\n}\n","{\n \"name\": \"@typescript-eslint/typescript-estree\",\n \"version\": \"8.29.0\",\n \"description\": \"A parser that converts TypeScript source code into an ESTree compatible form\",\n \"files\": [\n \"dist\",\n \"!*.tsbuildinfo\",\n \"_ts4.3\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"type\": \"commonjs\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"default\": \"./dist/index.js\"\n },\n \"./package.json\": \"./package.json\",\n \"./use-at-your-own-risk\": {\n \"types\": \"./dist/use-at-your-own-risk.d.ts\",\n \"default\": \"./dist/use-at-your-own-risk.js\"\n }\n },\n \"types\": \"./dist/index.d.ts\",\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/typescript-eslint/typescript-eslint.git\",\n \"directory\": \"packages/typescript-estree\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/typescript-eslint/typescript-eslint/issues\"\n },\n \"homepage\": \"https://typescript-eslint.io/packages/typescript-estree\",\n \"license\": \"MIT\",\n \"keywords\": [\n \"ast\",\n \"estree\",\n \"ecmascript\",\n \"javascript\",\n \"typescript\",\n \"parser\",\n \"syntax\"\n ],\n \"scripts\": {\n \"build\": \"tsc -b tsconfig.build.json\",\n \"postbuild\": \"downlevel-dts dist _ts4.3/dist --to=4.3\",\n \"clean\": \"tsc -b tsconfig.build.json --clean\",\n \"postclean\": \"rimraf dist && rimraf _ts4.3 && rimraf coverage\",\n \"format\": \"prettier --write \\\"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\\\" --ignore-path ../../.prettierignore\",\n \"lint\": \"npx nx lint\",\n \"test\": \"jest --runInBand --verbose\",\n \"check-types\": \"npx nx typecheck\"\n },\n \"dependencies\": {\n \"@typescript-eslint/types\": \"8.29.0\",\n \"@typescript-eslint/visitor-keys\": \"8.29.0\",\n \"debug\": \"^4.3.4\",\n \"fast-glob\": \"^3.3.2\",\n \"is-glob\": \"^4.0.3\",\n \"minimatch\": \"^9.0.4\",\n \"semver\": \"^7.6.0\",\n \"ts-api-utils\": \"^2.0.1\"\n },\n \"devDependencies\": {\n \"@jest/types\": \"29.6.3\",\n \"glob\": \"*\",\n \"jest\": \"29.7.0\",\n \"prettier\": \"^3.2.5\",\n \"rimraf\": \"*\",\n \"tmp\": \"*\",\n \"typescript\": \"*\"\n },\n \"peerDependencies\": {\n \"typescript\": \">=4.8.4 <5.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"typesVersions\": {\n \"<4.7\": {\n \"*\": [\n \"_ts4.3/*\"\n ]\n }\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.version = void 0;\n// note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\nexports.version = require('../package.json').version;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SUPPORTED_TYPESCRIPT_VERSIONS = void 0;\nexports.warnAboutTSVersion = warnAboutTSVersion;\nconst semver_1 = __importDefault(require(\"semver\"));\nconst ts = __importStar(require(\"typescript\"));\nconst version_1 = require(\"../version\");\n/**\n * This needs to be kept in sync with package.json in the typescript-eslint monorepo\n */\nexports.SUPPORTED_TYPESCRIPT_VERSIONS = '>=4.8.4 <5.9.0';\n/*\n * The semver package will ignore prerelease ranges, and we don't want to explicitly document every one\n * List them all separately here, so we can automatically create the full string\n */\nconst SUPPORTED_PRERELEASE_RANGES = [];\nconst ACTIVE_TYPESCRIPT_VERSION = ts.version;\nconst isRunningSupportedTypeScriptVersion = semver_1.default.satisfies(ACTIVE_TYPESCRIPT_VERSION, [exports.SUPPORTED_TYPESCRIPT_VERSIONS, ...SUPPORTED_PRERELEASE_RANGES].join(' || '));\nlet warnedAboutTSVersion = false;\nfunction warnAboutTSVersion(parseSettings, passedLoggerFn) {\n if (isRunningSupportedTypeScriptVersion || warnedAboutTSVersion) {\n return;\n }\n if (passedLoggerFn ||\n // See https://github.com/typescript-eslint/typescript-eslint/issues/7896\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n (typeof process === 'undefined' ? false : process.stdout?.isTTY)) {\n const border = '=============';\n const versionWarning = [\n border,\n '\\n',\n 'WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.',\n '\\n',\n `* @typescript-eslint/typescript-estree version: ${version_1.version}`,\n `* Supported TypeScript versions: ${exports.SUPPORTED_TYPESCRIPT_VERSIONS}`,\n `* Your TypeScript version: ${ACTIVE_TYPESCRIPT_VERSION}`,\n '\\n',\n 'Please only submit bug reports when using the officially supported version.',\n '\\n',\n border,\n ].join('\\n');\n parseSettings.log(versionWarning);\n }\n warnedAboutTSVersion = true;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createParseSettings = createParseSettings;\nexports.clearTSConfigMatchCache = clearTSConfigMatchCache;\nexports.clearTSServerProjectService = clearTSServerProjectService;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst ts = __importStar(require(\"typescript\"));\nconst createProjectService_1 = require(\"../create-program/createProjectService\");\nconst shared_1 = require(\"../create-program/shared\");\nconst source_files_1 = require(\"../source-files\");\nconst ExpiringCache_1 = require(\"./ExpiringCache\");\nconst getProjectConfigFiles_1 = require(\"./getProjectConfigFiles\");\nconst inferSingleRun_1 = require(\"./inferSingleRun\");\nconst resolveProjectList_1 = require(\"./resolveProjectList\");\nconst warnAboutTSVersion_1 = require(\"./warnAboutTSVersion\");\nconst log = (0, debug_1.default)('typescript-eslint:typescript-estree:parseSettings:createParseSettings');\nlet TSCONFIG_MATCH_CACHE;\nlet TSSERVER_PROJECT_SERVICE = null;\n// NOTE - we intentionally use \"unnecessary\" `?.` here because in TS<5.3 this enum doesn't exist\n// This object exists so we can centralize these for tracking and so we don't proliferate these across the file\n// https://github.com/microsoft/TypeScript/issues/56579\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\nconst JSDocParsingMode = {\n ParseAll: ts.JSDocParsingMode?.ParseAll,\n ParseForTypeErrors: ts.JSDocParsingMode?.ParseForTypeErrors,\n ParseForTypeInfo: ts.JSDocParsingMode?.ParseForTypeInfo,\n ParseNone: ts.JSDocParsingMode?.ParseNone,\n};\n/* eslint-enable @typescript-eslint/no-unnecessary-condition */\nfunction createParseSettings(code, tsestreeOptions = {}) {\n const codeFullText = enforceCodeString(code);\n const singleRun = (0, inferSingleRun_1.inferSingleRun)(tsestreeOptions);\n const tsconfigRootDir = typeof tsestreeOptions.tsconfigRootDir === 'string'\n ? tsestreeOptions.tsconfigRootDir\n : process.cwd();\n const passedLoggerFn = typeof tsestreeOptions.loggerFn === 'function';\n const filePath = (0, shared_1.ensureAbsolutePath)(typeof tsestreeOptions.filePath === 'string' &&\n tsestreeOptions.filePath !== '<input>'\n ? tsestreeOptions.filePath\n : getFileName(tsestreeOptions.jsx), tsconfigRootDir);\n const extension = node_path_1.default.extname(filePath).toLowerCase();\n const jsDocParsingMode = (() => {\n switch (tsestreeOptions.jsDocParsingMode) {\n case 'all':\n return JSDocParsingMode.ParseAll;\n case 'none':\n return JSDocParsingMode.ParseNone;\n case 'type-info':\n return JSDocParsingMode.ParseForTypeInfo;\n default:\n return JSDocParsingMode.ParseAll;\n }\n })();\n const parseSettings = {\n loc: tsestreeOptions.loc === true,\n range: tsestreeOptions.range === true,\n allowInvalidAST: tsestreeOptions.allowInvalidAST === true,\n code,\n codeFullText,\n comment: tsestreeOptions.comment === true,\n comments: [],\n debugLevel: tsestreeOptions.debugLevel === true\n ? new Set(['typescript-eslint'])\n : Array.isArray(tsestreeOptions.debugLevel)\n ? new Set(tsestreeOptions.debugLevel)\n : new Set(),\n errorOnTypeScriptSyntacticAndSemanticIssues: false,\n errorOnUnknownASTType: tsestreeOptions.errorOnUnknownASTType === true,\n extraFileExtensions: Array.isArray(tsestreeOptions.extraFileExtensions) &&\n tsestreeOptions.extraFileExtensions.every(ext => typeof ext === 'string')\n ? tsestreeOptions.extraFileExtensions\n : [],\n filePath,\n jsDocParsingMode,\n jsx: tsestreeOptions.jsx === true,\n log: typeof tsestreeOptions.loggerFn === 'function'\n ? tsestreeOptions.loggerFn\n : tsestreeOptions.loggerFn === false\n ? () => { } // eslint-disable-line @typescript-eslint/no-empty-function\n : console.log, // eslint-disable-line no-console\n preserveNodeMaps: tsestreeOptions.preserveNodeMaps !== false,\n programs: Array.isArray(tsestreeOptions.programs)\n ? tsestreeOptions.programs\n : null,\n projects: new Map(),\n projectService: tsestreeOptions.projectService ||\n (tsestreeOptions.project &&\n tsestreeOptions.projectService !== false &&\n process.env.TYPESCRIPT_ESLINT_PROJECT_SERVICE === 'true')\n ? (TSSERVER_PROJECT_SERVICE ??= (0, createProjectService_1.createProjectService)(tsestreeOptions.projectService, jsDocParsingMode, tsconfigRootDir))\n : undefined,\n setExternalModuleIndicator: tsestreeOptions.sourceType === 'module' ||\n (tsestreeOptions.sourceType == null && extension === ts.Extension.Mjs) ||\n (tsestreeOptions.sourceType == null && extension === ts.Extension.Mts)\n ? (file) => {\n file.externalModuleIndicator = true;\n }\n : undefined,\n singleRun,\n suppressDeprecatedPropertyWarnings: tsestreeOptions.suppressDeprecatedPropertyWarnings ??\n process.env.NODE_ENV !== 'test',\n tokens: tsestreeOptions.tokens === true ? [] : null,\n tsconfigMatchCache: (TSCONFIG_MATCH_CACHE ??= new ExpiringCache_1.ExpiringCache(singleRun\n ? 'Infinity'\n : (tsestreeOptions.cacheLifetime?.glob ??\n ExpiringCache_1.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS))),\n tsconfigRootDir,\n };\n // debug doesn't support multiple `enable` calls, so have to do it all at once\n if (parseSettings.debugLevel.size > 0) {\n const namespaces = [];\n if (parseSettings.debugLevel.has('typescript-eslint')) {\n namespaces.push('typescript-eslint:*');\n }\n if (parseSettings.debugLevel.has('eslint') ||\n // make sure we don't turn off the eslint debug if it was enabled via --debug\n debug_1.default.enabled('eslint:*,-eslint:code-path')) {\n // https://github.com/eslint/eslint/blob/9dfc8501fb1956c90dc11e6377b4cb38a6bea65d/bin/eslint.js#L25\n namespaces.push('eslint:*,-eslint:code-path');\n }\n debug_1.default.enable(namespaces.join(','));\n }\n if (Array.isArray(tsestreeOptions.programs)) {\n if (!tsestreeOptions.programs.length) {\n throw new Error(`You have set parserOptions.programs to an empty array. This will cause all files to not be found in existing programs. Either provide one or more existing TypeScript Program instances in the array, or remove the parserOptions.programs setting.`);\n }\n log('parserOptions.programs was provided, so parserOptions.project will be ignored.');\n }\n // Providing a program or project service overrides project resolution\n if (!parseSettings.programs && !parseSettings.projectService) {\n parseSettings.projects = (0, resolveProjectList_1.resolveProjectList)({\n cacheLifetime: tsestreeOptions.cacheLifetime,\n project: (0, getProjectConfigFiles_1.getProjectConfigFiles)(parseSettings, tsestreeOptions.project),\n projectFolderIgnoreList: tsestreeOptions.projectFolderIgnoreList,\n singleRun: parseSettings.singleRun,\n tsconfigRootDir,\n });\n }\n // No type-aware linting which means that cross-file (or even same-file) JSDoc is useless\n // So in this specific case we default to 'none' if no value was provided\n if (tsestreeOptions.jsDocParsingMode == null &&\n parseSettings.projects.size === 0 &&\n parseSettings.programs == null &&\n parseSettings.projectService == null) {\n parseSettings.jsDocParsingMode = JSDocParsingMode.ParseNone;\n }\n (0, warnAboutTSVersion_1.warnAboutTSVersion)(parseSettings, passedLoggerFn);\n return parseSettings;\n}\nfunction clearTSConfigMatchCache() {\n TSCONFIG_MATCH_CACHE?.clear();\n}\nfunction clearTSServerProjectService() {\n TSSERVER_PROJECT_SERVICE = null;\n}\n/**\n * Ensures source code is a string.\n */\nfunction enforceCodeString(code) {\n return (0, source_files_1.isSourceFile)(code)\n ? code.getFullText(code)\n : typeof code === 'string'\n ? code\n : String(code);\n}\n/**\n * Compute the filename based on the parser options.\n *\n * Even if jsx option is set in typescript compiler, filename still has to\n * contain .tsx file extension.\n */\nfunction getFileName(jsx) {\n return jsx ? 'estree.tsx' : 'estree.ts';\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFirstSemanticOrSyntacticError = getFirstSemanticOrSyntacticError;\nconst typescript_1 = require(\"typescript\");\n/**\n * By default, diagnostics from the TypeScript compiler contain all errors - regardless of whether\n * they are related to generic ECMAScript standards, or TypeScript-specific constructs.\n *\n * Therefore, we filter out all diagnostics, except for the ones we explicitly want to consider when\n * the user opts in to throwing errors on semantic issues.\n */\nfunction getFirstSemanticOrSyntacticError(program, ast) {\n try {\n const supportedSyntacticDiagnostics = allowlistSupportedDiagnostics(program.getSyntacticDiagnostics(ast));\n if (supportedSyntacticDiagnostics.length > 0) {\n return convertDiagnosticToSemanticOrSyntacticError(supportedSyntacticDiagnostics[0]);\n }\n const supportedSemanticDiagnostics = allowlistSupportedDiagnostics(program.getSemanticDiagnostics(ast));\n if (supportedSemanticDiagnostics.length > 0) {\n return convertDiagnosticToSemanticOrSyntacticError(supportedSemanticDiagnostics[0]);\n }\n return undefined;\n }\n catch (e) {\n /**\n * TypeScript compiler has certain Debug.fail() statements in, which will cause the diagnostics\n * retrieval above to throw.\n *\n * E.g. from ast-alignment-tests\n * \"Debug Failure. Shouldn't ever directly check a JsxOpeningElement\"\n *\n * For our current use-cases this is undesired behavior, so we just suppress it\n * and log a warning.\n */\n /* istanbul ignore next */\n console.warn(`Warning From TSC: \"${e.message}`); // eslint-disable-line no-console\n /* istanbul ignore next */\n return undefined;\n }\n}\nfunction allowlistSupportedDiagnostics(diagnostics) {\n return diagnostics.filter(diagnostic => {\n switch (diagnostic.code) {\n case 1013: // \"A rest parameter or binding pattern may not have a trailing comma.\"\n case 1014: // \"A rest parameter must be last in a parameter list.\"\n case 1044: // \"'{0}' modifier cannot appear on a module or namespace element.\"\n case 1045: // \"A '{0}' modifier cannot be used with an interface declaration.\"\n case 1048: // \"A rest parameter cannot have an initializer.\"\n case 1049: // \"A 'set' accessor must have exactly one parameter.\"\n case 1070: // \"'{0}' modifier cannot appear on a type member.\"\n case 1071: // \"'{0}' modifier cannot appear on an index signature.\"\n case 1085: // \"Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'.\"\n case 1090: // \"'{0}' modifier cannot appear on a parameter.\"\n case 1096: // \"An index signature must have exactly one parameter.\"\n case 1097: // \"'{0}' list cannot be empty.\"\n case 1098: // \"Type parameter list cannot be empty.\"\n case 1099: // \"Type argument list cannot be empty.\"\n case 1117: // \"An object literal cannot have multiple properties with the same name in strict mode.\"\n case 1121: // \"Octal literals are not allowed in strict mode.\"\n case 1123: // \"Variable declaration list cannot be empty.\"\n case 1141: // \"String literal expected.\"\n case 1162: // \"An object member cannot be declared optional.\"\n case 1164: // \"Computed property names are not allowed in enums.\"\n case 1172: // \"'extends' clause already seen.\"\n case 1173: // \"'extends' clause must precede 'implements' clause.\"\n case 1175: // \"'implements' clause already seen.\"\n case 1176: // \"Interface declaration cannot have 'implements' clause.\"\n case 1190: // \"The variable declaration of a 'for...of' statement cannot have an initializer.\"\n case 1196: // \"Catch clause variable type annotation must be 'any' or 'unknown' if specified.\"\n case 1200: // \"Line terminator not permitted before arrow.\"\n case 1206: // \"Decorators are not valid here.\"\n case 1211: // \"A class declaration without the 'default' modifier must have a name.\"\n case 1242: // \"'abstract' modifier can only appear on a class, method, or property declaration.\"\n case 1246: // \"An interface property cannot have an initializer.\"\n case 1255: // \"A definite assignment assertion '!' is not permitted in this context.\"\n case 1308: // \"'await' expression is only allowed within an async function.\"\n case 2364: // \"The left-hand side of an assignment expression must be a variable or a property access.\"\n case 2369: // \"A parameter property is only allowed in a constructor implementation.\"\n case 2452: // \"An enum member cannot have a numeric name.\"\n case 2462: // \"A rest element must be last in a destructuring pattern.\"\n case 8017: // \"Octal literal types must use ES2015 syntax. Use the syntax '{0}'.\"\n case 17012: // \"'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?\"\n case 17013: // \"Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor.\"\n return true;\n }\n return false;\n });\n}\nfunction convertDiagnosticToSemanticOrSyntacticError(diagnostic) {\n return {\n ...diagnostic,\n message: (0, typescript_1.flattenDiagnosticMessageText)(diagnostic.messageText, typescript_1.sys.newLine),\n };\n}\n","'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n if(a===b) {\n return [ai, bi];\n }\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n","var balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str) {\n if (!str)\n return [];\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\nfunction expand(str, isTop) {\n var expansions = [];\n\n var m = balanced('{', '}', str);\n if (!m) return [str];\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n var pre = m.pre;\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n\n if (/\\$$/.test(m.pre)) { \n for (var k = 0; k < post.length; k++) {\n var expansion = pre+ '{' + m.body + '}' + post[k];\n expansions.push(expansion);\n }\n } else {\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = m.body.indexOf(',') >= 0;\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,.*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n return expand(str);\n }\n return [str];\n }\n\n var n;\n if (isSequence) {\n n = m.body.split(/\\.\\./);\n } else {\n n = parseCommaParts(m.body);\n if (n.length === 1) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], false).map(embrace);\n if (n.length === 1) {\n return post.map(function(p) {\n return m.pre + n[0] + p;\n });\n }\n }\n }\n\n // at this point, n is the parts, and we know it's not a comma set\n // with a single entry.\n var N;\n\n if (isSequence) {\n var x = numeric(n[0]);\n var y = numeric(n[1]);\n var width = Math.max(n[0].length, n[1].length)\n var incr = n.length == 3\n ? Math.abs(numeric(n[2]))\n : 1;\n var test = lte;\n var reverse = y < x;\n if (reverse) {\n incr *= -1;\n test = gte;\n }\n var pad = n.some(isPadded);\n\n N = [];\n\n for (var i = x; test(i, y); i += incr) {\n var c;\n if (isAlphaSequence) {\n c = String.fromCharCode(i);\n if (c === '\\\\')\n c = '';\n } else {\n c = String(i);\n if (pad) {\n var need = width - c.length;\n if (need > 0) {\n var z = new Array(need + 1).join('0');\n if (i < 0)\n c = '-' + z + c.slice(1);\n else\n c = z + c;\n }\n }\n }\n N.push(c);\n }\n } else {\n N = [];\n\n for (var j = 0; j < n.length; j++) {\n N.push.apply(N, expand(n[j], false));\n }\n }\n\n for (var j = 0; j < N.length; j++) {\n for (var k = 0; k < post.length; k++) {\n var expansion = pre + N[j] + post[k];\n if (!isTop || isSequence || expansion)\n expansions.push(expansion);\n }\n }\n }\n\n return expansions;\n}\n\n","const MAX_PATTERN_LENGTH = 1024 * 64\nexport const assertValidPattern: (pattern: any) => void = (\n pattern: any\n): asserts pattern is string => {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern')\n }\n\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long')\n }\n}\n","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n\n// { <posix class>: [<translation>, /u flag required, negated]\nconst posixClasses: { [k: string]: [e: string, u: boolean, n?: boolean] } = {\n '[:alnum:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}', true],\n '[:alpha:]': ['\\\\p{L}\\\\p{Nl}', true],\n '[:ascii:]': ['\\\\x' + '00-\\\\x' + '7f', false],\n '[:blank:]': ['\\\\p{Zs}\\\\t', true],\n '[:cntrl:]': ['\\\\p{Cc}', true],\n '[:digit:]': ['\\\\p{Nd}', true],\n '[:graph:]': ['\\\\p{Z}\\\\p{C}', true, true],\n '[:lower:]': ['\\\\p{Ll}', true],\n '[:print:]': ['\\\\p{C}', true],\n '[:punct:]': ['\\\\p{P}', true],\n '[:space:]': ['\\\\p{Z}\\\\t\\\\r\\\\n\\\\v\\\\f', true],\n '[:upper:]': ['\\\\p{Lu}', true],\n '[:word:]': ['\\\\p{L}\\\\p{Nl}\\\\p{Nd}\\\\p{Pc}', true],\n '[:xdigit:]': ['A-Fa-f0-9', false],\n}\n\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s: string) => s.replace(/[[\\]\\\\-]/g, '\\\\$&')\n// escape all regexp magic characters\nconst regexpEscape = (s: string) =>\n s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges: string[]): string => ranges.join('')\n\nexport type ParseClassResult = [\n src: string,\n uFlag: boolean,\n consumed: number,\n hasMagic: boolean\n]\n\n// takes a glob string at a posix brace expression, and returns\n// an equivalent regular expression source, and boolean indicating\n// whether the /u flag needs to be applied, and the number of chars\n// consumed to parse the character class.\n// This also removes out of order ranges, and returns ($.) if the\n// entire class just no good.\nexport const parseClass = (\n glob: string,\n position: number\n): ParseClassResult => {\n const pos = position\n /* c8 ignore start */\n if (glob.charAt(pos) !== '[') {\n throw new Error('not in a brace expression')\n }\n /* c8 ignore stop */\n const ranges: string[] = []\n const negs: string[] = []\n\n let i = pos + 1\n let sawStart = false\n let uflag = false\n let escaping = false\n let negate = false\n let endPos = pos\n let rangeStart = ''\n WHILE: while (i < glob.length) {\n const c = glob.charAt(i)\n if ((c === '!' || c === '^') && i === pos + 1) {\n negate = true\n i++\n continue\n }\n\n if (c === ']' && sawStart && !escaping) {\n endPos = i + 1\n break\n }\n\n sawStart = true\n if (c === '\\\\') {\n if (!escaping) {\n escaping = true\n i++\n continue\n }\n // escaped \\ char, fall through and treat like normal char\n }\n if (c === '[' && !escaping) {\n // either a posix class, a collation equivalent, or just a [\n for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {\n if (glob.startsWith(cls, i)) {\n // invalid, [a-[] is fine, but not [a-[:alpha]]\n if (rangeStart) {\n return ['$.', false, glob.length - pos, true]\n }\n i += cls.length\n if (neg) negs.push(unip)\n else ranges.push(unip)\n uflag = uflag || u\n continue WHILE\n }\n }\n }\n\n // now it's just a normal character, effectively\n escaping = false\n if (rangeStart) {\n // throw this range away if it's not valid, but others\n // can still match.\n if (c > rangeStart) {\n ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c))\n } else if (c === rangeStart) {\n ranges.push(braceEscape(c))\n }\n rangeStart = ''\n i++\n continue\n }\n\n // now might be the start of a range.\n // can be either c-d or c-] or c<more...>] or c] at this point\n if (glob.startsWith('-]', i + 1)) {\n ranges.push(braceEscape(c + '-'))\n i += 2\n continue\n }\n if (glob.startsWith('-', i + 1)) {\n rangeStart = c\n i += 2\n continue\n }\n\n // not the start of a range, just a single character\n ranges.push(braceEscape(c))\n i++\n }\n\n if (endPos < i) {\n // didn't see the end of the class, not a valid class,\n // but might still be valid as a literal match.\n return ['', false, 0, false]\n }\n\n // if we got no ranges and no negates, then we have a range that\n // cannot possibly match anything, and that poisons the whole glob\n if (!ranges.length && !negs.length) {\n return ['$.', false, glob.length - pos, true]\n }\n\n // if we got one positive range, and it's a single character, then that's\n // not actually a magic pattern, it's just that one literal character.\n // we should not treat that as \"magic\", we should just return the literal\n // character. [_] is a perfectly valid way to escape glob magic chars.\n if (\n negs.length === 0 &&\n ranges.length === 1 &&\n /^\\\\?.$/.test(ranges[0]) &&\n !negate\n ) {\n const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0]\n return [regexpEscape(r), false, endPos - pos, false]\n }\n\n const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']'\n const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']'\n const comb =\n ranges.length && negs.length\n ? '(' + sranges + '|' + snegs + ')'\n : ranges.length\n ? sranges\n : snegs\n\n return [comb, uflag, endPos - pos, true]\n}\n","import { MinimatchOptions } from './index.js'\n/**\n * Un-escape a string that has been escaped with {@link escape}.\n *\n * If the {@link windowsPathsNoEscape} option is used, then square-brace\n * escapes are removed, but not backslash escapes. For example, it will turn\n * the string `'[*]'` into `*`, but it will not turn `'\\\\*'` into `'*'`,\n * becuase `\\` is a path separator in `windowsPathsNoEscape` mode.\n *\n * When `windowsPathsNoEscape` is not set, then both brace escapes and\n * backslash escapes are removed.\n *\n * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped\n * or unescaped.\n */\nexport const unescape = (\n s: string,\n {\n windowsPathsNoEscape = false,\n }: Pick<MinimatchOptions, 'windowsPathsNoEscape'> = {}\n) => {\n return windowsPathsNoEscape\n ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1')\n}\n","// parse a single path portion\n\nimport { parseClass } from './brace-expressions.js'\nimport { MinimatchOptions, MMRegExp } from './index.js'\nimport { unescape } from './unescape.js'\n\n// classes [] are handled by the parseClass method\n// for positive extglobs, we sub-parse the contents, and combine,\n// with the appropriate regexp close.\n// for negative extglobs, we sub-parse the contents, but then\n// have to include the rest of the pattern, then the parent, etc.,\n// as the thing that cannot be because RegExp negative lookaheads\n// are different from globs.\n//\n// So for example:\n// a@(i|w!(x|y)z|j)b => ^a(i|w((!?(x|y)zb).*)z|j)b$\n// 1 2 3 4 5 6 1 2 3 46 5 6\n//\n// Assembling the extglob requires not just the negated patterns themselves,\n// but also anything following the negative patterns up to the boundary\n// of the current pattern, plus anything following in the parent pattern.\n//\n//\n// So, first, we parse the string into an AST of extglobs, without turning\n// anything into regexps yet.\n//\n// ['a', {@ [['i'], ['w', {!['x', 'y']}, 'z'], ['j']]}, 'b']\n//\n// Then, for all the negative extglobs, we append whatever comes after in\n// each parent as their tail\n//\n// ['a', {@ [['i'], ['w', {!['x', 'y'], 'z', 'b'}, 'z'], ['j']]}, 'b']\n//\n// Lastly, we turn each of these pieces into a regexp, and join\n//\n// v----- .* because there's more following,\n// v v otherwise, .+ because it must be\n// v v *something* there.\n// ['^a', {@ ['i', 'w(?:(!?(?:x|y).*zb$).*)z', 'j' ]}, 'b$']\n// copy what follows into here--^^^^^\n// ['^a', '(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)', 'b$']\n// ['^a(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)b$']\n\nexport type ExtglobType = '!' | '?' | '+' | '*' | '@'\nconst types = new Set<ExtglobType>(['!', '?', '+', '*', '@'])\nconst isExtglobType = (c: string): c is ExtglobType =>\n types.has(c as ExtglobType)\n\n// Patterns that get prepended to bind to the start of either the\n// entire string, or just a single path portion, to prevent dots\n// and/or traversal patterns, when needed.\n// Exts don't need the ^ or / bit, because the root binds that already.\nconst startNoTraversal = '(?!(?:^|/)\\\\.\\\\.?(?:$|/))'\nconst startNoDot = '(?!\\\\.)'\n\n// characters that indicate a start of pattern needs the \"no dots\" bit,\n// because a dot *might* be matched. ( is not in the list, because in\n// the case of a child extglob, it will handle the prevention itself.\nconst addPatternStart = new Set(['[', '.'])\n// cases where traversal is A-OK, no dot prevention needed\nconst justDots = new Set(['..', '.'])\nconst reSpecials = new Set('().*{}+?[]^$\\\\!')\nconst regExpEscape = (s: string) =>\n s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\n// any single thing other than /\nconst qmark = '[^/]'\n\n// * => any number of characters\nconst star = qmark + '*?'\n// use + when we need to ensure that *something* matches, because the * is\n// the only thing in the path portion.\nconst starNoEmpty = qmark + '+?'\n\n// remove the \\ chars that we added if we end up doing a nonmagic compare\n// const deslash = (s: string) => s.replace(/\\\\(.)/g, '$1')\n\nexport class AST {\n type: ExtglobType | null\n readonly #root: AST\n\n #hasMagic?: boolean\n #uflag: boolean = false\n #parts: (string | AST)[] = []\n readonly #parent?: AST\n readonly #parentIndex: number\n #negs: AST[]\n #filledNegs: boolean = false\n #options: MinimatchOptions\n #toString?: string\n // set to true if it's an extglob with no children\n // (which really means one child of '')\n #emptyExt: boolean = false\n\n constructor(\n type: ExtglobType | null,\n parent?: AST,\n options: MinimatchOptions = {}\n ) {\n this.type = type\n // extglobs are inherently magical\n if (type) this.#hasMagic = true\n this.#parent = parent\n this.#root = this.#parent ? this.#parent.#root : this\n this.#options = this.#root === this ? options : this.#root.#options\n this.#negs = this.#root === this ? [] : this.#root.#negs\n if (type === '!' && !this.#root.#filledNegs) this.#negs.push(this)\n this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0\n }\n\n get hasMagic(): boolean | undefined {\n /* c8 ignore start */\n if (this.#hasMagic !== undefined) return this.#hasMagic\n /* c8 ignore stop */\n for (const p of this.#parts) {\n if (typeof p === 'string') continue\n if (p.type || p.hasMagic) return (this.#hasMagic = true)\n }\n // note: will be undefined until we generate the regexp src and find out\n return this.#hasMagic\n }\n\n // reconstructs the pattern\n toString(): string {\n if (this.#toString !== undefined) return this.#toString\n if (!this.type) {\n return (this.#toString = this.#parts.map(p => String(p)).join(''))\n } else {\n return (this.#toString =\n this.type + '(' + this.#parts.map(p => String(p)).join('|') + ')')\n }\n }\n\n #fillNegs() {\n /* c8 ignore start */\n if (this !== this.#root) throw new Error('should only call on root')\n if (this.#filledNegs) return this\n /* c8 ignore stop */\n\n // call toString() once to fill this out\n this.toString()\n this.#filledNegs = true\n let n: AST | undefined\n while ((n = this.#negs.pop())) {\n if (n.type !== '!') continue\n // walk up the tree, appending everthing that comes AFTER parentIndex\n let p: AST | undefined = n\n let pp = p.#parent\n while (pp) {\n for (\n let i = p.#parentIndex + 1;\n !pp.type && i < pp.#parts.length;\n i++\n ) {\n for (const part of n.#parts) {\n /* c8 ignore start */\n if (typeof part === 'string') {\n throw new Error('string part in extglob AST??')\n }\n /* c8 ignore stop */\n part.copyIn(pp.#parts[i])\n }\n }\n p = pp\n pp = p.#parent\n }\n }\n return this\n }\n\n push(...parts: (string | AST)[]) {\n for (const p of parts) {\n if (p === '') continue\n /* c8 ignore start */\n if (typeof p !== 'string' && !(p instanceof AST && p.#parent === this)) {\n throw new Error('invalid part: ' + p)\n }\n /* c8 ignore stop */\n this.#parts.push(p)\n }\n }\n\n toJSON() {\n const ret: any[] =\n this.type === null\n ? this.#parts.slice().map(p => (typeof p === 'string' ? p : p.toJSON()))\n : [this.type, ...this.#parts.map(p => (p as AST).toJSON())]\n if (this.isStart() && !this.type) ret.unshift([])\n if (\n this.isEnd() &&\n (this === this.#root ||\n (this.#root.#filledNegs && this.#parent?.type === '!'))\n ) {\n ret.push({})\n }\n return ret\n }\n\n isStart(): boolean {\n if (this.#root === this) return true\n // if (this.type) return !!this.#parent?.isStart()\n if (!this.#parent?.isStart()) return false\n if (this.#parentIndex === 0) return true\n // if everything AHEAD of this is a negation, then it's still the \"start\"\n const p = this.#parent\n for (let i = 0; i < this.#parentIndex; i++) {\n const pp = p.#parts[i]\n if (!(pp instanceof AST && pp.type === '!')) {\n return false\n }\n }\n return true\n }\n\n isEnd(): boolean {\n if (this.#root === this) return true\n if (this.#parent?.type === '!') return true\n if (!this.#parent?.isEnd()) return false\n if (!this.type) return this.#parent?.isEnd()\n // if not root, it'll always have a parent\n /* c8 ignore start */\n const pl = this.#parent ? this.#parent.#parts.length : 0\n /* c8 ignore stop */\n return this.#parentIndex === pl - 1\n }\n\n copyIn(part: AST | string) {\n if (typeof part === 'string') this.push(part)\n else this.push(part.clone(this))\n }\n\n clone(parent: AST) {\n const c = new AST(this.type, parent)\n for (const p of this.#parts) {\n c.copyIn(p)\n }\n return c\n }\n\n static #parseAST(\n str: string,\n ast: AST,\n pos: number,\n opt: MinimatchOptions\n ): number {\n let escaping = false\n let inBrace = false\n let braceStart = -1\n let braceNeg = false\n if (ast.type === null) {\n // outside of a extglob, append until we find a start\n let i = pos\n let acc = ''\n while (i < str.length) {\n const c = str.charAt(i++)\n // still accumulate escapes at this point, but we do ignore\n // starts that are escaped\n if (escaping || c === '\\\\') {\n escaping = !escaping\n acc += c\n continue\n }\n\n if (inBrace) {\n if (i === braceStart + 1) {\n if (c === '^' || c === '!') {\n braceNeg = true\n }\n } else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n inBrace = false\n }\n acc += c\n continue\n } else if (c === '[') {\n inBrace = true\n braceStart = i\n braceNeg = false\n acc += c\n continue\n }\n\n if (!opt.noext && isExtglobType(c) && str.charAt(i) === '(') {\n ast.push(acc)\n acc = ''\n const ext = new AST(c, ast)\n i = AST.#parseAST(str, ext, i, opt)\n ast.push(ext)\n continue\n }\n acc += c\n }\n ast.push(acc)\n return i\n }\n\n // some kind of extglob, pos is at the (\n // find the next | or )\n let i = pos + 1\n let part = new AST(null, ast)\n const parts: AST[] = []\n let acc = ''\n while (i < str.length) {\n const c = str.charAt(i++)\n // still accumulate escapes at this point, but we do ignore\n // starts that are escaped\n if (escaping || c === '\\\\') {\n escaping = !escaping\n acc += c\n continue\n }\n\n if (inBrace) {\n if (i === braceStart + 1) {\n if (c === '^' || c === '!') {\n braceNeg = true\n }\n } else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n inBrace = false\n }\n acc += c\n continue\n } else if (c === '[') {\n inBrace = true\n braceStart = i\n braceNeg = false\n acc += c\n continue\n }\n\n if (isExtglobType(c) && str.charAt(i) === '(') {\n part.push(acc)\n acc = ''\n const ext = new AST(c, part)\n part.push(ext)\n i = AST.#parseAST(str, ext, i, opt)\n continue\n }\n if (c === '|') {\n part.push(acc)\n acc = ''\n parts.push(part)\n part = new AST(null, ast)\n continue\n }\n if (c === ')') {\n if (acc === '' && ast.#parts.length === 0) {\n ast.#emptyExt = true\n }\n part.push(acc)\n acc = ''\n ast.push(...parts, part)\n return i\n }\n acc += c\n }\n\n // unfinished extglob\n // if we got here, it was a malformed extglob! not an extglob, but\n // maybe something else in there.\n ast.type = null\n ast.#hasMagic = undefined\n ast.#parts = [str.substring(pos - 1)]\n return i\n }\n\n static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n const ast = new AST(null, undefined, options)\n AST.#parseAST(pattern, ast, 0, options)\n return ast\n }\n\n // returns the regular expression if there's magic, or the unescaped\n // string if not.\n toMMPattern(): MMRegExp | string {\n // should only be called on root\n /* c8 ignore start */\n if (this !== this.#root) return this.#root.toMMPattern()\n /* c8 ignore stop */\n const glob = this.toString()\n const [re, body, hasMagic, uflag] = this.toRegExpSource()\n // if we're in nocase mode, and not nocaseMagicOnly, then we do\n // still need a regular expression if we have to case-insensitively\n // match capital/lowercase characters.\n const anyMagic =\n hasMagic ||\n this.#hasMagic ||\n (this.#options.nocase &&\n !this.#options.nocaseMagicOnly &&\n glob.toUpperCase() !== glob.toLowerCase())\n if (!anyMagic) {\n return body\n }\n\n const flags = (this.#options.nocase ? 'i' : '') + (uflag ? 'u' : '')\n return Object.assign(new RegExp(`^${re}$`, flags), {\n _src: re,\n _glob: glob,\n })\n }\n\n get options() {\n return this.#options\n }\n\n // returns the string match, the regexp source, whether there's magic\n // in the regexp (so a regular expression is required) and whether or\n // not the uflag is needed for the regular expression (for posix classes)\n // TODO: instead of injecting the start/end at this point, just return\n // the BODY of the regexp, along with the start/end portions suitable\n // for binding the start/end in either a joined full-path makeRe context\n // (where we bind to (^|/), or a standalone matchPart context (where\n // we bind to ^, and not /). Otherwise slashes get duped!\n //\n // In part-matching mode, the start is:\n // - if not isStart: nothing\n // - if traversal possible, but not allowed: ^(?!\\.\\.?$)\n // - if dots allowed or not possible: ^\n // - if dots possible and not allowed: ^(?!\\.)\n // end is:\n // - if not isEnd(): nothing\n // - else: $\n //\n // In full-path matching mode, we put the slash at the START of the\n // pattern, so start is:\n // - if first pattern: same as part-matching mode\n // - if not isStart(): nothing\n // - if traversal possible, but not allowed: /(?!\\.\\.?(?:$|/))\n // - if dots allowed or not possible: /\n // - if dots possible and not allowed: /(?!\\.)\n // end is:\n // - if last pattern, same as part-matching mode\n // - else nothing\n //\n // Always put the (?:$|/) on negated tails, though, because that has to be\n // there to bind the end of the negated pattern portion, and it's easier to\n // just stick it in now rather than try to inject it later in the middle of\n // the pattern.\n //\n // We can just always return the same end, and leave it up to the caller\n // to know whether it's going to be used joined or in parts.\n // And, if the start is adjusted slightly, can do the same there:\n // - if not isStart: nothing\n // - if traversal possible, but not allowed: (?:/|^)(?!\\.\\.?$)\n // - if dots allowed or not possible: (?:/|^)\n // - if dots possible and not allowed: (?:/|^)(?!\\.)\n //\n // But it's better to have a simpler binding without a conditional, for\n // performance, so probably better to return both start options.\n //\n // Then the caller just ignores the end if it's not the first pattern,\n // and the start always gets applied.\n //\n // But that's always going to be $ if it's the ending pattern, or nothing,\n // so the caller can just attach $ at the end of the pattern when building.\n //\n // So the todo is:\n // - better detect what kind of start is needed\n // - return both flavors of starting pattern\n // - attach $ at the end of the pattern when creating the actual RegExp\n //\n // Ah, but wait, no, that all only applies to the root when the first pattern\n // is not an extglob. If the first pattern IS an extglob, then we need all\n // that dot prevention biz to live in the extglob portions, because eg\n // +(*|.x*) can match .xy but not .yx.\n //\n // So, return the two flavors if it's #root and the first child is not an\n // AST, otherwise leave it to the child AST to handle it, and there,\n // use the (?:^|/) style of start binding.\n //\n // Even simplified further:\n // - Since the start for a join is eg /(?!\\.) and the start for a part\n // is ^(?!\\.), we can just prepend (?!\\.) to the pattern (either root\n // or start or whatever) and prepend ^ or / at the Regexp construction.\n toRegExpSource(\n allowDot?: boolean\n ): [re: string, body: string, hasMagic: boolean, uflag: boolean] {\n const dot = allowDot ?? !!this.#options.dot\n if (this.#root === this) this.#fillNegs()\n if (!this.type) {\n const noEmpty = this.isStart() && this.isEnd()\n const src = this.#parts\n .map(p => {\n const [re, _, hasMagic, uflag] =\n typeof p === 'string'\n ? AST.#parseGlob(p, this.#hasMagic, noEmpty)\n : p.toRegExpSource(allowDot)\n this.#hasMagic = this.#hasMagic || hasMagic\n this.#uflag = this.#uflag || uflag\n return re\n })\n .join('')\n\n let start = ''\n if (this.isStart()) {\n if (typeof this.#parts[0] === 'string') {\n // this is the string that will match the start of the pattern,\n // so we need to protect against dots and such.\n\n // '.' and '..' cannot match unless the pattern is that exactly,\n // even if it starts with . or dot:true is set.\n const dotTravAllowed =\n this.#parts.length === 1 && justDots.has(this.#parts[0])\n if (!dotTravAllowed) {\n const aps = addPatternStart\n // check if we have a possibility of matching . or ..,\n // and prevent that.\n const needNoTrav =\n // dots are allowed, and the pattern starts with [ or .\n (dot && aps.has(src.charAt(0))) ||\n // the pattern starts with \\., and then [ or .\n (src.startsWith('\\\\.') && aps.has(src.charAt(2))) ||\n // the pattern starts with \\.\\., and then [ or .\n (src.startsWith('\\\\.\\\\.') && aps.has(src.charAt(4)))\n // no need to prevent dots if it can't match a dot, or if a\n // sub-pattern will be preventing it anyway.\n const needNoDot = !dot && !allowDot && aps.has(src.charAt(0))\n\n start = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : ''\n }\n }\n }\n\n // append the \"end of path portion\" pattern to negation tails\n let end = ''\n if (\n this.isEnd() &&\n this.#root.#filledNegs &&\n this.#parent?.type === '!'\n ) {\n end = '(?:$|\\\\/)'\n }\n const final = start + src + end\n return [\n final,\n unescape(src),\n (this.#hasMagic = !!this.#hasMagic),\n this.#uflag,\n ]\n }\n\n // We need to calculate the body *twice* if it's a repeat pattern\n // at the start, once in nodot mode, then again in dot mode, so a\n // pattern like *(?) can match 'x.y'\n\n const repeated = this.type === '*' || this.type === '+'\n // some kind of extglob\n const start = this.type === '!' ? '(?:(?!(?:' : '(?:'\n let body = this.#partsToRegExp(dot)\n\n if (this.isStart() && this.isEnd() && !body && this.type !== '!') {\n // invalid extglob, has to at least be *something* present, if it's\n // the entire path portion.\n const s = this.toString()\n this.#parts = [s]\n this.type = null\n this.#hasMagic = undefined\n return [s, unescape(this.toString()), false, false]\n }\n\n // XXX abstract out this map method\n let bodyDotAllowed =\n !repeated || allowDot || dot || !startNoDot\n ? ''\n : this.#partsToRegExp(true)\n if (bodyDotAllowed === body) {\n bodyDotAllowed = ''\n }\n if (bodyDotAllowed) {\n body = `(?:${body})(?:${bodyDotAllowed})*?`\n }\n\n // an empty !() is exactly equivalent to a starNoEmpty\n let final = ''\n if (this.type === '!' && this.#emptyExt) {\n final = (this.isStart() && !dot ? startNoDot : '') + starNoEmpty\n } else {\n const close =\n this.type === '!'\n ? // !() must match something,but !(x) can match ''\n '))' +\n (this.isStart() && !dot && !allowDot ? startNoDot : '') +\n star +\n ')'\n : this.type === '@'\n ? ')'\n : this.type === '?'\n ? ')?'\n : this.type === '+' && bodyDotAllowed\n ? ')'\n : this.type === '*' && bodyDotAllowed\n ? `)?`\n : `)${this.type}`\n final = start + body + close\n }\n return [\n final,\n unescape(body),\n (this.#hasMagic = !!this.#hasMagic),\n this.#uflag,\n ]\n }\n\n #partsToRegExp(dot: boolean) {\n return this.#parts\n .map(p => {\n // extglob ASTs should only contain parent ASTs\n /* c8 ignore start */\n if (typeof p === 'string') {\n throw new Error('string type in extglob ast??')\n }\n /* c8 ignore stop */\n // can ignore hasMagic, because extglobs are already always magic\n const [re, _, _hasMagic, uflag] = p.toRegExpSource(dot)\n this.#uflag = this.#uflag || uflag\n return re\n })\n .filter(p => !(this.isStart() && this.isEnd()) || !!p)\n .join('|')\n }\n\n static #parseGlob(\n glob: string,\n hasMagic: boolean | undefined,\n noEmpty: boolean = false\n ): [re: string, body: string, hasMagic: boolean, uflag: boolean] {\n let escaping = false\n let re = ''\n let uflag = false\n for (let i = 0; i < glob.length; i++) {\n const c = glob.charAt(i)\n if (escaping) {\n escaping = false\n re += (reSpecials.has(c) ? '\\\\' : '') + c\n continue\n }\n if (c === '\\\\') {\n if (i === glob.length - 1) {\n re += '\\\\\\\\'\n } else {\n escaping = true\n }\n continue\n }\n if (c === '[') {\n const [src, needUflag, consumed, magic] = parseClass(glob, i)\n if (consumed) {\n re += src\n uflag = uflag || needUflag\n i += consumed - 1\n hasMagic = hasMagic || magic\n continue\n }\n }\n if (c === '*') {\n if (noEmpty && glob === '*') re += starNoEmpty\n else re += star\n hasMagic = true\n continue\n }\n if (c === '?') {\n re += qmark\n hasMagic = true\n continue\n }\n re += regExpEscape(c)\n }\n return [re, unescape(glob), !!hasMagic, uflag]\n }\n}\n","import { MinimatchOptions } from './index.js'\n/**\n * Escape all magic characters in a glob pattern.\n *\n * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}\n * option is used, then characters are escaped by wrapping in `[]`, because\n * a magic character wrapped in a character class can only be satisfied by\n * that exact character. In this mode, `\\` is _not_ escaped, because it is\n * not interpreted as a magic character, but instead as a path separator.\n */\nexport const escape = (\n s: string,\n {\n windowsPathsNoEscape = false,\n }: Pick<MinimatchOptions, 'windowsPathsNoEscape'> = {}\n) => {\n // don't need to escape +@! because we escape the parens\n // that make those magic, and escaping ! as [!] isn't valid,\n // because [!]] is a valid glob class meaning not ']'.\n return windowsPathsNoEscape\n ? s.replace(/[?*()[\\]]/g, '[$&]')\n : s.replace(/[?*()[\\]\\\\]/g, '\\\\$&')\n}\n","import expand from 'brace-expansion'\nimport { assertValidPattern } from './assert-valid-pattern.js'\nimport { AST, ExtglobType } from './ast.js'\nimport { escape } from './escape.js'\nimport { unescape } from './unescape.js'\n\ntype Platform =\n | 'aix'\n | 'android'\n | 'darwin'\n | 'freebsd'\n | 'haiku'\n | 'linux'\n | 'openbsd'\n | 'sunos'\n | 'win32'\n | 'cygwin'\n | 'netbsd'\n\nexport interface MinimatchOptions {\n nobrace?: boolean\n nocomment?: boolean\n nonegate?: boolean\n debug?: boolean\n noglobstar?: boolean\n noext?: boolean\n nonull?: boolean\n windowsPathsNoEscape?: boolean\n allowWindowsEscape?: boolean\n partial?: boolean\n dot?: boolean\n nocase?: boolean\n nocaseMagicOnly?: boolean\n magicalBraces?: boolean\n matchBase?: boolean\n flipNegate?: boolean\n preserveMultipleSlashes?: boolean\n optimizationLevel?: number\n platform?: Platform\n windowsNoMagicRoot?: boolean\n}\n\nexport const minimatch = (\n p: string,\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n assertValidPattern(pattern)\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n return new Minimatch(pattern, options).match(p)\n}\n\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/\nconst starDotExtTest = (ext: string) => (f: string) =>\n !f.startsWith('.') && f.endsWith(ext)\nconst starDotExtTestDot = (ext: string) => (f: string) => f.endsWith(ext)\nconst starDotExtTestNocase = (ext: string) => {\n ext = ext.toLowerCase()\n return (f: string) => !f.startsWith('.') && f.toLowerCase().endsWith(ext)\n}\nconst starDotExtTestNocaseDot = (ext: string) => {\n ext = ext.toLowerCase()\n return (f: string) => f.toLowerCase().endsWith(ext)\n}\nconst starDotStarRE = /^\\*+\\.\\*+$/\nconst starDotStarTest = (f: string) => !f.startsWith('.') && f.includes('.')\nconst starDotStarTestDot = (f: string) =>\n f !== '.' && f !== '..' && f.includes('.')\nconst dotStarRE = /^\\.\\*+$/\nconst dotStarTest = (f: string) => f !== '.' && f !== '..' && f.startsWith('.')\nconst starRE = /^\\*+$/\nconst starTest = (f: string) => f.length !== 0 && !f.startsWith('.')\nconst starTestDot = (f: string) => f.length !== 0 && f !== '.' && f !== '..'\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/\nconst qmarksTestNocase = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExt([$0])\n if (!ext) return noext\n ext = ext.toLowerCase()\n return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestNocaseDot = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExtDot([$0])\n if (!ext) return noext\n ext = ext.toLowerCase()\n return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestDot = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExtDot([$0])\n return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTest = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExt([$0])\n return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTestNoExt = ([$0]: RegExpMatchArray) => {\n const len = $0.length\n return (f: string) => f.length === len && !f.startsWith('.')\n}\nconst qmarksTestNoExtDot = ([$0]: RegExpMatchArray) => {\n const len = $0.length\n return (f: string) => f.length === len && f !== '.' && f !== '..'\n}\n\n/* c8 ignore start */\nconst defaultPlatform: Platform = (\n typeof process === 'object' && process\n ? (typeof process.env === 'object' &&\n process.env &&\n process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n process.platform\n : 'posix'\n) as Platform\ntype Sep = '\\\\' | '/'\nconst path: { [k: string]: { sep: Sep } } = {\n win32: { sep: '\\\\' },\n posix: { sep: '/' },\n}\n/* c8 ignore stop */\n\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep\nminimatch.sep = sep\n\nexport const GLOBSTAR = Symbol('globstar **')\nminimatch.GLOBSTAR = GLOBSTAR\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]'\n\n// * => any number of characters\nconst star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nconst twoStarDot = '(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?'\n\nexport const filter =\n (pattern: string, options: MinimatchOptions = {}) =>\n (p: string) =>\n minimatch(p, pattern, options)\nminimatch.filter = filter\n\nconst ext = (a: MinimatchOptions, b: MinimatchOptions = {}) =>\n Object.assign({}, a, b)\n\nexport const defaults = (def: MinimatchOptions): typeof minimatch => {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch\n }\n\n const orig = minimatch\n\n const m = (p: string, pattern: string, options: MinimatchOptions = {}) =>\n orig(p, pattern, ext(def, options))\n\n return Object.assign(m, {\n Minimatch: class Minimatch extends orig.Minimatch {\n constructor(pattern: string, options: MinimatchOptions = {}) {\n super(pattern, ext(def, options))\n }\n static defaults(options: MinimatchOptions) {\n return orig.defaults(ext(def, options)).Minimatch\n }\n },\n\n AST: class AST extends orig.AST {\n /* c8 ignore start */\n constructor(\n type: ExtglobType | null,\n parent?: AST,\n options: MinimatchOptions = {}\n ) {\n super(type, parent, ext(def, options))\n }\n /* c8 ignore stop */\n\n static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n return orig.AST.fromGlob(pattern, ext(def, options))\n }\n },\n\n unescape: (\n s: string,\n options: Pick<MinimatchOptions, 'windowsPathsNoEscape'> = {}\n ) => orig.unescape(s, ext(def, options)),\n\n escape: (\n s: string,\n options: Pick<MinimatchOptions, 'windowsPathsNoEscape'> = {}\n ) => orig.escape(s, ext(def, options)),\n\n filter: (pattern: string, options: MinimatchOptions = {}) =>\n orig.filter(pattern, ext(def, options)),\n\n defaults: (options: MinimatchOptions) => orig.defaults(ext(def, options)),\n\n makeRe: (pattern: string, options: MinimatchOptions = {}) =>\n orig.makeRe(pattern, ext(def, options)),\n\n braceExpand: (pattern: string, options: MinimatchOptions = {}) =>\n orig.braceExpand(pattern, ext(def, options)),\n\n match: (list: string[], pattern: string, options: MinimatchOptions = {}) =>\n orig.match(list, pattern, ext(def, options)),\n\n sep: orig.sep,\n GLOBSTAR: GLOBSTAR as typeof GLOBSTAR,\n })\n}\nminimatch.defaults = defaults\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nexport const braceExpand = (\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n assertValidPattern(pattern)\n\n // Thanks to Yeting Li <https://github.com/yetingli> for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\nminimatch.braceExpand = braceExpand\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\n\nexport const makeRe = (pattern: string, options: MinimatchOptions = {}) =>\n new Minimatch(pattern, options).makeRe()\nminimatch.makeRe = makeRe\n\nexport const match = (\n list: string[],\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n const mm = new Minimatch(pattern, options)\n list = list.filter(f => mm.match(f))\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\nminimatch.match = match\n\n// replace stuff like \\* with *\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/\nconst regExpEscape = (s: string) =>\n s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\nexport type MMRegExp = RegExp & {\n _src?: string\n _glob?: string\n}\n\nexport type ParseReturnFiltered = string | MMRegExp | typeof GLOBSTAR\nexport type ParseReturn = ParseReturnFiltered | false\n\nexport class Minimatch {\n options: MinimatchOptions\n set: ParseReturnFiltered[][]\n pattern: string\n\n windowsPathsNoEscape: boolean\n nonegate: boolean\n negate: boolean\n comment: boolean\n empty: boolean\n preserveMultipleSlashes: boolean\n partial: boolean\n globSet: string[]\n globParts: string[][]\n nocase: boolean\n\n isWindows: boolean\n platform: Platform\n windowsNoMagicRoot: boolean\n\n regexp: false | null | MMRegExp\n constructor(pattern: string, options: MinimatchOptions = {}) {\n assertValidPattern(pattern)\n\n options = options || {}\n this.options = options\n this.pattern = pattern\n this.platform = options.platform || defaultPlatform\n this.isWindows = this.platform === 'win32'\n this.windowsPathsNoEscape =\n !!options.windowsPathsNoEscape || options.allowWindowsEscape === false\n if (this.windowsPathsNoEscape) {\n this.pattern = this.pattern.replace(/\\\\/g, '/')\n }\n this.preserveMultipleSlashes = !!options.preserveMultipleSlashes\n this.regexp = null\n this.negate = false\n this.nonegate = !!options.nonegate\n this.comment = false\n this.empty = false\n this.partial = !!options.partial\n this.nocase = !!this.options.nocase\n this.windowsNoMagicRoot =\n options.windowsNoMagicRoot !== undefined\n ? options.windowsNoMagicRoot\n : !!(this.isWindows && this.nocase)\n\n this.globSet = []\n this.globParts = []\n this.set = []\n\n // make the set of regexps etc.\n this.make()\n }\n\n hasMagic(): boolean {\n if (this.options.magicalBraces && this.set.length > 1) {\n return true\n }\n for (const pattern of this.set) {\n for (const part of pattern) {\n if (typeof part !== 'string') return true\n }\n }\n return false\n }\n\n debug(..._: any[]) {}\n\n make() {\n const pattern = this.pattern\n const options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n this.globSet = [...new Set(this.braceExpand())]\n\n if (options.debug) {\n this.debug = (...args: any[]) => console.error(...args)\n }\n\n this.debug(this.pattern, this.globSet)\n\n // step 3: now we have a set, so turn each one into a series of\n // path-portion matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n //\n // First, we preprocess to make the glob pattern sets a bit simpler\n // and deduped. There are some perf-killing patterns that can cause\n // problems with a glob walk, but we can simplify them down a bit.\n const rawGlobParts = this.globSet.map(s => this.slashSplit(s))\n this.globParts = this.preprocess(rawGlobParts)\n this.debug(this.pattern, this.globParts)\n\n // glob --> regexps\n let set = this.globParts.map((s, _, __) => {\n if (this.isWindows && this.windowsNoMagicRoot) {\n // check if it's a drive or unc path.\n const isUNC =\n s[0] === '' &&\n s[1] === '' &&\n (s[2] === '?' || !globMagic.test(s[2])) &&\n !globMagic.test(s[3])\n const isDrive = /^[a-z]:/i.test(s[0])\n if (isUNC) {\n return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))]\n } else if (isDrive) {\n return [s[0], ...s.slice(1).map(ss => this.parse(ss))]\n }\n }\n return s.map(ss => this.parse(ss))\n })\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n this.set = set.filter(\n s => s.indexOf(false) === -1\n ) as ParseReturnFiltered[][]\n\n // do not treat the ? in UNC paths as magic\n if (this.isWindows) {\n for (let i = 0; i < this.set.length; i++) {\n const p = this.set[i]\n if (\n p[0] === '' &&\n p[1] === '' &&\n this.globParts[i][2] === '?' &&\n typeof p[3] === 'string' &&\n /^[a-z]:$/i.test(p[3])\n ) {\n p[2] = '?'\n }\n }\n }\n\n this.debug(this.pattern, this.set)\n }\n\n // various transforms to equivalent pattern sets that are\n // faster to process in a filesystem walk. The goal is to\n // eliminate what we can, and push all ** patterns as far\n // to the right as possible, even if it increases the number\n // of patterns that we have to process.\n preprocess(globParts: string[][]) {\n // if we're not in globstar mode, then turn all ** into *\n if (this.options.noglobstar) {\n for (let i = 0; i < globParts.length; i++) {\n for (let j = 0; j < globParts[i].length; j++) {\n if (globParts[i][j] === '**') {\n globParts[i][j] = '*'\n }\n }\n }\n }\n\n const { optimizationLevel = 1 } = this.options\n\n if (optimizationLevel >= 2) {\n // aggressive optimization for the purpose of fs walking\n globParts = this.firstPhasePreProcess(globParts)\n globParts = this.secondPhasePreProcess(globParts)\n } else if (optimizationLevel >= 1) {\n // just basic optimizations to remove some .. parts\n globParts = this.levelOneOptimize(globParts)\n } else {\n // just collapse multiple ** portions into one\n globParts = this.adjascentGlobstarOptimize(globParts)\n }\n\n return globParts\n }\n\n // just get rid of adjascent ** portions\n adjascentGlobstarOptimize(globParts: string[][]) {\n return globParts.map(parts => {\n let gs: number = -1\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let i = gs\n while (parts[i + 1] === '**') {\n i++\n }\n if (i !== gs) {\n parts.splice(gs, i - gs)\n }\n }\n return parts\n })\n }\n\n // get rid of adjascent ** and resolve .. portions\n levelOneOptimize(globParts: string[][]) {\n return globParts.map(parts => {\n parts = parts.reduce((set: string[], part) => {\n const prev = set[set.length - 1]\n if (part === '**' && prev === '**') {\n return set\n }\n if (part === '..') {\n if (prev && prev !== '..' && prev !== '.' && prev !== '**') {\n set.pop()\n return set\n }\n }\n set.push(part)\n return set\n }, [])\n return parts.length === 0 ? [''] : parts\n })\n }\n\n levelTwoFileOptimize(parts: string | string[]) {\n if (!Array.isArray(parts)) {\n parts = this.slashSplit(parts)\n }\n let didSomething: boolean = false\n do {\n didSomething = false\n // <pre>/<e>/<rest> -> <pre>/<rest>\n if (!this.preserveMultipleSlashes) {\n for (let i = 1; i < parts.length - 1; i++) {\n const p = parts[i]\n // don't squeeze out UNC patterns\n if (i === 1 && p === '' && parts[0] === '') continue\n if (p === '.' || p === '') {\n didSomething = true\n parts.splice(i, 1)\n i--\n }\n }\n if (\n parts[0] === '.' &&\n parts.length === 2 &&\n (parts[1] === '.' || parts[1] === '')\n ) {\n didSomething = true\n parts.pop()\n }\n }\n\n // <pre>/<p>/../<rest> -> <pre>/<rest>\n let dd: number = 0\n while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n const p = parts[dd - 1]\n if (p && p !== '.' && p !== '..' && p !== '**') {\n didSomething = true\n parts.splice(dd - 1, 2)\n dd -= 2\n }\n }\n } while (didSomething)\n return parts.length === 0 ? [''] : parts\n }\n\n // First phase: single-pattern processing\n // <pre> is 1 or more portions\n // <rest> is 1 or more portions\n // <p> is any portion other than ., .., '', or **\n // <e> is . or ''\n //\n // **/.. is *brutal* for filesystem walking performance, because\n // it effectively resets the recursive walk each time it occurs,\n // and ** cannot be reduced out by a .. pattern part like a regexp\n // or most strings (other than .., ., and '') can be.\n //\n // <pre>/**/../<p>/<p>/<rest> -> {<pre>/../<p>/<p>/<rest>,<pre>/**/<p>/<p>/<rest>}\n // <pre>/<e>/<rest> -> <pre>/<rest>\n // <pre>/<p>/../<rest> -> <pre>/<rest>\n // **/**/<rest> -> **/<rest>\n //\n // **/*/<rest> -> */**/<rest> <== not valid because ** doesn't follow\n // this WOULD be allowed if ** did follow symlinks, or * didn't\n firstPhasePreProcess(globParts: string[][]) {\n let didSomething = false\n do {\n didSomething = false\n // <pre>/**/../<p>/<p>/<rest> -> {<pre>/../<p>/<p>/<rest>,<pre>/**/<p>/<p>/<rest>}\n for (let parts of globParts) {\n let gs: number = -1\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss: number = gs\n while (parts[gss + 1] === '**') {\n // <pre>/**/**/<rest> -> <pre>/**/<rest>\n gss++\n }\n // eg, if gs is 2 and gss is 4, that means we have 3 **\n // parts, and can remove 2 of them.\n if (gss > gs) {\n parts.splice(gs + 1, gss - gs)\n }\n\n let next = parts[gs + 1]\n const p = parts[gs + 2]\n const p2 = parts[gs + 3]\n if (next !== '..') continue\n if (\n !p ||\n p === '.' ||\n p === '..' ||\n !p2 ||\n p2 === '.' ||\n p2 === '..'\n ) {\n continue\n }\n didSomething = true\n // edit parts in place, and push the new one\n parts.splice(gs, 1)\n const other = parts.slice(0)\n other[gs] = '**'\n globParts.push(other)\n gs--\n }\n\n // <pre>/<e>/<rest> -> <pre>/<rest>\n if (!this.preserveMultipleSlashes) {\n for (let i = 1; i < parts.length - 1; i++) {\n const p = parts[i]\n // don't squeeze out UNC patterns\n if (i === 1 && p === '' && parts[0] === '') continue\n if (p === '.' || p === '') {\n didSomething = true\n parts.splice(i, 1)\n i--\n }\n }\n if (\n parts[0] === '.' &&\n parts.length === 2 &&\n (parts[1] === '.' || parts[1] === '')\n ) {\n didSomething = true\n parts.pop()\n }\n }\n\n // <pre>/<p>/../<rest> -> <pre>/<rest>\n let dd: number = 0\n while (-1 !== (dd = parts.indexOf('..', dd + 1))) {\n const p = parts[dd - 1]\n if (p && p !== '.' && p !== '..' && p !== '**') {\n didSomething = true\n const needDot = dd === 1 && parts[dd + 1] === '**'\n const splin = needDot ? ['.'] : []\n parts.splice(dd - 1, 2, ...splin)\n if (parts.length === 0) parts.push('')\n dd -= 2\n }\n }\n }\n } while (didSomething)\n\n return globParts\n }\n\n // second phase: multi-pattern dedupes\n // {<pre>/*/<rest>,<pre>/<p>/<rest>} -> <pre>/*/<rest>\n // {<pre>/<rest>,<pre>/<rest>} -> <pre>/<rest>\n // {<pre>/**/<rest>,<pre>/<rest>} -> <pre>/**/<rest>\n //\n // {<pre>/**/<rest>,<pre>/**/<p>/<rest>} -> <pre>/**/<rest>\n // ^-- not valid because ** doens't follow symlinks\n secondPhasePreProcess(globParts: string[][]): string[][] {\n for (let i = 0; i < globParts.length - 1; i++) {\n for (let j = i + 1; j < globParts.length; j++) {\n const matched = this.partsMatch(\n globParts[i],\n globParts[j],\n !this.preserveMultipleSlashes\n )\n if (matched) {\n globParts[i] = []\n globParts[j] = matched\n break\n }\n }\n }\n return globParts.filter(gs => gs.length)\n }\n\n partsMatch(\n a: string[],\n b: string[],\n emptyGSMatch: boolean = false\n ): false | string[] {\n let ai = 0\n let bi = 0\n let result: string[] = []\n let which: string = ''\n while (ai < a.length && bi < b.length) {\n if (a[ai] === b[bi]) {\n result.push(which === 'b' ? b[bi] : a[ai])\n ai++\n bi++\n } else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n result.push(a[ai])\n ai++\n } else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n result.push(b[bi])\n bi++\n } else if (\n a[ai] === '*' &&\n b[bi] &&\n (this.options.dot || !b[bi].startsWith('.')) &&\n b[bi] !== '**'\n ) {\n if (which === 'b') return false\n which = 'a'\n result.push(a[ai])\n ai++\n bi++\n } else if (\n b[bi] === '*' &&\n a[ai] &&\n (this.options.dot || !a[ai].startsWith('.')) &&\n a[ai] !== '**'\n ) {\n if (which === 'a') return false\n which = 'b'\n result.push(b[bi])\n ai++\n bi++\n } else {\n return false\n }\n }\n // if we fall out of the loop, it means they two are identical\n // as long as their lengths match\n return a.length === b.length && result\n }\n\n parseNegate() {\n if (this.nonegate) return\n\n const pattern = this.pattern\n let negate = false\n let negateOffset = 0\n\n for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.slice(negateOffset)\n this.negate = negate\n }\n\n // set partial to true to test if, for example,\n // \"/a/b\" matches the start of \"/*/b/*/d\"\n // Partial means, if you run out of file before you run\n // out of pattern, then that's fine, as long as all\n // the parts match.\n matchOne(file: string[], pattern: ParseReturn[], partial: boolean = false) {\n const options = this.options\n\n // UNC paths like //?/X:/... can match X:/... and vice versa\n // Drive letters in absolute drive or unc paths are always compared\n // case-insensitively.\n if (this.isWindows) {\n const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0])\n const fileUNC =\n !fileDrive &&\n file[0] === '' &&\n file[1] === '' &&\n file[2] === '?' &&\n /^[a-z]:$/i.test(file[3])\n\n const patternDrive =\n typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0])\n const patternUNC =\n !patternDrive &&\n pattern[0] === '' &&\n pattern[1] === '' &&\n pattern[2] === '?' &&\n typeof pattern[3] === 'string' &&\n /^[a-z]:$/i.test(pattern[3])\n\n const fdi = fileUNC ? 3 : fileDrive ? 0 : undefined\n const pdi = patternUNC ? 3 : patternDrive ? 0 : undefined\n if (typeof fdi === 'number' && typeof pdi === 'number') {\n const [fd, pd]: [string, string] = [file[fdi], pattern[pdi] as string]\n if (fd.toLowerCase() === pd.toLowerCase()) {\n pattern[pdi] = fd\n if (pdi > fdi) {\n pattern = pattern.slice(pdi)\n } else if (fdi > pdi) {\n file = file.slice(fdi)\n }\n }\n }\n }\n\n // resolve and reduce . and .. portions in the file as well.\n // dont' need to do the second phase, because it's only one string[]\n const { optimizationLevel = 1 } = this.options\n if (optimizationLevel >= 2) {\n file = this.levelTwoFileOptimize(file)\n }\n\n this.debug('matchOne', this, { file, pattern })\n this.debug('matchOne', file.length, pattern.length)\n\n for (\n var fi = 0, pi = 0, fl = file.length, pl = pattern.length;\n fi < fl && pi < pl;\n fi++, pi++\n ) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n /* c8 ignore start */\n if (p === false) {\n return false\n }\n /* c8 ignore stop */\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (\n file[fi] === '.' ||\n file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')\n )\n return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (\n swallowee === '.' ||\n swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')\n ) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n /* c8 ignore start */\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) {\n return true\n }\n }\n /* c8 ignore stop */\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n let hit: boolean\n if (typeof p === 'string') {\n hit = f === p\n this.debug('string match', p, f, hit)\n } else {\n hit = p.test(f)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n return fi === fl - 1 && file[fi] === ''\n\n /* c8 ignore start */\n } else {\n // should be unreachable.\n throw new Error('wtf?')\n }\n /* c8 ignore stop */\n }\n\n braceExpand() {\n return braceExpand(this.pattern, this.options)\n }\n\n parse(pattern: string): ParseReturn {\n assertValidPattern(pattern)\n\n const options = this.options\n\n // shortcuts\n if (pattern === '**') return GLOBSTAR\n if (pattern === '') return ''\n\n // far and away, the most common glob pattern parts are\n // *, *.*, and *.<ext> Add a fast check method for those.\n let m: RegExpMatchArray | null\n let fastTest: null | ((f: string) => boolean) = null\n if ((m = pattern.match(starRE))) {\n fastTest = options.dot ? starTestDot : starTest\n } else if ((m = pattern.match(starDotExtRE))) {\n fastTest = (\n options.nocase\n ? options.dot\n ? starDotExtTestNocaseDot\n : starDotExtTestNocase\n : options.dot\n ? starDotExtTestDot\n : starDotExtTest\n )(m[1])\n } else if ((m = pattern.match(qmarksRE))) {\n fastTest = (\n options.nocase\n ? options.dot\n ? qmarksTestNocaseDot\n : qmarksTestNocase\n : options.dot\n ? qmarksTestDot\n : qmarksTest\n )(m)\n } else if ((m = pattern.match(starDotStarRE))) {\n fastTest = options.dot ? starDotStarTestDot : starDotStarTest\n } else if ((m = pattern.match(dotStarRE))) {\n fastTest = dotStarTest\n }\n\n const re = AST.fromGlob(pattern, this.options).toMMPattern()\n if (fastTest && typeof re === 'object') {\n // Avoids overriding in frozen environments\n Reflect.defineProperty(re, 'test', { value: fastTest })\n }\n return re\n }\n\n makeRe() {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n const set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n const options = this.options\n\n const twoStar = options.noglobstar\n ? star\n : options.dot\n ? twoStarDot\n : twoStarNoDot\n const flags = new Set(options.nocase ? ['i'] : [])\n\n // regexpify non-globstar patterns\n // if ** is only item, then we just do one twoStar\n // if ** is first, and there are more, prepend (\\/|twoStar\\/)? to next\n // if ** is last, append (\\/twoStar|) to previous\n // if ** is in the middle, append (\\/|\\/twoStar\\/) to previous\n // then filter out GLOBSTAR symbols\n let re = set\n .map(pattern => {\n const pp: (string | typeof GLOBSTAR)[] = pattern.map(p => {\n if (p instanceof RegExp) {\n for (const f of p.flags.split('')) flags.add(f)\n }\n return typeof p === 'string'\n ? regExpEscape(p)\n : p === GLOBSTAR\n ? GLOBSTAR\n : p._src\n }) as (string | typeof GLOBSTAR)[]\n pp.forEach((p, i) => {\n const next = pp[i + 1]\n const prev = pp[i - 1]\n if (p !== GLOBSTAR || prev === GLOBSTAR) {\n return\n }\n if (prev === undefined) {\n if (next !== undefined && next !== GLOBSTAR) {\n pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next\n } else {\n pp[i] = twoStar\n }\n } else if (next === undefined) {\n pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?'\n } else if (next !== GLOBSTAR) {\n pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next\n pp[i + 1] = GLOBSTAR\n }\n })\n return pp.filter(p => p !== GLOBSTAR).join('/')\n })\n .join('|')\n\n // need to wrap in parens if we had more than one thing with |,\n // otherwise only the first will be anchored to ^ and the last to $\n const [open, close] = set.length > 1 ? ['(?:', ')'] : ['', '']\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^' + open + re + close + '$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').+$'\n\n try {\n this.regexp = new RegExp(re, [...flags].join(''))\n /* c8 ignore start */\n } catch (ex) {\n // should be impossible\n this.regexp = false\n }\n /* c8 ignore stop */\n return this.regexp\n }\n\n slashSplit(p: string) {\n // if p starts with // on windows, we preserve that\n // so that UNC paths aren't broken. Otherwise, any number of\n // / characters are coalesced into one, unless\n // preserveMultipleSlashes is set to true.\n if (this.preserveMultipleSlashes) {\n return p.split('/')\n } else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n // add an extra '' for the one we lose\n return ['', ...p.split(/\\/+/)]\n } else {\n return p.split(/\\/+/)\n }\n }\n\n match(f: string, partial = this.partial) {\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) {\n return false\n }\n if (this.empty) {\n return f === ''\n }\n\n if (f === '/' && partial) {\n return true\n }\n\n const options = this.options\n\n // windows: need to use /, not \\\n if (this.isWindows) {\n f = f.split('\\\\').join('/')\n }\n\n // treat the test path as a set of pathparts.\n const ff = this.slashSplit(f)\n this.debug(this.pattern, 'split', ff)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n const set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n let filename: string = ff[ff.length - 1]\n if (!filename) {\n for (let i = ff.length - 2; !filename && i >= 0; i--) {\n filename = ff[i]\n }\n }\n\n for (let i = 0; i < set.length; i++) {\n const pattern = set[i]\n let file = ff\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n const hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) {\n return true\n }\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) {\n return false\n }\n return this.negate\n }\n\n static defaults(def: MinimatchOptions) {\n return minimatch.defaults(def).Minimatch\n }\n}\n/* c8 ignore start */\nexport { AST } from './ast.js'\nexport { escape } from './escape.js'\nexport { unescape } from './unescape.js'\n/* c8 ignore stop */\nminimatch.AST = AST\nminimatch.Minimatch = Minimatch\nminimatch.escape = escape\nminimatch.unescape = unescape\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useProgramFromProjectService = useProgramFromProjectService;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst minimatch_1 = require(\"minimatch\");\nconst node_path_1 = __importDefault(require(\"node:path\"));\nconst node_util_1 = __importDefault(require(\"node:util\"));\nconst ts = __importStar(require(\"typescript\"));\nconst createProjectProgram_1 = require(\"./create-program/createProjectProgram\");\nconst createSourceFile_1 = require(\"./create-program/createSourceFile\");\nconst shared_1 = require(\"./create-program/shared\");\nconst validateDefaultProjectForFilesGlob_1 = require(\"./create-program/validateDefaultProjectForFilesGlob\");\nconst RELOAD_THROTTLE_MS = 250;\nconst log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService');\nconst serviceFileExtensions = new WeakMap();\nconst updateExtraFileExtensions = (service, extraFileExtensions) => {\n const currentServiceFileExtensions = serviceFileExtensions.get(service) ?? [];\n if (!node_util_1.default.isDeepStrictEqual(currentServiceFileExtensions, extraFileExtensions)) {\n log('Updating extra file extensions: before=%s: after=%s', currentServiceFileExtensions, extraFileExtensions);\n service.setHostConfiguration({\n extraFileExtensions: extraFileExtensions.map(extension => ({\n extension,\n isMixedContent: false,\n scriptKind: ts.ScriptKind.Deferred,\n })),\n });\n serviceFileExtensions.set(service, extraFileExtensions);\n log('Extra file extensions updated: %o', extraFileExtensions);\n }\n};\nfunction openClientFileFromProjectService(defaultProjectMatchedFiles, isDefaultProjectAllowed, filePathAbsolute, parseSettings, serviceSettings) {\n const opened = openClientFileAndMaybeReload();\n log('Result from attempting to open client file: %o', opened);\n log('Default project allowed path: %s, based on config file: %s', isDefaultProjectAllowed, opened.configFileName);\n if (opened.configFileName) {\n if (isDefaultProjectAllowed) {\n throw new Error(`${parseSettings.filePath} was included by allowDefaultProject but also was found in the project service. Consider removing it from allowDefaultProject.`);\n }\n }\n else {\n const wasNotFound = `${parseSettings.filePath} was not found by the project service`;\n const fileExtension = node_path_1.default.extname(parseSettings.filePath);\n const extraFileExtensions = parseSettings.extraFileExtensions;\n if (!shared_1.DEFAULT_EXTRA_FILE_EXTENSIONS.has(fileExtension) &&\n !extraFileExtensions.includes(fileExtension)) {\n const nonStandardExt = `${wasNotFound} because the extension for the file (\\`${fileExtension}\\`) is non-standard`;\n if (extraFileExtensions.length > 0) {\n throw new Error(`${nonStandardExt}. It should be added to your existing \\`parserOptions.extraFileExtensions\\`.`);\n }\n else {\n throw new Error(`${nonStandardExt}. You should add \\`parserOptions.extraFileExtensions\\` to your config.`);\n }\n }\n if (!isDefaultProjectAllowed) {\n throw new Error(`${wasNotFound}. Consider either including it in the tsconfig.json or including it in allowDefaultProject.`);\n }\n }\n // No a configFileName indicates this file wasn't included in a TSConfig.\n // That means it must get its type information from the default project.\n if (!opened.configFileName) {\n defaultProjectMatchedFiles.add(filePathAbsolute);\n if (defaultProjectMatchedFiles.size >\n serviceSettings.maximumDefaultProjectFileMatchCount) {\n const filePrintLimit = 20;\n const filesToPrint = [...defaultProjectMatchedFiles].slice(0, filePrintLimit);\n const truncatedFileCount = defaultProjectMatchedFiles.size - filesToPrint.length;\n throw new Error(`Too many files (>${serviceSettings.maximumDefaultProjectFileMatchCount}) have matched the default project.${validateDefaultProjectForFilesGlob_1.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION}\nMatching files:\n${filesToPrint.map(file => `- ${file}`).join('\\n')}\n${truncatedFileCount ? `...and ${truncatedFileCount} more files\\n` : ''}\nIf you absolutely need more files included, set parserOptions.projectService.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING to a larger value.\n`);\n }\n }\n return opened;\n function openClientFile() {\n return serviceSettings.service.openClientFile(filePathAbsolute, parseSettings.codeFullText, \n /* scriptKind */ undefined, parseSettings.tsconfigRootDir);\n }\n function openClientFileAndMaybeReload() {\n log('Opening project service client file at path: %s', filePathAbsolute);\n let opened = openClientFile();\n // If no project included the file and we're not in single-run mode,\n // we might be running in an editor with outdated file info.\n // We can try refreshing the project service - debounced for performance.\n if (!opened.configFileErrors &&\n !opened.configFileName &&\n !parseSettings.singleRun &&\n !isDefaultProjectAllowed &&\n performance.now() - serviceSettings.lastReloadTimestamp >\n RELOAD_THROTTLE_MS) {\n log('No config file found; reloading project service and retrying.');\n serviceSettings.service.reloadProjects();\n opened = openClientFile();\n serviceSettings.lastReloadTimestamp = performance.now();\n }\n return opened;\n }\n}\nfunction createNoProgramWithProjectService(filePathAbsolute, parseSettings, service) {\n log('No project service information available. Creating no program.');\n // If the project service knows about this file, this informs if of changes.\n // Doing so ensures that:\n // - if the file is not part of a project, we don't waste time creating a program (fast non-type-aware linting)\n // - otherwise, we refresh the file in the project service (moderately fast, since the project is already loaded)\n if (service.getScriptInfo(filePathAbsolute)) {\n log('Script info available. Opening client file in project service.');\n service.openClientFile(filePathAbsolute, parseSettings.codeFullText, \n /* scriptKind */ undefined, parseSettings.tsconfigRootDir);\n }\n return (0, createSourceFile_1.createNoProgram)(parseSettings);\n}\nfunction retrieveASTAndProgramFor(filePathAbsolute, parseSettings, serviceSettings) {\n log('Retrieving script info and then program for: %s', filePathAbsolute);\n const scriptInfo = serviceSettings.service.getScriptInfo(filePathAbsolute);\n /* eslint-disable @typescript-eslint/no-non-null-assertion */\n const program = serviceSettings.service\n .getDefaultProjectForFile(scriptInfo.fileName, true)\n .getLanguageService(/*ensureSynchronized*/ true)\n .getProgram();\n /* eslint-enable @typescript-eslint/no-non-null-assertion */\n if (!program) {\n log('Could not find project service program for: %s', filePathAbsolute);\n return undefined;\n }\n log('Found project service program for: %s', filePathAbsolute);\n return (0, createProjectProgram_1.createProjectProgram)(parseSettings, [program]);\n}\nfunction useProgramFromProjectService(serviceSettings, parseSettings, hasFullTypeInformation, defaultProjectMatchedFiles) {\n // NOTE: triggers a full project reload when changes are detected\n updateExtraFileExtensions(serviceSettings.service, parseSettings.extraFileExtensions);\n // We don't canonicalize the filename because it caused a performance regression.\n // See https://github.com/typescript-eslint/typescript-eslint/issues/8519\n const filePathAbsolute = absolutify(parseSettings.filePath, serviceSettings);\n log('Opening project service file for: %s at absolute path %s', parseSettings.filePath, filePathAbsolute);\n const filePathRelative = node_path_1.default.relative(parseSettings.tsconfigRootDir, filePathAbsolute);\n const isDefaultProjectAllowed = filePathMatchedBy(filePathRelative, serviceSettings.allowDefaultProject);\n // Type-aware linting is disabled for this file.\n // However, type-aware lint rules might still rely on its contents.\n if (!hasFullTypeInformation && !isDefaultProjectAllowed) {\n return createNoProgramWithProjectService(filePathAbsolute, parseSettings, serviceSettings.service);\n }\n // If type info was requested, we attempt to open it in the project service.\n // By now, the file is known to be one of:\n // - in the project service (valid configuration)\n // - allowlisted in the default project (valid configuration)\n // - neither, which openClientFileFromProjectService will throw an error for\n const opened = hasFullTypeInformation &&\n openClientFileFromProjectService(defaultProjectMatchedFiles, isDefaultProjectAllowed, filePathAbsolute, parseSettings, serviceSettings);\n log('Opened project service file: %o', opened);\n return retrieveASTAndProgramFor(filePathAbsolute, parseSettings, serviceSettings);\n}\nfunction absolutify(filePath, serviceSettings) {\n return node_path_1.default.isAbsolute(filePath)\n ? filePath\n : node_path_1.default.join(serviceSettings.service.host.getCurrentDirectory(), filePath);\n}\nfunction filePathMatchedBy(filePath, allowDefaultProject) {\n return !!allowDefaultProject?.some(pattern => (0, minimatch_1.minimatch)(filePath, pattern));\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.clearProgramCache = clearProgramCache;\nexports.clearDefaultProjectMatchedFiles = clearDefaultProjectMatchedFiles;\nexports.parse = parse;\nexports.clearParseAndGenerateServicesCalls = clearParseAndGenerateServicesCalls;\nexports.parseAndGenerateServices = parseAndGenerateServices;\nconst debug_1 = __importDefault(require(\"debug\"));\nconst ast_converter_1 = require(\"./ast-converter\");\nconst convert_1 = require(\"./convert\");\nconst createIsolatedProgram_1 = require(\"./create-program/createIsolatedProgram\");\nconst createProjectProgram_1 = require(\"./create-program/createProjectProgram\");\nconst createSourceFile_1 = require(\"./create-program/createSourceFile\");\nconst getWatchProgramsForProjects_1 = require(\"./create-program/getWatchProgramsForProjects\");\nconst useProvidedPrograms_1 = require(\"./create-program/useProvidedPrograms\");\nconst createParserServices_1 = require(\"./createParserServices\");\nconst createParseSettings_1 = require(\"./parseSettings/createParseSettings\");\nconst semantic_or_syntactic_errors_1 = require(\"./semantic-or-syntactic-errors\");\nconst useProgramFromProjectService_1 = require(\"./useProgramFromProjectService\");\nconst log = (0, debug_1.default)('typescript-eslint:typescript-estree:parser');\n/**\n * Cache existing programs for the single run use-case.\n *\n * clearProgramCache() is only intended to be used in testing to ensure the parser is clean between tests.\n */\nconst existingPrograms = new Map();\nfunction clearProgramCache() {\n existingPrograms.clear();\n}\nconst defaultProjectMatchedFiles = new Set();\nfunction clearDefaultProjectMatchedFiles() {\n defaultProjectMatchedFiles.clear();\n}\n/**\n * @param parseSettings Internal settings for parsing the file\n * @param hasFullTypeInformation True if the program should be attempted to be calculated from provided tsconfig files\n * @returns Returns a source file and program corresponding to the linted code\n */\nfunction getProgramAndAST(parseSettings, hasFullTypeInformation) {\n if (parseSettings.projectService) {\n const fromProjectService = (0, useProgramFromProjectService_1.useProgramFromProjectService)(parseSettings.projectService, parseSettings, hasFullTypeInformation, defaultProjectMatchedFiles);\n if (fromProjectService) {\n return fromProjectService;\n }\n }\n if (parseSettings.programs) {\n const fromProvidedPrograms = (0, useProvidedPrograms_1.useProvidedPrograms)(parseSettings.programs, parseSettings);\n if (fromProvidedPrograms) {\n return fromProvidedPrograms;\n }\n }\n // no need to waste time creating a program as the caller didn't want parser services\n // so we can save time and just create a lonesome source file\n if (!hasFullTypeInformation) {\n return (0, createSourceFile_1.createNoProgram)(parseSettings);\n }\n return (0, createProjectProgram_1.createProjectProgram)(parseSettings, (0, getWatchProgramsForProjects_1.getWatchProgramsForProjects)(parseSettings));\n}\nfunction parse(code, options) {\n const { ast } = parseWithNodeMapsInternal(code, options, false);\n return ast;\n}\nfunction parseWithNodeMapsInternal(code, options, shouldPreserveNodeMaps) {\n /**\n * Reset the parse configuration\n */\n const parseSettings = (0, createParseSettings_1.createParseSettings)(code, options);\n /**\n * Ensure users do not attempt to use parse() when they need parseAndGenerateServices()\n */\n if (options?.errorOnTypeScriptSyntacticAndSemanticIssues) {\n throw new Error(`\"errorOnTypeScriptSyntacticAndSemanticIssues\" is only supported for parseAndGenerateServices()`);\n }\n /**\n * Create a ts.SourceFile directly, no ts.Program is needed for a simple parse\n */\n const ast = (0, createSourceFile_1.createSourceFile)(parseSettings);\n /**\n * Convert the TypeScript AST to an ESTree-compatible one\n */\n const { astMaps, estree } = (0, ast_converter_1.astConverter)(ast, parseSettings, shouldPreserveNodeMaps);\n return {\n ast: estree,\n esTreeNodeToTSNodeMap: astMaps.esTreeNodeToTSNodeMap,\n tsNodeToESTreeNodeMap: astMaps.tsNodeToESTreeNodeMap,\n };\n}\nlet parseAndGenerateServicesCalls = {};\n// Privately exported utility intended for use in typescript-eslint unit tests only\nfunction clearParseAndGenerateServicesCalls() {\n parseAndGenerateServicesCalls = {};\n}\nfunction parseAndGenerateServices(code, tsestreeOptions) {\n /**\n * Reset the parse configuration\n */\n const parseSettings = (0, createParseSettings_1.createParseSettings)(code, tsestreeOptions);\n /**\n * If this is a single run in which the user has not provided any existing programs but there\n * are programs which need to be created from the provided \"project\" option,\n * create an Iterable which will lazily create the programs as needed by the iteration logic\n */\n if (parseSettings.singleRun &&\n !parseSettings.programs &&\n parseSettings.projects.size > 0) {\n parseSettings.programs = {\n *[Symbol.iterator]() {\n for (const configFile of parseSettings.projects) {\n const existingProgram = existingPrograms.get(configFile[0]);\n if (existingProgram) {\n yield existingProgram;\n }\n else {\n log('Detected single-run/CLI usage, creating Program once ahead of time for project: %s', configFile);\n const newProgram = (0, useProvidedPrograms_1.createProgramFromConfigFile)(configFile[1]);\n existingPrograms.set(configFile[0], newProgram);\n yield newProgram;\n }\n }\n },\n };\n }\n const hasFullTypeInformation = parseSettings.programs != null ||\n parseSettings.projects.size > 0 ||\n !!parseSettings.projectService;\n if (typeof tsestreeOptions.errorOnTypeScriptSyntacticAndSemanticIssues ===\n 'boolean' &&\n tsestreeOptions.errorOnTypeScriptSyntacticAndSemanticIssues) {\n parseSettings.errorOnTypeScriptSyntacticAndSemanticIssues = true;\n }\n if (parseSettings.errorOnTypeScriptSyntacticAndSemanticIssues &&\n !hasFullTypeInformation) {\n throw new Error('Cannot calculate TypeScript semantic issues without a valid project.');\n }\n /**\n * If we are in singleRun mode but the parseAndGenerateServices() function has been called more than once for the current file,\n * it must mean that we are in the middle of an ESLint automated fix cycle (in which parsing can be performed up to an additional\n * 10 times in order to apply all possible fixes for the file).\n *\n * In this scenario we cannot rely upon the singleRun AOT compiled programs because the SourceFiles will not contain the source\n * with the latest fixes applied. Therefore we fallback to creating the quickest possible isolated program from the updated source.\n */\n if (parseSettings.singleRun && tsestreeOptions.filePath) {\n parseAndGenerateServicesCalls[tsestreeOptions.filePath] =\n (parseAndGenerateServicesCalls[tsestreeOptions.filePath] || 0) + 1;\n }\n const { ast, program } = parseSettings.singleRun &&\n tsestreeOptions.filePath &&\n parseAndGenerateServicesCalls[tsestreeOptions.filePath] > 1\n ? (0, createIsolatedProgram_1.createIsolatedProgram)(parseSettings)\n : getProgramAndAST(parseSettings, hasFullTypeInformation);\n /**\n * Convert the TypeScript AST to an ESTree-compatible one, and optionally preserve\n * mappings between converted and original AST nodes\n */\n const shouldPreserveNodeMaps = typeof parseSettings.preserveNodeMaps === 'boolean'\n ? parseSettings.preserveNodeMaps\n : true;\n const { astMaps, estree } = (0, ast_converter_1.astConverter)(ast, parseSettings, shouldPreserveNodeMaps);\n /**\n * Even if TypeScript parsed the source code ok, and we had no problems converting the AST,\n * there may be other syntactic or semantic issues in the code that we can optionally report on.\n */\n if (program && parseSettings.errorOnTypeScriptSyntacticAndSemanticIssues) {\n const error = (0, semantic_or_syntactic_errors_1.getFirstSemanticOrSyntacticError)(program, ast);\n if (error) {\n throw (0, convert_1.convertError)(error);\n }\n }\n /**\n * Return the converted AST and additional parser services\n */\n return {\n ast: estree,\n services: (0, createParserServices_1.createParserServices)(astMaps, program),\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.clearProgramCache = void 0;\nexports.clearCaches = clearCaches;\nconst getWatchProgramsForProjects_1 = require(\"./create-program/getWatchProgramsForProjects\");\nconst parser_1 = require(\"./parser\");\nconst createParseSettings_1 = require(\"./parseSettings/createParseSettings\");\nconst resolveProjectList_1 = require(\"./parseSettings/resolveProjectList\");\n/**\n * Clears all of the internal caches.\n * Generally you shouldn't need or want to use this.\n * Examples of intended uses:\n * - In tests to reset parser state to keep tests isolated.\n * - In custom lint tooling that iteratively lints one project at a time to prevent OOMs.\n */\nfunction clearCaches() {\n (0, parser_1.clearDefaultProjectMatchedFiles)();\n (0, parser_1.clearProgramCache)();\n (0, getWatchProgramsForProjects_1.clearWatchCaches)();\n (0, createParseSettings_1.clearTSConfigMatchCache)();\n (0, createParseSettings_1.clearTSServerProjectService)();\n (0, resolveProjectList_1.clearGlobCache)();\n}\n// TODO - delete this in next major\nexports.clearProgramCache = clearCaches;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withoutProjectParserOptions = withoutProjectParserOptions;\n/**\n * Removes options that prompt the parser to parse the project with type\n * information. In other words, you can use this if you are invoking the parser\n * directly, to ensure that one file will be parsed in isolation, which is much,\n * much faster.\n *\n * @see https://github.com/typescript-eslint/typescript-eslint/issues/8428\n */\nfunction withoutProjectParserOptions(opts) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars -- The variables are meant to be omitted\n const { EXPERIMENTAL_useProjectService, project, projectService, ...rest } = opts;\n return rest;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.withoutProjectParserOptions = exports.version = exports.typescriptVersionIsAtLeast = exports.simpleTraverse = exports.parseAndGenerateServices = exports.parse = exports.TSError = exports.createProgram = exports.getCanonicalFileName = void 0;\n__exportStar(require(\"./clear-caches\"), exports);\n__exportStar(require(\"./create-program/getScriptKind\"), exports);\nvar shared_1 = require(\"./create-program/shared\");\nObject.defineProperty(exports, \"getCanonicalFileName\", { enumerable: true, get: function () { return shared_1.getCanonicalFileName; } });\nvar useProvidedPrograms_1 = require(\"./create-program/useProvidedPrograms\");\nObject.defineProperty(exports, \"createProgram\", { enumerable: true, get: function () { return useProvidedPrograms_1.createProgramFromConfigFile; } });\n__exportStar(require(\"./getModifiers\"), exports);\nvar node_utils_1 = require(\"./node-utils\");\nObject.defineProperty(exports, \"TSError\", { enumerable: true, get: function () { return node_utils_1.TSError; } });\nvar parser_1 = require(\"./parser\");\nObject.defineProperty(exports, \"parse\", { enumerable: true, get: function () { return parser_1.parse; } });\nObject.defineProperty(exports, \"parseAndGenerateServices\", { enumerable: true, get: function () { return parser_1.parseAndGenerateServices; } });\nvar simple_traverse_1 = require(\"./simple-traverse\");\nObject.defineProperty(exports, \"simpleTraverse\", { enumerable: true, get: function () { return simple_traverse_1.simpleTraverse; } });\n__exportStar(require(\"./ts-estree\"), exports);\nvar version_check_1 = require(\"./version-check\");\nObject.defineProperty(exports, \"typescriptVersionIsAtLeast\", { enumerable: true, get: function () { return version_check_1.typescriptVersionIsAtLeast; } });\nvar version_1 = require(\"./version\");\nObject.defineProperty(exports, \"version\", { enumerable: true, get: function () { return version_1.version; } });\nvar withoutProjectParserOptions_1 = require(\"./withoutProjectParserOptions\");\nObject.defineProperty(exports, \"withoutProjectParserOptions\", { enumerable: true, get: function () { return withoutProjectParserOptions_1.withoutProjectParserOptions; } });\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parse = parse;\nexports.parseForESLint = parseForESLint;\nconst scope_manager_1 = require(\"@typescript-eslint/scope-manager\");\nconst typescript_estree_1 = require(\"@typescript-eslint/typescript-estree\");\nconst visitor_keys_1 = require(\"@typescript-eslint/visitor-keys\");\nconst debug_1 = __importDefault(require(\"debug\"));\nconst typescript_1 = require(\"typescript\");\nconst log = (0, debug_1.default)('typescript-eslint:parser:parser');\nfunction validateBoolean(value, fallback = false) {\n if (typeof value !== 'boolean') {\n return fallback;\n }\n return value;\n}\nconst LIB_FILENAME_REGEX = /lib\\.(.+)\\.d\\.[cm]?ts$/;\nfunction getLib(compilerOptions) {\n if (compilerOptions.lib) {\n return compilerOptions.lib\n .map(lib => LIB_FILENAME_REGEX.exec(lib.toLowerCase())?.[1])\n .filter((lib) => !!lib);\n }\n const target = compilerOptions.target ?? typescript_1.ScriptTarget.ES5;\n // https://github.com/microsoft/TypeScript/blob/ae582a22ee1bb052e19b7c1bc4cac60509b574e0/src/compiler/utilitiesPublic.ts#L13-L36\n switch (target) {\n case typescript_1.ScriptTarget.ES2015:\n return ['es6'];\n case typescript_1.ScriptTarget.ES2016:\n return ['es2016.full'];\n case typescript_1.ScriptTarget.ES2017:\n return ['es2017.full'];\n case typescript_1.ScriptTarget.ES2018:\n return ['es2018.full'];\n case typescript_1.ScriptTarget.ES2019:\n return ['es2019.full'];\n case typescript_1.ScriptTarget.ES2020:\n return ['es2020.full'];\n case typescript_1.ScriptTarget.ES2021:\n return ['es2021.full'];\n case typescript_1.ScriptTarget.ES2022:\n return ['es2022.full'];\n case typescript_1.ScriptTarget.ES2023:\n return ['es2023.full'];\n case typescript_1.ScriptTarget.ES2024:\n return ['es2024.full'];\n case typescript_1.ScriptTarget.ESNext:\n return ['esnext.full'];\n default:\n return ['lib'];\n }\n}\nfunction parse(code, options) {\n return parseForESLint(code, options).ast;\n}\nfunction parseForESLint(code, parserOptions) {\n if (!parserOptions || typeof parserOptions !== 'object') {\n parserOptions = {};\n }\n else {\n parserOptions = { ...parserOptions };\n }\n // https://eslint.org/docs/user-guide/configuring#specifying-parser-options\n // if sourceType is not provided by default eslint expect that it will be set to \"script\"\n if (parserOptions.sourceType !== 'module' &&\n parserOptions.sourceType !== 'script') {\n parserOptions.sourceType = 'script';\n }\n if (typeof parserOptions.ecmaFeatures !== 'object') {\n parserOptions.ecmaFeatures = {};\n }\n /**\n * Allow the user to suppress the warning from typescript-estree if they are using an unsupported\n * version of TypeScript\n */\n const warnOnUnsupportedTypeScriptVersion = validateBoolean(parserOptions.warnOnUnsupportedTypeScriptVersion, true);\n const tsestreeOptions = {\n jsx: validateBoolean(parserOptions.ecmaFeatures.jsx),\n ...(!warnOnUnsupportedTypeScriptVersion && { loggerFn: false }),\n ...parserOptions,\n // Override errorOnTypeScriptSyntacticAndSemanticIssues and set it to false to prevent use from user config\n // https://github.com/typescript-eslint/typescript-eslint/issues/8681#issuecomment-2000411834\n errorOnTypeScriptSyntacticAndSemanticIssues: false,\n // comment, loc, range, and tokens should always be set for ESLint usage\n // https://github.com/typescript-eslint/typescript-eslint/issues/8347\n comment: true,\n loc: true,\n range: true,\n tokens: true,\n };\n const analyzeOptions = {\n globalReturn: parserOptions.ecmaFeatures.globalReturn,\n jsxFragmentName: parserOptions.jsxFragmentName,\n jsxPragma: parserOptions.jsxPragma,\n lib: parserOptions.lib,\n sourceType: parserOptions.sourceType,\n };\n const { ast, services } = (0, typescript_estree_1.parseAndGenerateServices)(code, tsestreeOptions);\n ast.sourceType = parserOptions.sourceType;\n if (services.program) {\n // automatically apply the options configured for the program\n const compilerOptions = services.program.getCompilerOptions();\n if (analyzeOptions.lib == null) {\n analyzeOptions.lib = getLib(compilerOptions);\n log('Resolved libs from program: %o', analyzeOptions.lib);\n }\n if (\n // eslint-disable-next-line @typescript-eslint/internal/eqeq-nullish\n analyzeOptions.jsxPragma === undefined &&\n compilerOptions.jsxFactory != null) {\n // in case the user has specified something like \"preact.h\"\n const factory = compilerOptions.jsxFactory.split('.')[0].trim();\n analyzeOptions.jsxPragma = factory;\n log('Resolved jsxPragma from program: %s', analyzeOptions.jsxPragma);\n }\n if (\n // eslint-disable-next-line @typescript-eslint/internal/eqeq-nullish\n analyzeOptions.jsxFragmentName === undefined &&\n compilerOptions.jsxFragmentFactory != null) {\n // in case the user has specified something like \"preact.Fragment\"\n const fragFactory = compilerOptions.jsxFragmentFactory\n .split('.')[0]\n .trim();\n analyzeOptions.jsxFragmentName = fragFactory;\n log('Resolved jsxFragmentName from program: %s', analyzeOptions.jsxFragmentName);\n }\n }\n const scopeManager = (0, scope_manager_1.analyze)(ast, analyzeOptions);\n // if not defined - override from the parserOptions\n services.emitDecoratorMetadata ??=\n parserOptions.emitDecoratorMetadata === true;\n services.experimentalDecorators ??=\n parserOptions.experimentalDecorators === true;\n services.isolatedDeclarations ??= parserOptions.isolatedDeclarations === true;\n return { ast, scopeManager, services, visitorKeys: visitor_keys_1.visitorKeys };\n}\n","{\n \"name\": \"@typescript-eslint/parser\",\n \"version\": \"8.29.0\",\n \"description\": \"An ESLint custom parser which leverages TypeScript ESTree\",\n \"files\": [\n \"dist\",\n \"!*.tsbuildinfo\",\n \"_ts4.3\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"type\": \"commonjs\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"default\": \"./dist/index.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/typescript-eslint/typescript-eslint.git\",\n \"directory\": \"packages/parser\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/typescript-eslint/typescript-eslint/issues\"\n },\n \"homepage\": \"https://typescript-eslint.io/packages/parser\",\n \"license\": \"MIT\",\n \"keywords\": [\n \"ast\",\n \"ecmascript\",\n \"javascript\",\n \"typescript\",\n \"parser\",\n \"syntax\",\n \"eslint\"\n ],\n \"scripts\": {\n \"build\": \"tsc -b tsconfig.build.json\",\n \"postbuild\": \"downlevel-dts dist _ts4.3/dist --to=4.3\",\n \"clean\": \"tsc -b tsconfig.build.json --clean\",\n \"postclean\": \"rimraf dist && rimraf _ts4.3 && rimraf coverage\",\n \"format\": \"prettier --write \\\"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\\\" --ignore-path ../../.prettierignore\",\n \"lint\": \"npx nx lint\",\n \"test\": \"jest\",\n \"check-types\": \"npx nx typecheck\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^8.57.0 || ^9.0.0\",\n \"typescript\": \">=4.8.4 <5.9.0\"\n },\n \"dependencies\": {\n \"@typescript-eslint/scope-manager\": \"8.29.0\",\n \"@typescript-eslint/types\": \"8.29.0\",\n \"@typescript-eslint/typescript-estree\": \"8.29.0\",\n \"@typescript-eslint/visitor-keys\": \"8.29.0\",\n \"debug\": \"^4.3.4\"\n },\n \"devDependencies\": {\n \"@jest/types\": \"29.6.3\",\n \"downlevel-dts\": \"*\",\n \"glob\": \"*\",\n \"jest\": \"29.7.0\",\n \"prettier\": \"^3.2.5\",\n \"rimraf\": \"*\",\n \"typescript\": \"*\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"typesVersions\": {\n \"<4.7\": {\n \"*\": [\n \"_ts4.3/*\"\n ]\n }\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.meta = exports.version = exports.withoutProjectParserOptions = exports.createProgram = exports.clearCaches = exports.parseForESLint = exports.parse = void 0;\nvar parser_1 = require(\"./parser\");\nObject.defineProperty(exports, \"parse\", { enumerable: true, get: function () { return parser_1.parse; } });\nObject.defineProperty(exports, \"parseForESLint\", { enumerable: true, get: function () { return parser_1.parseForESLint; } });\nvar typescript_estree_1 = require(\"@typescript-eslint/typescript-estree\");\nObject.defineProperty(exports, \"clearCaches\", { enumerable: true, get: function () { return typescript_estree_1.clearCaches; } });\nObject.defineProperty(exports, \"createProgram\", { enumerable: true, get: function () { return typescript_estree_1.createProgram; } });\nObject.defineProperty(exports, \"withoutProjectParserOptions\", { enumerable: true, get: function () { return typescript_estree_1.withoutProjectParserOptions; } });\n// note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\nexports.version = require('../package.json').version;\nexports.meta = {\n name: 'typescript-eslint/parser',\n version: exports.version,\n};\n","#!/usr/bin/env node\n\nimport chalk from 'chalk'\n\nimport { packageLint } from '../../actions/index.ts'\n\npackageLint(true)\n .then((value) => {\n if (value) {\n process.exit(value)\n }\n })\n .catch((reason) => {\n console.error(chalk.red(reason))\n process.exit(-1)\n })\n","import { readdirSync } from 'node:fs'\nimport path from 'node:path'\nimport { cwd } from 'node:process'\nimport { pathToFileURL } from 'node:url'\n\nimport tsParser from '@typescript-eslint/parser'\nimport chalk from 'chalk'\nimport { ESLint } from 'eslint'\nimport { findUp } from 'find-up'\nimport picomatch from 'picomatch'\n\nconst dumpMessages = (lintResults: ESLint.LintResult[]) => {\n const colors: ('white' | 'red' | 'yellow')[] = ['white', 'yellow', 'red']\n const severity: string[] = ['none', 'warning', 'error']\n\n for (const lintResult of lintResults) {\n if (lintResult.messages.length > 0) {\n console.log(chalk.gray(`\\n${lintResult.filePath}`))\n for (const message of lintResult.messages) {\n console.log(\n chalk.gray(`\\t${message.line}:${message.column}`),\n chalk[colors[message.severity]](`\\t${severity[message.severity]}`),\n chalk.white(`\\t${message.message}`),\n chalk.gray(`\\t${message.ruleId}`),\n )\n }\n }\n }\n}\n\nasync function getRootESLintConfig() {\n // Locate the root eslint.config.mjs\n const configPath = await findUp('eslint.config.mjs')\n\n if (!configPath) {\n throw new Error('eslint.config.mjs not found in the monorepo')\n }\n\n return pathToFileURL(configPath)\n}\n\nfunction getFiles(dir: string, ignoreFolders: string[]): string[] {\n const currentDirectory = cwd()\n const subDirectory = dir.split(currentDirectory)[1]\n if (ignoreFolders.includes(subDirectory)) return []\n return readdirSync(dir, { withFileTypes: true })\n .flatMap((dirent) => {\n const res = path.resolve(dir, dirent.name)\n const relativePath = subDirectory ? `${subDirectory}/${dirent.name}` : dirent.name\n\n const ignoreMatchers = ignoreFolders.map(pattern => picomatch(pattern))\n\n // Exclude ignored paths\n if (ignoreMatchers.some(isMatch => isMatch(relativePath))) return []\n\n return dirent.isDirectory()\n ? getFiles(res, ignoreFolders)\n : [res]\n })\n}\n\nexport const packageLint = async (fix = false, verbose = false, cache = true) => {\n const pkg = process.env.INIT_CWD\n const configPath = await getRootESLintConfig()\n const { default: eslintConfig } = await import(configPath.href)\n\n const start = Date.now()\n\n // List of folders to ignore\n const ignoreFolders = ['node_modules', 'dist', 'packages', '.git', 'build', '.yarn', '.vscode', '.github']\n\n const engine = new ESLint({\n cwd: process.env.INIT_CWD,\n baseConfig: [...eslintConfig],\n fix,\n warnIgnored: false,\n cache,\n overrideConfig: {\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig.json',\n },\n },\n },\n })\n\n const files = getFiles(cwd(), ignoreFolders)\n if (verbose) {\n console.log(chalk.green(`Linting ${pkg} [files = ${files.length}]`))\n }\n const lintResults = await engine.lintFiles(files)\n\n dumpMessages(lintResults)\n\n if (fix) {\n await ESLint.outputFixes(lintResults)\n }\n const filesCountColor = files.length < 100 ? 'green' : files.length < 1000 ? 'yellow' : 'red'\n const lintTime = Date.now() - start\n const lintTimeColor = lintTime < 1000 ? 'green' : lintTime < 3000 ? 'yellow' : 'red'\n console.log(chalk.white(`Linted ${chalk[filesCountColor](files.length)} files in ${chalk[lintTimeColor](lintTime)}ms`))\n return lintResults.reduce((prev, lintResult) => prev + lintResult.errorCount, 0)\n}\n"],"mappings":"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","names":["Object","defineProperty","exports","value","getKeys","eslint_visitor_keys_1","require","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","exports","visitorKeys","eslintVisitorKeys","require","SharedVisitorKeys","FunctionType","AnonymousFunction","AbstractPropertyDefinition","AsExpression","ClassDeclaration","Function","PropertyDefinition","additionalKeys","AccessorProperty","ArrayPattern","ArrowFunctionExpression","AssignmentPattern","CallExpression","ClassExpression","Decorator","ExportAllDeclaration","ExportNamedDeclaration","FunctionDeclaration","FunctionExpression","Identifier","ImportAttribute","ImportDeclaration","ImportExpression","JSXClosingFragment","JSXOpeningElement","JSXOpeningFragment","JSXSpreadChild","MethodDefinition","NewExpression","ObjectPattern","RestElement","StaticBlock","TaggedTemplateExpression","TSAbstractAccessorProperty","TSAbstractKeyword","TSAbstractMethodDefinition","TSAbstractPropertyDefinition","TSAnyKeyword","TSArrayType","TSAsExpression","TSAsyncKeyword","TSBigIntKeyword","TSBooleanKeyword","TSCallSignatureDeclaration","TSClassImplements","TSConditionalType","TSConstructorType","TSConstructSignatureDeclaration","TSDeclareFunction","TSDeclareKeyword","TSEmptyBodyFunctionExpression","TSEnumBody","TSEnumDeclaration","TSEnumMember","TSExportAssignment","TSExportKeyword","TSExternalModuleReference","TSFunctionType","TSImportEqualsDeclaration","TSImportType","TSIndexedAccessType","TSIndexSignature","TSInferType","TSInstantiationExpression","TSInterfaceBody","TSInterfaceDeclaration","TSInterfaceHeritage","TSIntersectionType","TSIntrinsicKeyword","TSLiteralType","TSMappedType","TSMethodSignature","TSModuleBlock","TSModuleDeclaration","TSNamedTupleMember","TSNamespaceExportDeclaration","TSNeverKeyword","TSNonNullExpression","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSOptionalType","TSParameterProperty","TSPrivateKeyword","TSPropertySignature","TSProtectedKeyword","TSPublicKeyword","TSQualifiedName","TSReadonlyKeyword","TSRestType","TSSatisfiesExpression","TSStaticKeyword","TSStringKeyword","TSSymbolKeyword","TSTemplateLiteralType","TSThisType","TSTupleType","TSTypeAliasDeclaration","TSTypeAnnotation","TSTypeAssertion","TSTypeLiteral","TSTypeOperator","TSTypeParameter","TSTypeParameterDeclaration","TSTypeParameterInstantiation","TSTypePredicate","TSTypeQuery","TSTypeReference","TSUndefinedKeyword","TSUnionType","TSUnknownKeyword","TSVoidKeyword","unionWith","Object","defineProperty","exports","value","visitorKeys","getKeys","get_keys_1","require","enumerable","get","visitor_keys_1","Object","defineProperty","exports","value","AST_TOKEN_TYPES","AST_NODE_TYPES","Object","defineProperty","exports","value","Object","defineProperty","exports","value","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","exports","TSESTree","require","require_dist","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__exportStar","exports","p","prototype","hasOwnProperty","call","value","AST_TOKEN_TYPES","AST_NODE_TYPES","ast_spec_1","require","Object","defineProperty","exports","value","assert","message","Error","Object","defineProperty","exports","value","createIdGenerator","resetIds","ID_CACHE","Map","NEXT_KEY","key","set","current","get","next","clear","Object","defineProperty","exports","value","DefinitionBase","ID_1","require","generator","createIdGenerator","$id","type","name","node","parent","constructor","Object","defineProperty","exports","value","DefinitionType","Object","defineProperty","exports","value","CatchClauseDefinition","DefinitionBase_1","require","DefinitionType_1","DefinitionBase","isTypeDefinition","isVariableDefinition","constructor","name","node","DefinitionType","CatchClause","Object","defineProperty","exports","value","ClassNameDefinition","DefinitionBase_1","require","DefinitionType_1","DefinitionBase","isTypeDefinition","isVariableDefinition","constructor","name","node","DefinitionType","ClassName","Object","defineProperty","exports","value","Object","defineProperty","exports","value","FunctionNameDefinition","DefinitionBase_1","require","DefinitionType_1","DefinitionBase","isTypeDefinition","isVariableDefinition","constructor","name","node","DefinitionType","FunctionName","Object","defineProperty","exports","value","ImplicitGlobalVariableDefinition","DefinitionBase_1","require","DefinitionType_1","DefinitionBase","isTypeDefinition","isVariableDefinition","constructor","name","node","DefinitionType","ImplicitGlobalVariable","Object","defineProperty","exports","value","ImportBindingDefinition","DefinitionBase_1","require","DefinitionType_1","DefinitionBase","isTypeDefinition","isVariableDefinition","constructor","name","node","decl","DefinitionType","ImportBinding","Object","defineProperty","exports","value","ParameterDefinition","DefinitionBase_1","require","DefinitionType_1","DefinitionBase","isTypeDefinition","isVariableDefinition","rest","constructor","name","node","DefinitionType","Parameter","Object","defineProperty","exports","value","TSEnumMemberDefinition","DefinitionBase_1","require","DefinitionType_1","DefinitionBase","isTypeDefinition","isVariableDefinition","constructor","name","node","DefinitionType","TSEnumMember","Object","defineProperty","exports","value","TSEnumNameDefinition","DefinitionBase_1","require","DefinitionType_1","DefinitionBase","isTypeDefinition","isVariableDefinition","constructor","name","node","DefinitionType","TSEnumName","Object","defineProperty","exports","value","TSModuleNameDefinition","DefinitionBase_1","require","DefinitionType_1","DefinitionBase","isTypeDefinition","isVariableDefinition","constructor","name","node","DefinitionType","TSModuleName","Object","defineProperty","exports","value","TypeDefinition","DefinitionBase_1","require","DefinitionType_1","DefinitionBase","isTypeDefinition","isVariableDefinition","constructor","name","node","DefinitionType","Type","Object","defineProperty","exports","value","VariableDefinition","DefinitionBase_1","require","DefinitionType_1","DefinitionBase","isTypeDefinition","isVariableDefinition","constructor","name","node","decl","DefinitionType","Variable","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__exportStar","exports","p","prototype","hasOwnProperty","call","value","require","Object","defineProperty","exports","value","TYPE_VALUE","VALUE","TYPE","freeze","eslintImplicitGlobalSetting","isTypeVariable","isValueVariable","Object","defineProperty","exports","value","decorators","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","decorators_legacy","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","dom","base_config_1","require","libs","variables","TYPE","TYPE_VALUE","Object","defineProperty","exports","value","dom_asynciterable","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","dom_iterable","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es5","base_config_1","require","decorators_1","decorators_legacy_1","libs","decorators","decorators_legacy","variables","TYPE","TYPE_VALUE","Object","defineProperty","exports","value","es2015_collection","base_config_1","require","libs","variables","TYPE_VALUE","TYPE","Object","defineProperty","exports","value","es2015_core","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2015_symbol","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2015_iterable","base_config_1","require","es2015_symbol_1","libs","es2015_symbol","variables","TYPE","Object","defineProperty","exports","value","es2015_generator","base_config_1","require","es2015_iterable_1","libs","es2015_iterable","variables","TYPE","Object","defineProperty","exports","value","es2015_promise","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2015_proxy","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2015_reflect","base_config_1","require","libs","variables","TYPE_VALUE","Object","defineProperty","exports","value","es2015_symbol_wellknown","base_config_1","require","es2015_symbol_1","libs","es2015_symbol","variables","TYPE","Object","defineProperty","exports","value","es6","es5_1","require","es2015_collection_1","es2015_core_1","es2015_generator_1","es2015_iterable_1","es2015_promise_1","es2015_proxy_1","es2015_reflect_1","es2015_symbol_1","es2015_symbol_wellknown_1","libs","es5","es2015_core","es2015_collection","es2015_iterable","es2015_generator","es2015_promise","es2015_proxy","es2015_reflect","es2015_symbol","es2015_symbol_wellknown","variables","Object","defineProperty","exports","value","es2015","es5_1","require","es2015_collection_1","es2015_core_1","es2015_generator_1","es2015_iterable_1","es2015_promise_1","es2015_proxy_1","es2015_reflect_1","es2015_symbol_1","es2015_symbol_wellknown_1","libs","es5","es2015_core","es2015_collection","es2015_iterable","es2015_generator","es2015_promise","es2015_proxy","es2015_reflect","es2015_symbol","es2015_symbol_wellknown","variables","Object","defineProperty","exports","value","es2016_array_include","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2016_intl","base_config_1","require","libs","variables","TYPE_VALUE","Object","defineProperty","exports","value","es7","es2015_1","require","es2016_array_include_1","es2016_intl_1","libs","es2015","es2016_array_include","es2016_intl","variables","Object","defineProperty","exports","value","es2016","es2015_1","require","es2016_array_include_1","es2016_intl_1","libs","es2015","es2016_array_include","es2016_intl","variables","Object","defineProperty","exports","value","scripthost","base_config_1","require","libs","variables","TYPE_VALUE","TYPE","Object","defineProperty","exports","value","webworker_importscripts","libs","variables","Object","defineProperty","exports","value","es2016_full","dom_1","require","dom_iterable_1","es2016_1","scripthost_1","webworker_importscripts_1","libs","es2016","dom","webworker_importscripts","scripthost","dom_iterable","variables","Object","defineProperty","exports","value","es2017_arraybuffer","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2017_date","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2017_intl","base_config_1","require","libs","variables","TYPE_VALUE","Object","defineProperty","exports","value","es2017_object","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2017_sharedmemory","base_config_1","require","es2015_symbol_1","es2015_symbol_wellknown_1","libs","es2015_symbol","es2015_symbol_wellknown","variables","TYPE_VALUE","TYPE","Object","defineProperty","exports","value","es2017_string","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2017_typedarrays","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2017","es2016_1","require","es2017_arraybuffer_1","es2017_date_1","es2017_intl_1","es2017_object_1","es2017_sharedmemory_1","es2017_string_1","es2017_typedarrays_1","libs","es2016","es2017_arraybuffer","es2017_date","es2017_intl","es2017_object","es2017_sharedmemory","es2017_string","es2017_typedarrays","variables","Object","defineProperty","exports","value","es2017_full","dom_1","require","dom_iterable_1","es2017_1","scripthost_1","webworker_importscripts_1","libs","es2017","dom","webworker_importscripts","scripthost","dom_iterable","variables","Object","defineProperty","exports","value","es2018_asynciterable","base_config_1","require","es2015_iterable_1","es2015_symbol_1","libs","es2015_symbol","es2015_iterable","variables","TYPE","Object","defineProperty","exports","value","es2018_asyncgenerator","base_config_1","require","es2018_asynciterable_1","libs","es2018_asynciterable","variables","TYPE","Object","defineProperty","exports","value","es2018_intl","base_config_1","require","libs","variables","TYPE_VALUE","Object","defineProperty","exports","value","es2018_promise","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2018_regexp","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2018","es2017_1","require","es2018_asyncgenerator_1","es2018_asynciterable_1","es2018_intl_1","es2018_promise_1","es2018_regexp_1","libs","es2017","es2018_asynciterable","es2018_asyncgenerator","es2018_promise","es2018_regexp","es2018_intl","variables","Object","defineProperty","exports","value","es2018_full","dom_1","require","dom_asynciterable_1","dom_iterable_1","es2018_1","scripthost_1","webworker_importscripts_1","libs","es2018","dom","webworker_importscripts","scripthost","dom_iterable","dom_asynciterable","variables","Object","defineProperty","exports","value","es2019_array","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2019_intl","base_config_1","require","libs","variables","TYPE_VALUE","Object","defineProperty","exports","value","es2019_object","base_config_1","require","es2015_iterable_1","libs","es2015_iterable","variables","TYPE","Object","defineProperty","exports","value","es2019_string","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2019_symbol","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2019","es2018_1","require","es2019_array_1","es2019_intl_1","es2019_object_1","es2019_string_1","es2019_symbol_1","libs","es2018","es2019_array","es2019_object","es2019_string","es2019_symbol","es2019_intl","variables","Object","defineProperty","exports","value","es2019_full","dom_1","require","dom_asynciterable_1","dom_iterable_1","es2019_1","scripthost_1","webworker_importscripts_1","libs","es2019","dom","webworker_importscripts","scripthost","dom_iterable","dom_asynciterable","variables","Object","defineProperty","exports","value","es2020_intl","base_config_1","require","es2018_intl_1","libs","es2018_intl","variables","TYPE_VALUE","Object","defineProperty","exports","value","es2020_bigint","base_config_1","require","es2020_intl_1","libs","es2020_intl","variables","TYPE","TYPE_VALUE","Object","defineProperty","exports","value","es2020_date","base_config_1","require","es2020_intl_1","libs","es2020_intl","variables","TYPE","Object","defineProperty","exports","value","es2020_number","base_config_1","require","es2020_intl_1","libs","es2020_intl","variables","TYPE","Object","defineProperty","exports","value","es2020_promise","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2020_sharedmemory","base_config_1","require","es2020_bigint_1","libs","es2020_bigint","variables","TYPE","Object","defineProperty","exports","value","es2020_symbol_wellknown","base_config_1","require","es2015_iterable_1","es2015_symbol_1","libs","es2015_iterable","es2015_symbol","variables","TYPE","Object","defineProperty","exports","value","es2020_string","base_config_1","require","es2015_iterable_1","es2020_intl_1","es2020_symbol_wellknown_1","libs","es2015_iterable","es2020_intl","es2020_symbol_wellknown","variables","TYPE","Object","defineProperty","exports","value","es2020","es2019_1","require","es2020_bigint_1","es2020_date_1","es2020_intl_1","es2020_number_1","es2020_promise_1","es2020_sharedmemory_1","es2020_string_1","es2020_symbol_wellknown_1","libs","es2019","es2020_bigint","es2020_date","es2020_number","es2020_promise","es2020_sharedmemory","es2020_string","es2020_symbol_wellknown","es2020_intl","variables","Object","defineProperty","exports","value","es2020_full","dom_1","require","dom_asynciterable_1","dom_iterable_1","es2020_1","scripthost_1","webworker_importscripts_1","libs","es2020","dom","webworker_importscripts","scripthost","dom_iterable","dom_asynciterable","variables","Object","defineProperty","exports","value","es2021_intl","base_config_1","require","libs","variables","TYPE_VALUE","Object","defineProperty","exports","value","es2021_promise","base_config_1","require","libs","variables","TYPE_VALUE","TYPE","Object","defineProperty","exports","value","es2021_string","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2021_weakref","base_config_1","require","es2015_symbol_wellknown_1","libs","es2015_symbol_wellknown","variables","TYPE_VALUE","TYPE","Object","defineProperty","exports","value","es2021","es2020_1","require","es2021_intl_1","es2021_promise_1","es2021_string_1","es2021_weakref_1","libs","es2020","es2021_promise","es2021_string","es2021_weakref","es2021_intl","variables","Object","defineProperty","exports","value","es2021_full","dom_1","require","dom_asynciterable_1","dom_iterable_1","es2021_1","scripthost_1","webworker_importscripts_1","libs","es2021","dom","webworker_importscripts","scripthost","dom_iterable","dom_asynciterable","variables","Object","defineProperty","exports","value","es2022_array","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2022_error","base_config_1","require","es2021_promise_1","libs","es2021_promise","variables","TYPE","Object","defineProperty","exports","value","es2022_intl","base_config_1","require","libs","variables","TYPE_VALUE","Object","defineProperty","exports","value","es2022_object","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2022_regexp","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2022_string","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2022","es2021_1","require","es2022_array_1","es2022_error_1","es2022_intl_1","es2022_object_1","es2022_regexp_1","es2022_string_1","libs","es2021","es2022_array","es2022_error","es2022_intl","es2022_object","es2022_regexp","es2022_string","variables","Object","defineProperty","exports","value","es2022_full","dom_1","require","dom_asynciterable_1","dom_iterable_1","es2022_1","scripthost_1","webworker_importscripts_1","libs","es2022","dom","webworker_importscripts","scripthost","dom_iterable","dom_asynciterable","variables","Object","defineProperty","exports","value","es2023_array","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2023_collection","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2023_intl","base_config_1","require","libs","variables","TYPE_VALUE","Object","defineProperty","exports","value","es2023","es2022_1","require","es2023_array_1","es2023_collection_1","es2023_intl_1","libs","es2022","es2023_array","es2023_collection","es2023_intl","variables","Object","defineProperty","exports","value","es2023_full","dom_1","require","dom_asynciterable_1","dom_iterable_1","es2023_1","scripthost_1","webworker_importscripts_1","libs","es2023","dom","webworker_importscripts","scripthost","dom_iterable","dom_asynciterable","variables","Object","defineProperty","exports","value","es2024_arraybuffer","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2024_collection","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2024_object","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2024_promise","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2024_regexp","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2024_sharedmemory","base_config_1","require","es2020_bigint_1","libs","es2020_bigint","variables","TYPE","Object","defineProperty","exports","value","es2024_string","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","es2024","es2023_1","require","es2024_arraybuffer_1","es2024_collection_1","es2024_object_1","es2024_promise_1","es2024_regexp_1","es2024_sharedmemory_1","es2024_string_1","libs","es2023","es2024_arraybuffer","es2024_collection","es2024_object","es2024_promise","es2024_regexp","es2024_sharedmemory","es2024_string","variables","Object","defineProperty","exports","value","es2024_full","dom_1","require","dom_asynciterable_1","dom_iterable_1","es2024_1","scripthost_1","webworker_importscripts_1","libs","es2024","dom","webworker_importscripts","scripthost","dom_iterable","dom_asynciterable","variables","Object","defineProperty","exports","value","esnext_array","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","esnext_collection","base_config_1","require","es2024_collection_1","libs","es2024_collection","variables","TYPE","Object","defineProperty","exports","value","esnext_decorators","base_config_1","require","decorators_1","es2015_symbol_1","libs","es2015_symbol","decorators","variables","TYPE","Object","defineProperty","exports","value","esnext_disposable","base_config_1","require","es2015_iterable_1","es2015_symbol_1","es2018_asynciterable_1","libs","es2015_symbol","es2015_iterable","es2018_asynciterable","variables","TYPE","TYPE_VALUE","Object","defineProperty","exports","value","esnext_float16","base_config_1","require","es2015_iterable_1","es2015_symbol_1","libs","es2015_symbol","es2015_iterable","variables","TYPE_VALUE","TYPE","Object","defineProperty","exports","value","esnext_intl","base_config_1","require","libs","variables","TYPE_VALUE","Object","defineProperty","exports","value","esnext_iterator","base_config_1","require","es2015_iterable_1","libs","es2015_iterable","variables","TYPE_VALUE","TYPE","Object","defineProperty","exports","value","esnext_promise","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","esnext","es2024_1","require","esnext_array_1","esnext_collection_1","esnext_decorators_1","esnext_disposable_1","esnext_float16_1","esnext_intl_1","esnext_iterator_1","esnext_promise_1","libs","es2024","esnext_intl","esnext_decorators","esnext_disposable","esnext_collection","esnext_array","esnext_iterator","esnext_promise","esnext_float16","variables","Object","defineProperty","exports","value","esnext_asynciterable","base_config_1","require","es2015_iterable_1","es2015_symbol_1","libs","es2015_symbol","es2015_iterable","variables","TYPE","Object","defineProperty","exports","value","esnext_bigint","base_config_1","require","es2020_intl_1","libs","es2020_intl","variables","TYPE","TYPE_VALUE","Object","defineProperty","exports","value","esnext_full","dom_1","require","dom_asynciterable_1","dom_iterable_1","esnext_1","scripthost_1","webworker_importscripts_1","libs","esnext","dom","webworker_importscripts","scripthost","dom_iterable","dom_asynciterable","variables","Object","defineProperty","exports","value","esnext_object","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","esnext_regexp","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","esnext_string","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","esnext_symbol","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","esnext_weakref","base_config_1","require","es2015_symbol_wellknown_1","libs","es2015_symbol_wellknown","variables","TYPE_VALUE","TYPE","require_lib","Object","defineProperty","exports","value","lib","dom_1","require","es5_1","scripthost_1","webworker_importscripts_1","libs","es5","dom","webworker_importscripts","scripthost","variables","Object","defineProperty","exports","value","webworker","base_config_1","require","libs","variables","TYPE","TYPE_VALUE","Object","defineProperty","exports","value","webworker_asynciterable","base_config_1","require","libs","variables","TYPE","Object","defineProperty","exports","value","webworker_iterable","base_config_1","require","libs","variables","TYPE","require_lib","Object","defineProperty","exports","value","lib","decorators_1","require","decorators_legacy_1","dom_1","dom_asynciterable_1","dom_iterable_1","es5_1","es6_1","es7_1","es2015_1","es2015_collection_1","es2015_core_1","es2015_generator_1","es2015_iterable_1","es2015_promise_1","es2015_proxy_1","es2015_reflect_1","es2015_symbol_1","es2015_symbol_wellknown_1","es2016_1","es2016_array_include_1","es2016_full_1","es2016_intl_1","es2017_1","es2017_arraybuffer_1","es2017_date_1","es2017_full_1","es2017_intl_1","es2017_object_1","es2017_sharedmemory_1","es2017_string_1","es2017_typedarrays_1","es2018_1","es2018_asyncgenerator_1","es2018_asynciterable_1","es2018_full_1","es2018_intl_1","es2018_promise_1","es2018_regexp_1","es2019_1","es2019_array_1","es2019_full_1","es2019_intl_1","es2019_object_1","es2019_string_1","es2019_symbol_1","es2020_1","es2020_bigint_1","es2020_date_1","es2020_full_1","es2020_intl_1","es2020_number_1","es2020_promise_1","es2020_sharedmemory_1","es2020_string_1","es2020_symbol_wellknown_1","es2021_1","es2021_full_1","es2021_intl_1","es2021_promise_1","es2021_string_1","es2021_weakref_1","es2022_1","es2022_array_1","es2022_error_1","es2022_full_1","es2022_intl_1","es2022_object_1","es2022_regexp_1","es2022_string_1","es2023_1","es2023_array_1","es2023_collection_1","es2023_full_1","es2023_intl_1","es2024_1","es2024_arraybuffer_1","es2024_collection_1","es2024_full_1","es2024_object_1","es2024_promise_1","es2024_regexp_1","es2024_sharedmemory_1","es2024_string_1","esnext_1","esnext_array_1","esnext_asynciterable_1","esnext_bigint_1","esnext_collection_1","esnext_decorators_1","esnext_disposable_1","esnext_float16_1","esnext_full_1","esnext_intl_1","esnext_iterator_1","esnext_object_1","esnext_promise_1","esnext_regexp_1","esnext_string_1","esnext_symbol_1","esnext_weakref_1","lib_1","scripthost_1","webworker_1","webworker_asynciterable_1","webworker_importscripts_1","webworker_iterable_1","Map","es5","es6","es2015","es7","es2016","es2017","es2018","es2019","es2020","es2021","es2022","es2023","es2024","esnext","dom","dom_iterable","dom_asynciterable","webworker","webworker_importscripts","webworker_iterable","webworker_asynciterable","scripthost","es2015_core","es2015_collection","es2015_generator","es2015_iterable","es2015_promise","es2015_proxy","es2015_reflect","es2015_symbol","es2015_symbol_wellknown","es2016_array_include","es2016_intl","es2017_arraybuffer","es2017_date","es2017_object","es2017_sharedmemory","es2017_string","es2017_intl","es2017_typedarrays","es2018_asyncgenerator","es2018_asynciterable","es2018_intl","es2018_promise","es2018_regexp","es2019_array","es2019_object","es2019_string","es2019_symbol","es2019_intl","es2020_bigint","es2020_date","es2020_promise","es2020_sharedmemory","es2020_string","es2020_symbol_wellknown","es2020_intl","es2020_number","es2021_promise","es2021_string","es2021_weakref","es2021_intl","es2022_array","es2022_error","es2022_intl","es2022_object","es2022_string","es2022_regexp","es2023_array","es2023_collection","es2023_intl","es2024_arraybuffer","es2024_collection","es2024_object","es2024_promise","es2024_regexp","es2024_sharedmemory","es2024_string","esnext_array","esnext_collection","esnext_symbol","esnext_asynciterable","esnext_intl","esnext_disposable","esnext_bigint","esnext_string","esnext_promise","esnext_weakref","esnext_decorators","esnext_object","esnext_regexp","esnext_iterator","esnext_float16","decorators","decorators_legacy","es2016_full","es2017_full","es2018_full","es2019_full","es2020_full","es2021_full","es2022_full","es2023_full","es2024_full","esnext_full","Object","defineProperty","exports","value","Reference","ReferenceTypeFlag","ReferenceFlag","ID_1","require","generator","createIdGenerator","$id","from","identifier","init","maybeImplicitGlobal","resolved","writeExpr","constructor","scope","flag","referenceType","Value","isWrite","isTypeReference","Type","isValueReference","Write","isRead","Read","isReadOnly","isWriteOnly","isReadWrite","ReadWrite","Object","defineProperty","exports","value","VariableBase","ID_1","require","generator","createIdGenerator","$id","defs","eslintUsed","identifiers","name","references","scope","constructor","Object","defineProperty","exports","value","ESLintScopeVariable","VariableBase_1","require","VariableBase","writeable","eslintExplicitGlobal","eslintImplicitGlobalSetting","eslintExplicitGlobalComments","Object","defineProperty","exports","value","ImplicitLibVariable","ESLintScopeVariable_1","require","ESLintScopeVariable","isTypeVariable","isValueVariable","constructor","scope","name","eslintImplicitGlobalSetting","writeable","Object","defineProperty","exports","value","Variable","VariableBase_1","require","VariableBase","isTypeVariable","defs","length","some","def","isTypeDefinition","isValueVariable","isVariableDefinition","Object","defineProperty","exports","value","Variable","ImplicitLibVariable","ESLintScopeVariable","ESLintScopeVariable_1","require","enumerable","get","ImplicitLibVariable_1","Variable_1","Object","defineProperty","exports","value","ScopeType","Object","defineProperty","exports","value","ScopeBase","types_1","require","assert_1","definition_1","ID_1","Reference_1","variable_1","ScopeType_1","isStrictScope","scope","block","isMethodDefinition","body","upper","isStrict","type","ScopeType","class","conditionalType","functionType","mappedType","module","tsEnum","tsModule","switch","function","functionBody","AST_NODE_TYPES","ArrowFunctionExpression","BlockStatement","Program","global","stmt","ExpressionStatement","directive","expr","expression","Literal","raw","registerScope","scopeManager","scopes","push","nodeToScope","get","set","generator","createIdGenerator","VARIABLE_SCOPE_TYPES","Set","classFieldInitializer","classStaticBlock","$id","childScopes","functionExpressionScope","leftToResolve","references","Map","through","variables","ref","current","shouldStaticallyCloseForGlobal","resolve","name","identifier","variable","isValidResolution","isValidTypeReference","isTypeReference","isTypeVariable","isValidValueReference","isValueReference","isValueVariable","resolved","delegateToUpperScope","variableScope","constructor","upperScope","upperScopeAsScopeBase","with","isVariableScope","declaredVariables","has","isModule","defs","length","every","def","DefinitionType","Variable","parent","kind","close","closeRef","shouldStaticallyClose","assert","forEach","defineVariable","nameOrVariable","node","addDeclaredVariablesOfNode","identifiers","_ref","_variable","includes","defineIdentifier","defineLiteralIdentifier","referenceDualValueType","Reference","ReferenceFlag","Read","ReferenceTypeFlag","Type","Value","referenceType","referenceValue","assign","writeExpr","maybeImplicitGlobal","init","Object","defineProperty","exports","value","BlockScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","Object","defineProperty","exports","value","CatchScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","catch","Object","defineProperty","exports","value","ClassFieldInitializerScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","classFieldInitializer","Object","defineProperty","exports","value","ClassScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","class","Object","defineProperty","exports","value","ConditionalTypeScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","conditionalType","Object","defineProperty","exports","value","ForScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","for","Object","defineProperty","exports","value","FunctionExpressionNameScope","definition_1","require","ScopeBase_1","ScopeType_1","ScopeBase","functionExpressionScope","constructor","scopeManager","upperScope","block","ScopeType","functionExpressionName","id","defineIdentifier","FunctionNameDefinition","Object","defineProperty","exports","value","FunctionScope","types_1","require","ScopeBase_1","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","isMethodDefinition","ScopeType","function","type","AST_NODE_TYPES","ArrowFunctionExpression","defineVariable","set","variables","isValidResolution","ref","variable","Program","bodyStart","body","range","scope","identifier","defs","every","d","name","Object","defineProperty","exports","value","FunctionTypeScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","functionType","Object","defineProperty","exports","value","GlobalScope","types_1","require","assert_1","ImplicitGlobalVariableDefinition_1","variable_1","ScopeBase_1","ScopeType_1","ScopeBase","implicit","constructor","scopeManager","block","ScopeType","global","leftToBeResolved","set","Map","variables","close","assert","leftToResolve","ref","maybeImplicitGlobal","has","identifier","name","info","node","pattern","type","AST_NODE_TYPES","Identifier","defineVariable","ImplicitGlobalVariableDefinition","defineImplicitVariable","options","ImplicitLibVariable","Object","defineProperty","exports","value","MappedTypeScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","mappedType","Object","defineProperty","exports","value","ModuleScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","module","Object","defineProperty","exports","value","Object","defineProperty","exports","value","SwitchScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","switch","Object","defineProperty","exports","value","TSEnumScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","tsEnum","Object","defineProperty","exports","value","TSModuleScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","tsModule","Object","defineProperty","exports","value","TypeScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","type","Object","defineProperty","exports","value","WithScope","assert_1","require","ScopeBase_1","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","with","close","shouldStaticallyClose","assert","leftToResolve","forEach","ref","delegateToUpperScope","upper","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__exportStar","exports","p","prototype","hasOwnProperty","call","value","require","Object","defineProperty","exports","value","VisitorBase","visitor_keys_1","require","isObject","obj","isNode","node","type","constructor","options","childVisitorKeys","visitorKeys","visitChildrenEvenIfSelectorExists","visitChildren","excludeArr","exclude","Set","children","keys","key","has","child","Array","isArray","subChild","visit","visitor","call","Object","defineProperty","exports","value","PatternVisitor","types_1","require","VisitorBase_1","VisitorBase","rightHandNodes","constructor","options","rootPattern","callback","isPattern","node","nodeType","type","AST_NODE_TYPES","Identifier","ObjectPattern","ArrayPattern","SpreadElement","RestElement","AssignmentPattern","ArrayExpression","elements","forEach","visit","pattern","element","AssignmentExpression","push","left","right","pop","CallExpression","arguments","a","callee","Decorator","lastRestElement","at","assignments","rest","argument","topLevel","MemberExpression","computed","property","object","Property","key","TSTypeAnnotation","Object","defineProperty","exports","value","VisitorBase","Visitor","PatternVisitor_1","require","VisitorBase_1","constructor","optionsOrVisitor","visitPattern","node","callback","options","processRightHandNodes","visitor","PatternVisitor","visit","rightHandNodes","forEach","VisitorBase_2","enumerable","get","Object","defineProperty","exports","value","TypeVisitor","types_1","require","definition_1","scope_1","Visitor_1","Visitor","constructor","referencer","visit","node","typeReferencer","visitFunctionType","scopeManager","nestFunctionTypeScope","typeParameters","param","params","didVisitAnnotation","visitPattern","pattern","info","currentScope","defineIdentifier","ParameterDefinition","rest","typeAnnotation","returnType","close","visitPropertyKey","computed","key","Identifier","referenceType","MemberExpression","object","TSCallSignatureDeclaration","TSConditionalType","nestConditionalTypeScope","visitChildren","falseType","TSConstructorType","TSConstructSignatureDeclaration","TSFunctionType","TSImportType","typeArguments","TSIndexSignature","parameters","type","AST_NODE_TYPES","TSInferType","typeParameter","scope","ScopeType","functionType","mappedType","upper","conditionalType","name","TypeDefinition","constraint","TSInterfaceDeclaration","id","nestTypeScope","extends","forEach","body","TSMappedType","nestMappedTypeScope","nameType","TSMethodSignature","TSNamedTupleMember","elementType","TSPropertySignature","TSQualifiedName","left","TSTypeAliasDeclaration","TSTypeParameter","default","TSTypePredicate","parameterName","TSThisType","referenceValue","TSTypeAnnotation","TSTypeQuery","entityName","exprName","iter","Object","defineProperty","exports","value","ClassVisitor","types_1","require","definition_1","TypeVisitor_1","Visitor_1","Visitor","constructor","referencer","node","visit","classVisitor","visitClass","type","AST_NODE_TYPES","ClassDeclaration","id","currentScope","defineIdentifier","ClassNameDefinition","decorators","forEach","d","scopeManager","nestClassScope","superClass","visitType","typeParameters","superTypeArguments","implements","imp","body","close","visitFunctionParameterTypeAnnotation","AssignmentPattern","left","typeAnnotation","TSParameterProperty","parameter","visitMethod","computed","key","FunctionExpression","visitMethodFunction","methodNode","nestFunctionExpressionNameScope","params","param","nestFunctionScope","withMethodDecorators","length","kind","some","keyName","getLiteralMethodKeyName","find","MethodDefinition","static","visitPattern","pattern","info","ParameterDefinition","rest","referencingDefaultValue","assignments","processRightHandNodes","returnType","visitChildren","visitPropertyBase","PropertyDefinition","AccessorProperty","nestClassFieldInitializerScope","visitPropertyDefinition","TypeVisitor","ClassBody","Identifier","PrivateIdentifier","StaticBlock","nestClassStaticBlockScope","b","TSAbstractAccessorProperty","TSAbstractMethodDefinition","TSAbstractPropertyDefinition","TSIndexSignature","Literal","name","Object","defineProperty","exports","value","ExportVisitor","types_1","require","Visitor_1","Visitor","constructor","node","referencer","visit","exportReferencer","ExportDefaultDeclaration","declaration","type","AST_NODE_TYPES","Identifier","ExportNamedDeclaration","source","visitChildren","ExportSpecifier","exportKind","local","currentScope","referenceType","referenceDualValueType","Object","defineProperty","exports","value","ImportVisitor","definition_1","require","Visitor_1","Visitor","constructor","declaration","referencer","visit","importReferencer","ImportDefaultSpecifier","node","local","visitImport","ImportNamespaceSpecifier","ImportSpecifier","id","specifier","currentScope","defineIdentifier","ImportBindingDefinition","Object","defineProperty","exports","value","Referencer","types_1","require","assert_1","definition_1","lib_1","ClassVisitor_1","ExportVisitor_1","ImportVisitor_1","PatternVisitor_1","Reference_1","TypeVisitor_1","Visitor_1","Visitor","scopeManager","constructor","options","jsxPragma","jsxFragmentName","lib","populateGlobalsFromLib","globalScope","flattenedLibs","Set","definition","get","Error","add","referencedLib","libs","name","variable","variables","defineImplicitVariable","eslintImplicitGlobalSetting","isTypeVariable","isValueVariable","close","node","currentScope","block","dontThrowOnNull","assert","referencingDefaultValue","pattern","assignments","maybeImplicitGlobal","init","forEach","assignment","referenceValue","ReferenceFlag","Write","right","referenceInSomeUpperScope","scope","set","upper","identifiers","referenceJsxFragment","referenceJsxPragma","visitClass","ClassVisitor","visit","visitForIn","left","type","AST_NODE_TYPES","VariableDeclaration","kind","nestForScope","visitPattern","declarations","id","info","isStrict","processRightHandNodes","body","visitFunction","FunctionExpression","nestFunctionExpressionNameScope","defineIdentifier","FunctionNameDefinition","nestFunctionScope","param","params","ParameterDefinition","rest","visitFunctionParameterTypeAnnotation","decorators","d","visitType","returnType","typeParameters","BlockStatement","visitChildren","AssignmentPattern","typeAnnotation","TSParameterProperty","parameter","visitJSXElement","JSXIdentifier","toUpperCase","visitProperty","computed","key","TypeVisitor","visitTypeAssertion","expression","ArrowFunctionExpression","AssignmentExpression","visitExpressionTarget","PatternVisitor","isPattern","operator","Identifier","ReadWrite","nestBlockScope","BreakStatement","CallExpression","typeArguments","CatchClause","nestCatchScope","CatchClauseDefinition","ClassDeclaration","ClassExpression","ContinueStatement","ExportAllDeclaration","ExportDefaultDeclaration","declaration","ExportVisitor","ExportNamedDeclaration","ForInStatement","ForOfStatement","ForStatement","FunctionDeclaration","ImportAttribute","ImportDeclaration","isModule","ImportVisitor","JSXAttribute","JSXClosingElement","JSXFragment","JSXMemberExpression","object","JSXOpeningElement","attr","attributes","LabeledStatement","MemberExpression","property","MetaProperty","NewExpression","PrivateIdentifier","Program","nestGlobalScope","isGlobalReturn","nestModuleScope","isImpliedStrict","Property","SwitchStatement","discriminant","nestSwitchScope","switchCase","cases","TaggedTemplateExpression","tag","quasi","TSAsExpression","TSDeclareFunction","TSEmptyBodyFunctionExpression","TSEnumDeclaration","TSEnumNameDefinition","nestTSEnumScope","member","members","Literal","defineLiteralIdentifier","TSEnumMemberDefinition","initializer","TSExportAssignment","referenceDualValueType","TSImportEqualsDeclaration","ImportBindingDefinition","moduleReference","TSQualifiedName","moduleIdentifier","TSInstantiationExpression","TSInterfaceDeclaration","TSModuleDeclaration","TSModuleNameDefinition","nestTSModuleScope","TSSatisfiesExpression","TSTypeAliasDeclaration","TSTypeAssertion","UpdateExpression","argument","variableTargetScope","variableScope","decl","VariableDefinition","WithStatement","nestWithScope","TSNonNullExpression","Object","defineProperty","exports","value","Referencer","Referencer_1","require","enumerable","get","Object","defineProperty","exports","value","ClassStaticBlockScope","ScopeBase_1","require","ScopeType_1","ScopeBase","constructor","scopeManager","upperScope","block","ScopeType","classStaticBlock","Object","defineProperty","exports","value","ScopeManager","assert_1","require","scope_1","ClassFieldInitializerScope_1","ClassStaticBlockScope_1","currentScope","declaredVariables","globalScope","nodeToScope","scopes","constructor","options","WeakMap","isES6","isGlobalReturn","globalReturn","isImpliedStrict","impliedStrict","isModule","sourceType","isStrictModeSupported","variables","Set","recurse","scope","forEach","v","add","childScopes","sort","a","b","$id","getDeclaredVariables","node","get","acquire","inner","predicate","testScope","type","ScopeType","function","functionExpressionScope","length","i","find","nestBlockScope","assert","nestScope","BlockScope","nestCatchScope","CatchScope","nestClassFieldInitializerScope","ClassFieldInitializerScope","nestClassScope","ClassScope","nestClassStaticBlockScope","ClassStaticBlockScope","nestConditionalTypeScope","ConditionalTypeScope","nestForScope","ForScope","nestFunctionExpressionNameScope","FunctionExpressionNameScope","nestFunctionScope","isMethodDefinition","FunctionScope","nestFunctionTypeScope","FunctionTypeScope","nestGlobalScope","GlobalScope","nestMappedTypeScope","MappedTypeScope","nestModuleScope","ModuleScope","nestSwitchScope","SwitchScope","nestTSEnumScope","TSEnumScope","nestTSModuleScope","TSModuleScope","nestTypeScope","TypeScope","nestWithScope","WithScope","Object","defineProperty","exports","value","analyze","visitor_keys_1","require","referencer_1","ScopeManager_1","DEFAULT_OPTIONS","childVisitorKeys","visitorKeys","emitDecoratorMetadata","globalReturn","impliedStrict","jsxFragmentName","jsxPragma","lib","sourceType","tree","providedOptions","options","undefined","map","l","toLowerCase","scopeManager","ScopeManager","referencer","Referencer","visit","require_dist","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__exportStar","exports","p","prototype","hasOwnProperty","call","value","ScopeManager","Visitor","Reference","PatternVisitor","analyze","analyze_1","require","PatternVisitor_1","Reference_1","Visitor_1","ScopeManager_1","s","m","h","d","w","y","module","exports","val","options","type","length","parse","isFinite","long","fmtLong","fmtShort","Error","JSON","stringify","str","String","match","exec","n","parseFloat","toLowerCase","undefined","ms","msAbs","Math","abs","round","plural","name","isPlural","setup","env","createDebug","debug","default","coerce","disable","enable","enabled","humanize","require","destroy","Object","keys","forEach","key","names","skips","formatters","selectColor","namespace","hash","i","length","charCodeAt","colors","Math","abs","prevTime","enableOverride","namespacesCache","enabledCache","args","self","curr","Number","Date","ms","diff","prev","unshift","index","replace","match","format","formatter","val","call","splice","formatArgs","logFn","log","apply","useColors","color","extend","defineProperty","enumerable","configurable","get","namespaces","set","v","init","delimiter","newDebug","save","split","trim","filter","Boolean","ns","push","slice","matchesTemplate","search","template","searchIndex","templateIndex","starIndex","matchIndex","map","join","name","skip","Error","stack","message","console","warn","load","module","exports","exports","formatArgs","save","load","useColors","storage","localstorage","destroy","warned","console","warn","colors","window","process","type","__nwjs","navigator","userAgent","toLowerCase","match","m","document","documentElement","style","WebkitAppearance","firebug","exception","table","parseInt","args","namespace","module","humanize","diff","c","color","splice","index","lastC","replace","log","debug","namespaces","setItem","removeItem","error","r","getItem","env","DEBUG","localStorage","require","formatters","j","v","JSON","stringify","message","module","exports","flag","argv","process","prefix","startsWith","length","position","indexOf","terminatorPosition","os","require","tty","hasFlag","env","process","forceColor","FORCE_COLOR","length","Math","min","parseInt","translateLevel","level","hasBasic","has256","has16m","supportsColor","haveStream","streamIsTTY","undefined","TERM","platform","osRelease","release","split","Number","some","sign","CI_NAME","test","TEAMCITY_VERSION","COLORTERM","version","TERM_PROGRAM_VERSION","TERM_PROGRAM","getSupportLevel","stream","isTTY","module","exports","stdout","isatty","stderr","tty","require","util","exports","init","log","formatArgs","save","load","useColors","destroy","deprecate","colors","supportsColor","stderr","level","error","inspectOpts","Object","keys","process","env","filter","key","test","reduce","obj","prop","substring","toLowerCase","replace","_","k","toUpperCase","val","Number","Boolean","isatty","fd","args","namespace","name","c","color","colorCode","prefix","split","join","push","module","humanize","diff","getDate","hideDate","Date","toISOString","write","formatWithOptions","namespaces","DEBUG","debug","i","length","formatters","o","v","inspect","map","str","trim","O","process","type","browser","__nwjs","module","exports","require","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","exports","isSourceFile","getCodeText","ts","require","code","maybeSourceFile","kind","SyntaxKind","SourceFile","getFullText","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","__importDefault","exports","DEFAULT_EXTRA_FILE_EXTENSIONS","CORE_COMPILER_OPTIONS","createDefaultCompilerOptionsFromExtra","getCanonicalFileName","ensureAbsolutePath","canonicalDirname","getAstFromProgram","createHash","node_path_1","require","ts","noEmit","noUnusedLocals","noUnusedParameters","DEFAULT_COMPILER_OPTIONS","allowJs","allowNonTsExtensions","checkJs","Set","Extension","Cjs","Cts","Js","Jsx","Mjs","Mts","Ts","Tsx","parseSettings","debugLevel","has","extendedDiagnostics","useCaseSensitiveFileNames","sys","correctPathCasing","filePath","toLowerCase","normalized","default","normalize","endsWith","sep","slice","p","tsconfigRootDir","isAbsolute","join","process","cwd","dirname","DEFINITION_EXTENSIONS","Dts","Dcts","Dmts","getExtension","fileName","find","definitionExt","extname","currentProgram","ast","getSourceFile","expectedExt","returnedExt","program","content","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","__importDefault","exports","clearWatchCaches","getWatchProgramsForProjects","debug_1","require","node_fs_1","ts","source_files_1","shared_1","log","default","knownWatchProgramMap","Map","fileWatchCallbackTrackingMap","folderWatchCallbackTrackingMap","programFileListCache","tsconfigLastModifiedTimestampCache","parsedFilesSeenHash","clear","saveWatchCallback","trackingMap","fileName","callback","normalizedFileName","getCanonicalFileName","watchers","Set","set","add","close","delete","currentLintOperationState","code","filePath","diagnosticReporter","diagnostic","Error","flattenDiagnosticMessageText","messageText","sys","newLine","updateCachedFileList","tsconfigPath","program","fileList","getRootFileNames","map","f","parseSettings","results","fileWatchCallbacks","codeHash","createHash","getCodeText","size","forEach","cb","FileWatcherEventKind","Changed","currentProjectsFromSettings","projects","existingWatch","entries","has","updatedProgram","getProgram","getTypeChecker","maybeInvalidateProgram","push","programWatch","createWatchProgram","watchCompilerHost","createWatchCompilerHost","createDefaultCompilerOptionsFromExtra","createAbstractBuilder","jsDocParsingMode","oldReadFile","readFile","filePathIn","encoding","fileContent","onUnRecoverableConfigFileDiagnostic","afterProgramCreate","configFileDiagnostics","getConfigFileParsingDiagnostics","filter","diag","category","DiagnosticCategory","watchFile","watchDirectory","oldOnDirectoryStructureHostCreate","onCachedDirectoryStructureHostCreate","host","oldReadDirectory","readDirectory","path","extensions","exclude","include","depth","extraFileExtensions","extension","isMixedContent","scriptKind","ScriptKind","Deferred","trace","setTimeout","clearTimeout","hasTSConfigChanged","stat","statSync","lastModifiedAt","mtimeMs","cachedLastModifiedAt","Math","abs","Number","EPSILON","process","env","TSESTREE_NO_INVALIDATION","sourceFile","getSourceFile","currentDir","canonicalDirname","current","next","hasCallback","folderWatchCallbacks","rootFilenames","deletedFile","find","file","existsSync","Deleted","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_INTEGER","Number","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","RELEASE_TYPES","module","exports","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","debug","process","env","NODE_DEBUG","test","args","console","error","module","exports","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","MAX_LENGTH","require","debug","exports","module","re","safeRe","src","safeSrc","t","R","LETTERDASHNUMBER","safeRegexReplacements","makeSafeRegex","value","token","max","split","join","createToken","name","isGlobal","safe","index","RegExp","undefined","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCEPLAIN","COERCE","COERCEFULL","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","looseOption","Object","freeze","loose","emptyOpts","parseOptions","options","module","exports","numeric","compareIdentifiers","a","b","anum","test","bnum","rcompareIdentifiers","module","exports","debug","require","MAX_LENGTH","MAX_SAFE_INTEGER","safeRe","re","safeSrc","src","t","parseOptions","compareIdentifiers","SemVer","constructor","version","options","loose","includePrerelease","TypeError","length","m","trim","match","LOOSE","FULL","raw","major","minor","patch","prerelease","split","map","id","test","num","build","format","join","toString","compare","other","compareMain","comparePre","i","a","b","undefined","compareBuild","inc","release","identifier","identifierBase","startsWith","Error","r","RegExp","PRERELEASELOOSE","PRERELEASE","base","Number","push","isNaN","module","exports","SemVer","require","parse","version","options","throwErrors","er","module","exports","parse","require","valid","version","options","v","module","exports","parse","require","clean","version","options","s","trim","replace","module","exports","SemVer","require","inc","version","release","options","identifier","identifierBase","undefined","er","module","exports","parse","require","diff","version1","version2","v1","v2","comparison","compare","v1Higher","highVersion","lowVersion","highHasPre","prerelease","length","lowHasPre","patch","minor","compareMain","prefix","major","module","exports","SemVer","require","major","a","loose","module","exports","SemVer","require","minor","a","loose","module","exports","SemVer","require","patch","a","loose","module","exports","parse","require","prerelease","version","options","parsed","length","module","exports","SemVer","require","compare","a","b","loose","module","exports","compare","require","rcompare","a","b","loose","module","exports","compare","require","compareLoose","a","b","module","exports","SemVer","require","compareBuild","a","b","loose","versionA","versionB","compare","module","exports","compareBuild","require","sort","list","loose","a","b","module","exports","compareBuild","require","rsort","list","loose","sort","a","b","module","exports","compare","require","gt","a","b","loose","module","exports","compare","require","lt","a","b","loose","module","exports","compare","require","eq","a","b","loose","module","exports","compare","require","neq","a","b","loose","module","exports","compare","require","gte","a","b","loose","module","exports","compare","require","lte","a","b","loose","module","exports","eq","require","neq","gt","gte","lt","lte","cmp","a","op","b","loose","version","TypeError","module","exports","SemVer","require","parse","safeRe","re","t","coerce","version","options","String","match","rtl","includePrerelease","COERCEFULL","COERCE","coerceRtlRegex","COERCERTLFULL","COERCERTL","next","exec","index","length","lastIndex","major","minor","patch","prerelease","build","module","exports","LRUCache","constructor","max","map","Map","get","key","value","undefined","delete","set","deleted","size","firstKey","keys","next","module","exports","SPACE_CHARACTERS","Range","constructor","range","options","parseOptions","loose","includePrerelease","raw","Comparator","value","set","formatted","undefined","trim","replace","split","map","r","parseRange","filter","c","length","TypeError","first","isNullSet","isAny","i","comps","k","toString","format","memoOpts","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","memoKey","cached","cache","get","hr","re","t","HYPHENRANGELOOSE","HYPHENRANGE","hyphenReplace","debug","COMPARATORTRIM","comparatorTrimReplace","TILDETRIM","tildeTrimReplace","CARETTRIM","caretTrimReplace","rangeList","comp","parseComparator","join","replaceGTE0","match","COMPARATORLOOSE","rangeMap","Map","comparators","size","has","delete","result","values","intersects","some","thisComparators","isSatisfiable","rangeComparators","every","thisComparator","rangeComparator","test","version","SemVer","er","testSet","module","exports","LRU","require","safeRe","remainingComparators","slice","testComparator","pop","otherComparator","replaceCarets","replaceTildes","replaceXRanges","replaceStars","isX","id","toLowerCase","replaceTilde","TILDELOOSE","TILDE","_","M","m","p","pr","ret","replaceCaret","CARETLOOSE","CARET","z","replaceXRange","XRANGELOOSE","XRANGE","gtlt","xM","xm","xp","anyX","STAR","GTE0PRE","GTE0","incPr","$0","from","fM","fm","fp","fpr","fb","to","tM","tm","tp","tpr","prerelease","semver","ANY","allowed","major","minor","patch","ANY","Symbol","Comparator","constructor","comp","options","parseOptions","loose","value","trim","split","join","debug","parse","semver","operator","version","r","re","t","COMPARATORLOOSE","COMPARATOR","m","match","TypeError","undefined","SemVer","toString","test","er","cmp","intersects","Range","includePrerelease","startsWith","includes","module","exports","require","safeRe","Range","require","satisfies","version","range","options","er","test","module","exports","Range","require","toComparators","range","options","set","map","comp","c","value","join","trim","split","module","exports","SemVer","require","Range","maxSatisfying","versions","range","options","max","maxSV","rangeObj","er","forEach","v","test","compare","module","exports","SemVer","require","Range","minSatisfying","versions","range","options","min","minSV","rangeObj","er","forEach","v","test","compare","module","exports","SemVer","require","Range","gt","minVersion","range","loose","minver","test","i","set","length","comparators","setMin","forEach","comparator","compver","semver","version","operator","prerelease","patch","push","raw","format","Error","module","exports","require_valid","Range","require","validRange","range","options","er","module","exports","SemVer","require","Comparator","ANY","Range","satisfies","gt","lt","lte","gte","outside","version","range","hilo","options","gtfn","ltefn","ltfn","comp","ecomp","TypeError","i","set","length","comparators","high","low","forEach","comparator","semver","operator","module","exports","outside","require","gtr","version","range","options","module","exports","outside","require","ltr","version","range","options","module","exports","Range","require","intersects","r1","r2","options","module","exports","satisfies","require","compare","module","exports","versions","range","options","set","first","prev","v","sort","a","b","version","included","push","ranges","min","max","simplified","join","original","raw","String","length","Range","require","Comparator","ANY","satisfies","compare","subset","sub","dom","options","sawNonNull","OUTER","simpleSub","set","simpleDom","isSub","simpleSubset","minimumVersionWithPreRelease","minimumVersion","length","semver","includePrerelease","eqSet","Set","gt","lt","c","operator","higherGT","lowerLT","add","size","gtltComp","eq","String","higher","lower","hasDomLT","hasDomGT","needDomLTPre","prerelease","needDomGTPre","major","minor","patch","a","b","comp","module","exports","require_semver","internalRe","require","constants","SemVer","identifiers","parse","valid","clean","inc","diff","major","minor","patch","prerelease","compare","rcompare","compareLoose","compareBuild","sort","rsort","gt","lt","eq","neq","gte","lte","cmp","coerce","Comparator","Range","satisfies","toComparators","maxSatisfying","minSatisfying","minVersion","validRange","outside","gtr","ltr","intersects","simplifyRange","subset","module","exports","re","src","tokens","t","SEMVER_SPEC_VERSION","RELEASE_TYPES","compareIdentifiers","rcompareIdentifiers","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","exports","typescriptVersionIsAtLeast","semver","require","ts","semverCheck","version","satisfies","includePrerelease","versions","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","exports","getModifiers","getDecorators","ts","require","version_check_1","isAtLeast48","typescriptVersionIsAtLeast","node","includeIllegalModifiers","canHaveModifiers","modifiers","filter","isDecorator","includeIllegalDecorators","canHaveDecorators","decorators","Object","defineProperty","exports","value","xhtmlEntities","Aacute","aacute","Acirc","acirc","acute","AElig","aelig","Agrave","agrave","alefsym","Alpha","alpha","amp","and","ang","apos","Aring","aring","asymp","Atilde","atilde","Auml","auml","bdquo","Beta","beta","brvbar","bull","cap","Ccedil","ccedil","cedil","cent","Chi","chi","circ","clubs","cong","copy","crarr","cup","curren","dagger","Dagger","darr","dArr","deg","Delta","delta","diams","divide","Eacute","eacute","Ecirc","ecirc","Egrave","egrave","empty","emsp","ensp","Epsilon","epsilon","equiv","Eta","eta","ETH","eth","Euml","euml","euro","exist","fnof","forall","frac12","frac14","frac34","frasl","Gamma","gamma","ge","gt","harr","hArr","hearts","hellip","Iacute","iacute","Icirc","icirc","iexcl","Igrave","igrave","image","infin","int","Iota","iota","iquest","isin","Iuml","iuml","Kappa","kappa","Lambda","lambda","lang","laquo","larr","lArr","lceil","ldquo","le","lfloor","lowast","loz","lrm","lsaquo","lsquo","lt","macr","mdash","micro","middot","minus","Mu","mu","nabla","nbsp","ndash","ne","ni","not","notin","nsub","Ntilde","ntilde","Nu","nu","Oacute","oacute","Ocirc","ocirc","OElig","oelig","Ograve","ograve","oline","Omega","omega","Omicron","omicron","oplus","or","ordf","ordm","Oslash","oslash","Otilde","otilde","otimes","Ouml","ouml","para","part","permil","perp","Phi","phi","Pi","pi","piv","plusmn","pound","prime","Prime","prod","prop","Psi","psi","quot","radic","rang","raquo","rarr","rArr","rceil","rdquo","real","reg","rfloor","Rho","rho","rlm","rsaquo","rsquo","sbquo","Scaron","scaron","sdot","sect","shy","Sigma","sigma","sigmaf","sim","spades","sub","sube","sum","sup","sup1","sup2","sup3","supe","szlig","Tau","tau","there4","Theta","theta","thetasym","thinsp","THORN","thorn","tilde","times","trade","Uacute","uacute","uarr","uArr","Ucirc","ucirc","Ugrave","ugrave","uml","upsih","Upsilon","upsilon","Uuml","uuml","weierp","Xi","xi","Yacute","yacute","yen","yuml","Yuml","Zeta","zeta","zwj","zwnj","Object","defineProperty","exports","value","Object","defineProperty","exports","value","require_ts_estree","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__exportStar","exports","p","prototype","hasOwnProperty","call","value","TSESTree","AST_TOKEN_TYPES","AST_NODE_TYPES","require","types_1","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","exports","TSError","isLogicalOperator","isESTreeBinaryOperator","getTextForTokenKind","isESTreeClassMember","hasModifier","getLastModifier","isComma","isComment","getBinaryExpressionType","getLineAndCharacterFor","getLocFor","canContainDirective","getRange","isJSXToken","getDeclarationKind","getTSNodeAccessibility","findNextToken","findFirstMatchingAncestor","hasJSXAncestor","unescapeStringLiteralText","isComputedProperty","isOptional","isChainExpression","isChildUnwrappableOptionalChain","getTokenType","convertToken","convertTokens","createError","nodeHasIllegalDecorators","nodeHasTokens","firstDefined","identifierIsThisKeyword","isThisIdentifier","isThisInTypeQuery","nodeIsPresent","getContainingFunction","nodeCanBeDecorated","isValidAssignmentTarget","getNamespaceModifiers","ts","require","getModifiers_1","xhtml_entities_1","ts_estree_1","version_check_1","isAtLeast50","typescriptVersionIsAtLeast","SyntaxKind","LOGICAL_OPERATORS","Set","AmpersandAmpersandToken","BarBarToken","QuestionQuestionToken","ASSIGNMENT_OPERATORS","AmpersandAmpersandEqualsToken","AmpersandEqualsToken","AsteriskAsteriskEqualsToken","AsteriskEqualsToken","BarBarEqualsToken","BarEqualsToken","CaretEqualsToken","EqualsToken","GreaterThanGreaterThanEqualsToken","GreaterThanGreaterThanGreaterThanEqualsToken","LessThanLessThanEqualsToken","MinusEqualsToken","PercentEqualsToken","PlusEqualsToken","QuestionQuestionEqualsToken","SlashEqualsToken","BINARY_OPERATORS","AmpersandToken","AsteriskAsteriskToken","AsteriskToken","BarToken","CaretToken","EqualsEqualsEqualsToken","EqualsEqualsToken","ExclamationEqualsEqualsToken","ExclamationEqualsToken","GreaterThanEqualsToken","GreaterThanGreaterThanGreaterThanToken","GreaterThanGreaterThanToken","GreaterThanToken","InKeyword","InstanceOfKeyword","LessThanEqualsToken","LessThanLessThanToken","LessThanToken","MinusToken","PercentToken","PlusToken","SlashToken","isAssignmentOperator","operator","has","kind","tokenToString","node","SemicolonClassElement","modifierKind","modifiers","getModifiers","some","modifier","token","CommaToken","SingleLineCommentTrivia","MultiLineCommentTrivia","isJSDocComment","JSDocComment","type","AST_NODE_TYPES","AssignmentExpression","LogicalExpression","BinaryExpression","Error","pos","ast","loc","getLineAndCharacterOfPosition","column","character","line","range","start","end","map","Block","parent","Constructor","GetAccessor","SetAccessor","ArrowFunction","FunctionExpression","FunctionDeclaration","MethodDeclaration","getStart","getEnd","isToken","FirstToken","LastToken","JsxElement","JsxAttribute","flags","NodeFlags","Let","AwaitUsing","Const","Using","PublicKeyword","ProtectedKeyword","PrivateKeyword","previousToken","find","n","getChildren","child","shouldDiveInChildNode","predicate","current","text","replaceAll","entity","item","slice","codePoint","parseInt","String","fromCodePoint","xhtmlEntities","ComputedPropertyName","questionToken","ChainExpression","expression","ParenthesizedExpression","keywordKind","Identifier","identifierToKeywordKind","originalKeywordKind","NullKeyword","AST_TOKEN_TYPES","Null","FirstFutureReservedWord","LastKeyword","Keyword","FirstKeyword","LastFutureReservedWord","FalseKeyword","TrueKeyword","Boolean","FirstPunctuation","LastPunctuation","Punctuator","NoSubstitutionTemplateLiteral","TemplateTail","Template","NumericLiteral","Numeric","JsxText","JSXText","StringLiteral","RegularExpressionLiteral","RegularExpression","ConstructorKeyword","GetKeyword","SetKeyword","JSXIdentifier","PropertyAccessExpression","getFullStart","tokenType","regex","lastIndexOf","pattern","walk","EndOfFileToken","push","forEach","fileName","location","constructor","message","name","index","offset","lineNumber","startIndex","endIndex","illegalDecorators","jsDoc","getWidth","array","callback","id","ThisKeyword","isQualifiedName","left","TypeQuery","nodeIsMissing","findAncestor","isFunctionLike","hasAbstractModifier","AbstractKeyword","getThisParameter","signature","parameters","isJSDocSignature","thisParameter","parameterIsThisKeyword","parameter","ClassDeclaration","ClassExpression","PropertyDeclaration","isClassDeclaration","isClassLike","body","Parameter","grandparent","ElementAccessExpression","OptionalChain","TypeAssertionExpression","AsExpression","SatisfiesExpression","ExpressionWithTypeArguments","NonNullExpression","moduleDeclaration","isModuleDeclaration","parentModifiers","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","exports","Converter","convertError","ts","require","getModifiers_1","node_utils_1","ts_estree_1","SyntaxKind","error","createError","message","messageText","file","start","allowPattern","ast","esTreeNodeToTSNodeMap","WeakMap","options","tsNodeToESTreeNodeMap","constructor","initializer","kind","loop","ForInStatement","isVariableDeclarationList","declarations","declaration","type","flags","NodeFlags","Using","isValidAssignmentTarget","ObjectLiteralExpression","ArrayLiteralExpression","node","allowInvalidAST","nodeHasIllegalDecorators","illegalDecorators","decorator","getDecorators","nodeCanBeDecorated","isMethodDeclaration","nodeIsPresent","body","modifier","getModifiers","ReadonlyKeyword","PropertySignature","MethodSignature","tokenToString","IndexSignature","StaticKeyword","isClassLike","parent","InKeyword","OutKeyword","ConstKeyword","TypeParameter","isInterfaceDeclaration","isTypeAliasDeclaration","PropertyDeclaration","Parameter","DeclareKeyword","isPropertyDeclaration","isVariableStatement","declarationKind","getDeclarationKind","declarationList","AbstractKeyword","ClassDeclaration","ConstructorType","MethodDeclaration","GetAccessor","SetAccessor","PublicKeyword","ProtectedKeyword","PrivateKeyword","ModuleBlock","SourceFile","AccessorKeyword","AsyncKeyword","FunctionDeclaration","FunctionExpression","ArrowFunction","ExportKeyword","anotherModifier","OverrideKeyword","func","getContainingFunction","Constructor","end","getStart","getEnd","aliasKey","valueKey","suppressWarnings","warned","suppressDeprecatedPropertyWarnings","process","emitWarning","set","deprecatedKey","preferredKey","assertModuleSpecifier","allowNull","moduleSpecifier","StringLiteral","convertBindingNameWithTypeAnnotation","name","tsType","id","convertPattern","typeAnnotation","convertTypeAnnotation","fixParentLocation","range","convertBodyExpressions","nodes","allowDirectives","canContainDirective","map","statement","child","convertChild","expression","isExpressionStatement","isStringLiteral","raw","directive","slice","filter","convertChainExpression","tsNode","isOptional","AST_NODE_TYPES","MemberExpression","object","optional","CallExpression","callee","isChildUnwrappable","isChildUnwrappableOptionalChain","isChainExpression","newChild","createNode","ChainExpression","converter","offset","FunctionType","annotationStartCol","getFullStart","loc","getLocFor","TSTypeAnnotation","convertTypeArgumentsToTypeParameterInstantiation","typeArguments","greaterThanToken","findNextToken","TSTypeParameterInstantiation","pos","params","typeArgument","convertTSTypeParametersToTypeParametersDeclaration","typeParameters","TSTypeParameterDeclaration","typeParameter","convertParameters","parameters","param","convertedParam","decorators","el","pattern","convertNode","registerTSNodeInNodeMap","convertImportAttributes","elements","element","convertJSXIdentifier","JSXIdentifier","getText","convertJSXNamespaceOrIdentifier","JsxNamespacedName","JSXNamespacedName","text","namespace","colonIndex","indexOf","getRange","convertJSXTagName","PropertyAccessExpression","PrivateIdentifier","JSXMemberExpression","property","ThisKeyword","Identifier","convertMethodSignature","TSMethodSignature","accessibility","getTSNodeAccessibility","computed","isComputedProperty","key","readonly","hasModifier","returnType","static","childRange","getLineAndCharacterFor","Program","endOfFileToken","statements","comments","sourceType","externalModuleIndicator","tokens","Block","BlockStatement","isThisInTypeQuery","ThisExpression","WithStatement","ReturnStatement","argument","LabeledStatement","label","ContinueStatement","BreakStatement","IfStatement","alternate","elseStatement","consequent","thenStatement","test","SwitchStatement","caseBlock","clauses","switchCase","DefaultClause","cases","discriminant","CaseClause","SwitchCase","ThrowStatement","TryStatement","block","tryBlock","finalizer","finallyBlock","handler","catchClause","CatchClause","variableDeclaration","WhileStatement","DoStatement","DoWhileStatement","ForStatement","init","condition","update","incrementor","left","right","ForOfStatement","await","Boolean","awaitModifier","AwaitKeyword","isDeclare","isAsync","isGenerator","asteriskToken","TSDeclareFunction","async","declare","generator","fixExports","VariableDeclaration","definite","exclamationToken","VariableDeclarator","VariableStatement","forEach","includes","VariableDeclarationList","ExpressionStatement","ArrayPattern","ArrayExpression","ObjectPattern","properties","push","ObjectExpression","PropertyAssignment","questionToken","Property","method","shorthand","ShorthandPropertyAssignment","modifiers","objectAssignmentInitializer","AssignmentPattern","ComputedPropertyName","isAbstract","isAccessor","TSAbstractAccessorProperty","AccessorProperty","TSAbstractPropertyDefinition","PropertyDefinition","Literal","override","InterfaceDeclaration","TypeLiteral","TSEmptyBodyFunctionExpression","methodDefinitionType","TSAbstractMethodDefinition","MethodDefinition","lastModifier","getLastModifier","constructorToken","getFirstToken","constructorKey","isStatic","SuperKeyword","Super","ArrayBindingPattern","OmittedExpression","ObjectBindingPattern","BindingElement","arrayItem","dotDotDotToken","RestElement","propertyName","ArrowFunctionExpression","YieldExpression","delegate","AwaitExpression","NoSubstitutionTemplateLiteral","TemplateLiteral","expressions","quasis","TemplateElement","tail","cooked","TemplateExpression","head","templateSpans","templateSpan","literal","TaggedTemplateExpression","quasi","template","tag","TemplateHead","TemplateMiddle","TemplateTail","SpreadAssignment","SpreadElement","parameter","TSParameterProperty","DefaultKeyword","ClassExpression","heritageClauses","classNodeType","extendsClause","implementsClause","heritageClause","token","types","ExtendsKeyword","ImplementsKeyword","abstract","ClassBody","members","isESTreeClassMember","implements","superClass","superTypeArguments","TSModuleBlock","ImportDeclaration","attributes","assertClause","importKind","source","specifiers","importClause","isTypeOnly","namedBindings","NamespaceImport","NamedImports","ImportNamespaceSpecifier","local","ImportSpecifier","imported","ImportClause","ImportDefaultSpecifier","ExportDeclaration","exportClause","NamedExports","ExportNamedDeclaration","exportKind","ExportAllDeclaration","exported","NamespaceExport","ExportSpecifier","ExportAssignment","isExportEquals","TSExportAssignment","ExportDefaultDeclaration","PrefixUnaryExpression","PostfixUnaryExpression","operator","getTextForTokenKind","operand","UpdateExpression","prefix","UnaryExpression","DeleteExpression","VoidExpression","TypeOfExpression","TypeOperator","TSTypeOperator","BinaryExpression","isComma","operatorToken","SequenceExpression","ParenthesizedExpression","expressionType","getBinaryExpressionType","AssignmentExpression","questionDotToken","ElementAccessExpression","argumentExpression","ImportKeyword","arguments","ImportExpression","args","NewExpression","ConditionalExpression","whenFalse","whenTrue","MetaProperty","meta","keywordToken","Decorator","JsxAttribute","unescapeStringLiteralText","NumericLiteral","Number","BigIntLiteral","rawValue","bigint","replaceAll","BigInt","String","RegularExpressionLiteral","lastIndexOf","regex","RegExp","TrueKeyword","FalseKeyword","NullKeyword","EmptyStatement","DebuggerStatement","JsxElement","JSXElement","children","closingElement","openingElement","JsxFragment","JSXFragment","closingFragment","openingFragment","JsxSelfClosingElement","JSXOpeningElement","tagName","selfClosing","JsxOpeningElement","JsxClosingElement","JSXClosingElement","JsxOpeningFragment","JSXOpeningFragment","JsxClosingFragment","JSXClosingFragment","JsxExpression","JSXEmptyExpression","JSXSpreadChild","JSXExpressionContainer","JSXAttribute","JsxText","JSXText","JsxSpreadAttribute","JSXSpreadAttribute","QualifiedName","TSQualifiedName","TypeReference","TSTypeReference","typeName","TSTypeParameter","const","constraint","default","in","out","ThisType","TSThisType","AnyKeyword","BigIntKeyword","BooleanKeyword","NeverKeyword","NumberKeyword","ObjectKeyword","StringKeyword","SymbolKeyword","UnknownKeyword","VoidKeyword","UndefinedKeyword","IntrinsicKeyword","NonNullExpression","nnExpr","TSNonNullExpression","TSTypeLiteral","ArrayType","TSArrayType","elementType","IndexedAccessType","TSIndexedAccessType","indexType","objectType","ConditionalType","TSConditionalType","checkType","extendsType","falseType","trueType","TypeQuery","TSTypeQuery","exprName","MappedType","TSMappedType","nameType","QuestionToken","readonlyToken","TypeAliasDeclaration","TSTypeAliasDeclaration","TSPropertySignature","TSIndexSignature","TSConstructorType","ConstructSignature","CallSignature","TSConstructSignatureDeclaration","TSCallSignatureDeclaration","TSFunctionType","ExpressionWithTypeArguments","parentKind","TSInterfaceHeritage","HeritageClause","TSClassImplements","TSInstantiationExpression","interfaceHeritageClauses","interfaceExtends","heritageType","TSInterfaceDeclaration","TSInterfaceBody","member","extends","TypePredicate","TSTypePredicate","asserts","assertsModifier","parameterName","ImportType","isTypeOf","importAttribute","commaToken","openBraceToken","closeBraceToken","withToken","withTokenRange","TSImportType","qualifier","EnumDeclaration","TSEnumDeclaration","TSEnumBody","EnumMember","TSEnumMember","ModuleDeclaration","TSModuleDeclaration","GlobalAugmentation","global","isModuleDeclaration","nextName","Namespace","ParenthesizedType","UnionType","TSUnionType","IntersectionType","TSIntersectionType","AsExpression","TSAsExpression","InferType","TSInferType","LiteralType","TSNullKeyword","TSLiteralType","TypeAssertionExpression","TSTypeAssertion","ImportEqualsDeclaration","TSImportEqualsDeclaration","moduleReference","ExternalModuleReference","TSExternalModuleReference","NamespaceExportDeclaration","TSNamespaceExportDeclaration","TSAbstractKeyword","TupleType","elementTypes","TSTupleType","NamedTupleMember","TSNamedTupleMember","TSRestType","OptionalType","TSOptionalType","RestType","TemplateLiteralType","TSTemplateLiteralType","ClassStaticBlockDeclaration","StaticBlock","AssertEntry","ImportAttribute","SatisfiesExpression","TSSatisfiesExpression","deeplyCopy","data","shouldPreserveNodeMaps","convertProgram","JSDocFunctionType","customType","errorOnUnknownASTType","Error","isTypeNode","KEYS_TO_NOT_COPY","Set","entries","has","Array","isArray","isNamespaceNode","getNamespaceModifiers","exportKeyword","nextModifier","declarationIsDefault","varToken","isType","getASTMaps","require_lib","global","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","exports","convertComments","tsutils","require","ts","node_utils_1","ts_estree_1","ast","code","comments","forEachComment","_","comment","type","kind","SyntaxKind","SingleLineCommentTrivia","AST_TOKEN_TYPES","Line","Block","range","pos","end","loc","getLocFor","textStart","textEnd","push","slice","Object","defineProperty","exports","value","simpleTraverse","visitor_keys_1","require","isValidNode","x","type","getVisitorKeysForNode","allVisitorKeys","node","keys","SimpleTraverser","visitorKeys","selectors","setParentPointers","constructor","traverse","parent","enter","visitors","length","key","childOrChildren","Array","isArray","child","startingNode","options","undefined","Object","defineProperty","exports","value","astConverter","convert_1","require","convert_comments_1","node_utils_1","simple_traverse_1","ast","parseSettings","shouldPreserveNodeMaps","parseDiagnostics","length","convertError","instance","Converter","allowInvalidAST","errorOnUnknownASTType","suppressDeprecatedPropertyWarnings","estree","convertProgram","range","loc","simpleTraverse","enter","node","tokens","convertTokens","comment","comments","convertComments","codeFullText","astMaps","getASTMaps","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","__importDefault","exports","getScriptKind","getLanguageVariant","node_path_1","require","ts","filePath","jsx","extension","default","extname","toLowerCase","Extension","Cjs","Js","Mjs","ScriptKind","JS","Cts","Mts","Ts","TS","Json","JSON","Jsx","JSX","Tsx","TSX","scriptKind","LanguageVariant","Standard","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","__importDefault","exports","createIsolatedProgram","debug_1","require","ts","getScriptKind_1","shared_1","log","default","parseSettings","jsx","filePath","compilerHost","fileExists","getCanonicalFileName","getCurrentDirectory","getDefaultLibFileName","getDirectories","getNewLine","getSourceFile","filename","createSourceFile","codeFullText","ScriptTarget","Latest","getScriptKind","readFile","useCaseSensitiveFileNames","writeFile","program","createProgram","jsDocParsingMode","JsxEmit","Preserve","noResolve","target","createDefaultCompilerOptionsFromExtra","ast","Error","__importDefault","mod","__esModule","Object","defineProperty","exports","value","describeFilePath","node_path_1","require","filePath","tsconfigRootDir","relative","default","startsWith","isAbsolute","test","__importDefault","mod","__esModule","Object","defineProperty","exports","value","createProjectProgramError","node_path_1","require","describeFilePath_1","shared_1","parseSettings","programsForProjects","describedFilePath","describeFilePath","filePath","tsconfigRootDir","getErrorStart","getErrorDetails","relativeProjects","projects","values","map","projectFile","describedPrograms","length","project","join","getProjectReferences","extraFileExtensions","details","extraExtension","startsWith","push","DEFAULT_EXTRA_FILE_EXTENSIONS","has","fileExtension","default","extname","nonStandardExt","includes","describedInclusions","describedSpecifiers","size","__importDefault","mod","__esModule","Object","defineProperty","exports","value","createProjectProgram","debug_1","require","node_utils_1","createProjectProgramError_1","shared_1","log","default","parseSettings","programsForProjects","filePath","astAndProgram","firstDefined","currentProgram","getAstFromProgram","Error","createProjectProgramError","join","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","__importDefault","exports","createSourceFile","createNoProgram","debug_1","require","ts","source_files_1","getScriptKind_1","log","default","parseSettings","jsx","filePath","isSourceFile","code","codeFullText","jsDocParsingMode","languageVersion","ScriptTarget","Latest","setExternalModuleIndicator","getScriptKind","ast","program","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","exports","getParsedConfigFile","fs","require","path","shared_1","tsserver","configFile","projectDirectory","sys","Error","parsed","getParsedCommandLineOfConfigFile","CORE_COMPILER_OPTIONS","fileExists","existsSync","getCurrentDirectory","onUnRecoverableConfigFileDiagnostic","diag","formatDiagnostics","readDirectory","readFile","file","readFileSync","isAbsolute","join","useCaseSensitiveFileNames","errors","resolve","process","cwd","diagnostics","getCanonicalFileName","f","getNewLine","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","__importDefault","exports","useProvidedPrograms","createProgramFromConfigFile","debug_1","require","path","ts","getParsedConfigFile_1","shared_1","log","default","programInstances","parseSettings","filePath","astAndProgram","programInstance","getAstFromProgram","program","getTypeChecker","relativeFilePath","relative","tsconfigRootDir","typeSource","typeSources","projects","size","errorLines","Error","join","configFile","projectDirectory","parsed","getParsedConfigFile","host","createCompilerHost","options","createProgram","fileNames","Object","defineProperty","exports","value","createParserServices","astMaps","program","emitDecoratorMetadata","undefined","experimentalDecorators","isolatedDeclarations","checker","getTypeChecker","compilerOptions","getCompilerOptions","getSymbolAtLocation","node","esTreeNodeToTSNodeMap","get","getTypeAtLocation","Object","defineProperty","exports","value","DEFAULT_PROJECT_FILES_ERROR_EXPLANATION","validateDefaultProjectForFilesGlob","allowDefaultProject","length","glob","Error","includes","__importDefault","mod","__esModule","Object","defineProperty","exports","value","createProjectService","debug_1","require","getParsedConfigFile_1","validateDefaultProjectForFilesGlob_1","DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD","log","default","logTsserverErr","logTsserverInfo","logTsserverPerf","logTsserverEvent","doNothing","createStubFileWatcher","close","optionsRaw","jsDocParsingMode","tsconfigRootDir","optionsRawObject","options","defaultProject","validateDefaultProjectForFilesGlob","allowDefaultProject","tsserver","system","sys","clearImmediate","clearTimeout","setImmediate","setTimeout","watchDirectory","watchFile","loadTypeScriptPlugins","error","message","module","undefined","logger","endGroup","getLogFileName","hasLevel","info","s","msg","server","Msg","Info","loggingEnabled","enabled","type","Err","Perf","perftrc","startGroup","service","ProjectService","cancellationToken","isCancellationRequested","eventHandler","e","host","session","useInferredProjectPerProjectRoot","useSingleInferredProject","setHostConfiguration","preferences","includePackageJsonAutoImports","configFile","getParsedConfigFile","Error","setCompilerOptionsForInferredProjects","lastReloadTimestamp","performance","now","maximumDefaultProjectFileMatchCount","maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING","Object","defineProperty","exports","value","ExpiringCache","DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS","ZERO_HR_TIME","Map","constructor","cacheDurationSeconds","clear","get","key","entry","ageSeconds","process","hrtime","lastSeen","delete","undefined","set","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","__importDefault","exports","getProjectConfigFiles","debug_1","require","fs","path","log","default","parseSettings","project","Array","isArray","filePath","directory","dirname","checkedDirectories","tsconfigPath","join","cached","tsconfigMatchCache","existsSync","set","push","tsconfigRootDir","Error","__importDefault","mod","__esModule","Object","defineProperty","exports","value","inferSingleRun","node_path_1","require","options","extraFileExtensions","length","project","programs","process","env","TSESTREE_SINGLE_RUN","disallowAutomaticSingleRunInference","possibleEslintBinPaths","CI","some","binPath","argv","endsWith","default","normalize","includes","Object","defineProperty","exports","value","splitWhen","flatten","items","reduce","collection","item","concat","predicate","result","groupIndex","push","Object","defineProperty","exports","value","isEnoentCodeError","error","code","Object","defineProperty","exports","value","createDirentFromStats","DirentFromStats","constructor","name","stats","isBlockDevice","bind","isCharacterDevice","isDirectory","isFIFO","isFile","isSocket","isSymbolicLink","Object","defineProperty","exports","value","convertPosixPathToPattern","convertWindowsPathToPattern","convertPathToPattern","escapePosixPath","escapeWindowsPath","escape","removeLeadingDotSegment","makeAbsolute","unixify","os","require","path","IS_WINDOWS_PLATFORM","platform","LEADING_DOT_SEGMENT_CHARACTERS_COUNT","POSIX_UNESCAPED_GLOB_SYMBOLS_RE","WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE","DOS_DEVICE_PATH_RE","WINDOWS_BACKSLASHES_RE","filepath","replace","cwd","resolve","entry","charAt","secondCharactery","slice","pattern","module","exports","isExtglob","str","match","exec","slice","index","length","isExtglob","require","chars","strictCheck","str","index","pipeIndex","closeSquareIndex","closeCurlyIndex","closeParenIndex","backSlashIndex","length","test","indexOf","open","close","n","relaxedCheck","module","exports","isGlob","options","check","strict","isGlob","require","pathPosixDirname","posix","dirname","isWin32","platform","slash","backslash","enclosure","globby","escaped","module","exports","globParent","str","opts","options","Object","assign","flipBackslashes","indexOf","replace","test","exports","isInteger","num","Number","trim","find","node","type","nodes","exceedsLimit","min","max","step","limit","escapeNode","block","n","escaped","value","encloseBrace","commas","ranges","invalid","isInvalidBrace","dollar","open","close","isOpenOrClose","reduce","acc","push","flatten","args","result","flat","arr","i","length","ele","Array","isArray","undefined","utils","require","module","exports","ast","options","stringify","node","parent","invalidBlock","escapeInvalid","isInvalidBrace","invalidNode","invalid","output","value","isOpenOrClose","nodes","child","module","exports","num","trim","Number","isFinite","isNumber","require","toRegexRange","min","max","options","TypeError","String","opts","relaxZeros","strictZeros","relax","shorthand","capture","wrap","cacheKey","cache","hasOwnProperty","result","a","Math","b","abs","isPadded","hasPadding","state","positives","negatives","maxLen","length","newMin","splitToPatterns","collatePatterns","neg","pos","onlyNegative","filterPatterns","onlyPositive","intersected","subpatterns","concat","join","splitToRanges","nines","zeros","stop","countNines","stops","Set","add","countZeros","sort","compare","rangeToPattern","start","pattern","count","digits","zipped","zip","i","startDigit","stopDigit","toCharacterClass","tok","ranges","tokens","prev","obj","pop","push","string","toQuantifier","padZeros","arr","comparison","prefix","intersection","ele","contains","key","val","some","len","Number","slice","repeat","integer","pow","str","test","value","diff","clearCache","module","exports","util","require","toRegexRange","isObject","val","Array","isArray","transform","toNumber","value","Number","String","isValidValue","isNumber","num","isInteger","zeros","input","index","slice","stringify","start","end","options","pad","maxLength","dash","padStart","toMaxLen","negative","length","toSequence","parts","maxLen","negatives","sort","a","b","positives","prefix","capture","result","map","v","join","wrap","toRange","isNumbers","fromCharCode","stop","toRegex","rangeError","args","RangeError","inspect","invalidRange","strictRanges","invalidStep","step","TypeError","fillNumbers","descending","startString","endString","stepString","Math","max","abs","padded","format","push","range","fillLetters","charCodeAt","min","fill","opts","module","exports","fill","require","utils","compile","ast","options","walk","node","parent","invalidBlock","isInvalidBrace","invalidNode","invalid","escapeInvalid","prefix","output","isOpen","value","isClose","console","log","type","prev","nodes","ranges","args","reduce","range","wrap","toRegex","strictZeros","length","child","module","exports","fill","require","stringify","utils","append","queue","stash","enclose","result","concat","length","flatten","map","ele","item","Array","isArray","value","push","expand","ast","options","rangeLimit","undefined","walk","node","parent","p","q","type","invalid","dollar","pop","nodes","ranges","args","reduce","exceedsLimit","step","RangeError","range","encloseBrace","block","i","child","module","exports","require_constants","module","exports","MAX_LENGTH","CHAR_0","CHAR_9","CHAR_UPPERCASE_A","CHAR_LOWERCASE_A","CHAR_UPPERCASE_Z","CHAR_LOWERCASE_Z","CHAR_LEFT_PARENTHESES","CHAR_RIGHT_PARENTHESES","CHAR_ASTERISK","CHAR_AMPERSAND","CHAR_AT","CHAR_BACKSLASH","CHAR_BACKTICK","CHAR_CARRIAGE_RETURN","CHAR_CIRCUMFLEX_ACCENT","CHAR_COLON","CHAR_COMMA","CHAR_DOLLAR","CHAR_DOT","CHAR_DOUBLE_QUOTE","CHAR_EQUAL","CHAR_EXCLAMATION_MARK","CHAR_FORM_FEED","CHAR_FORWARD_SLASH","CHAR_HASH","CHAR_HYPHEN_MINUS","CHAR_LEFT_ANGLE_BRACKET","CHAR_LEFT_CURLY_BRACE","CHAR_LEFT_SQUARE_BRACKET","CHAR_LINE_FEED","CHAR_NO_BREAK_SPACE","CHAR_PERCENT","CHAR_PLUS","CHAR_QUESTION_MARK","CHAR_RIGHT_ANGLE_BRACKET","CHAR_RIGHT_CURLY_BRACE","CHAR_RIGHT_SQUARE_BRACKET","CHAR_SEMICOLON","CHAR_SINGLE_QUOTE","CHAR_SPACE","CHAR_TAB","CHAR_UNDERSCORE","CHAR_VERTICAL_LINE","CHAR_ZERO_WIDTH_NOBREAK_SPACE","require_parse","stringify","require","MAX_LENGTH","CHAR_BACKSLASH","CHAR_BACKTICK","CHAR_COMMA","CHAR_DOT","CHAR_LEFT_PARENTHESES","CHAR_RIGHT_PARENTHESES","CHAR_LEFT_CURLY_BRACE","CHAR_RIGHT_CURLY_BRACE","CHAR_LEFT_SQUARE_BRACKET","CHAR_RIGHT_SQUARE_BRACKET","CHAR_DOUBLE_QUOTE","CHAR_SINGLE_QUOTE","CHAR_NO_BREAK_SPACE","CHAR_ZERO_WIDTH_NOBREAK_SPACE","parse","input","options","TypeError","opts","max","maxLength","Math","min","length","SyntaxError","ast","type","nodes","stack","block","prev","brackets","index","depth","value","advance","push","node","parent","keepEscaping","next","pop","open","keepQuotes","dollar","slice","brace","close","commas","ranges","shift","siblings","range","invalid","args","before","forEach","isOpen","isClose","indexOf","splice","module","exports","stringify","require","compile","expand","parse","braces","input","options","output","Array","isArray","pattern","result","create","push","concat","nodupes","Set","noempty","filter","Boolean","length","module","exports","util","require","braces","picomatch","utils","isEmptyString","v","hasBraces","index","indexOf","micromatch","list","patterns","options","concat","omit","Set","keep","items","negatives","onResult","state","add","output","i","length","isMatch","String","negated","negatedExtglob","item","matched","match","delete","result","matches","filter","has","failglob","Error","join","nonull","nullglob","unescape","map","p","replace","matcher","pattern","str","any","not","push","contains","TypeError","inspect","Array","isArray","some","includes","startsWith","slice","matchKeys","obj","isObject","keys","Object","res","key","every","all","capture","glob","input","posix","isWindows","regex","makeRe","exec","toPosixSlashes","args","scan","parse","nobrace","braceExpand","expand","module","exports","Object","defineProperty","exports","value","isAbsolute","partitionAbsoluteAndRelative","removeDuplicateSlashes","matchAny","convertPatternsToRe","makeRe","getPatternParts","expandBraceExpansion","expandPatternsWithBraceExpansion","isAffectDepthOfReadingPattern","endsWithSlashGlobStar","hasGlobStar","getBaseDirectory","isPatternRelatedToParentDirectory","getPatternsOutsideCurrentDirectory","getPatternsInsideCurrentDirectory","getPositivePatterns","getNegativePatterns","isPositivePattern","isNegativePattern","convertToNegativePattern","convertToPositivePattern","isDynamicPattern","isStaticPattern","path","require","globParent","micromatch","GLOBSTAR","ESCAPE_SYMBOL","COMMON_GLOB_SYMBOLS_RE","REGEX_CHARACTER_CLASS_SYMBOLS_RE","REGEX_GROUP_SYMBOLS_RE","GLOB_EXTENSION_SYMBOLS_RE","BRACE_EXPANSION_SEPARATORS_RE","DOUBLE_SLASH_RE","pattern","options","caseSensitiveMatch","includes","test","extglob","braceExpansion","hasBraceExpansion","openingBraceIndex","indexOf","closingBraceIndex","braceContent","slice","startsWith","patterns","filter","flipBackslashes","endsWith","basename","reduce","collection","concat","braces","expand","nodupes","keepEscaping","sort","a","b","length","parts","scan","assign","unshift","map","entry","patternsRe","some","patternRe","replace","absolute","relative","push","Stream","require","PassThrough","slice","Array","prototype","module","exports","merge2","streamsQueue","args","call","arguments","merging","options","length","isArray","pipe","pop","doEnd","end","doPipeError","pipeError","objectMode","highWaterMark","mergedStream","addStream","i","len","push","pauseStreams","mergeStream","streams","shift","process","nextTick","endStream","pipesCount","next","stream","onend","removeListener","onerror","err","emit","_readableState","endEmitted","on","resume","setMaxListeners","add","apply","pause","Error","Object","defineProperty","exports","value","merge","merge2","require","streams","mergedStream","forEach","stream","once","error","emit","propagateCloseEventToSources","Object","defineProperty","exports","value","isEmpty","isString","input","require_utils","Object","defineProperty","exports","value","string","stream","pattern","path","fs","errno","array","require","Object","defineProperty","exports","value","convertPatternGroupToTask","convertPatternGroupsToTasks","groupPatternsByBaseDirectory","getNegativePatternsAsPositive","getPositivePatterns","convertPatternsToTasks","generate","utils","require","input","settings","patterns","processPatterns","ignore","positivePatterns","negativePatterns","staticPatterns","filter","pattern","isStaticPattern","dynamicPatterns","isDynamicPattern","staticTasks","dynamicTasks","concat","braceExpansion","expandPatternsWithBraceExpansion","baseNameMatch","map","includes","removeDuplicateSlashes","positive","negative","dynamic","tasks","patternsOutsideCurrentDirectory","getPatternsOutsideCurrentDirectory","patternsInsideCurrentDirectory","getPatternsInsideCurrentDirectory","outsideCurrentDirectoryGroup","insideCurrentDirectoryGroup","push","getNegativePatterns","convertToPositivePattern","group","reduce","collection","base","getBaseDirectory","keys","convertToNegativePattern","Object","defineProperty","exports","value","read","path","settings","callback","fs","lstat","lstatError","callFailureCallback","isSymbolicLink","followSymbolicLink","callSuccessCallback","stat","statError","throwErrorOnBrokenSymbolicLink","markSymbolicLink","error","result","Object","defineProperty","exports","value","read","path","settings","lstat","fs","lstatSync","isSymbolicLink","followSymbolicLink","stat","statSync","markSymbolicLink","error","throwErrorOnBrokenSymbolicLink","require_fs","Object","defineProperty","exports","value","createFileSystemAdapter","FILE_SYSTEM_ADAPTER","fs","require","lstat","stat","lstatSync","statSync","fsMethods","undefined","assign","Object","defineProperty","exports","value","fs","require","Settings","constructor","_options","followSymbolicLink","_getValue","createFileSystemAdapter","markSymbolicLink","throwErrorOnBrokenSymbolicLink","option","default","Object","defineProperty","exports","value","statSync","stat","Settings","async","require","sync","settings_1","default","path","optionsOrSettingsOrCallback","callback","read","getSettings","optionsOrSettings","settings","settingsOrOptions","promise","module","exports","queueMicrotask","bind","window","global","cb","Promise","resolve","then","catch","err","setTimeout","module","exports","runParallel","queueMicrotask","require","tasks","cb","results","pending","keys","isSync","Array","isArray","length","Object","done","err","end","each","i","result","forEach","key","task","require_constants","Object","defineProperty","exports","value","IS_SUPPORT_READDIR_WITH_FILE_TYPES","NODE_PROCESS_VERSION_PARTS","process","versions","node","split","undefined","Error","MAJOR_VERSION","Number","parseInt","MINOR_VERSION","SUPPORTED_MAJOR_VERSION","SUPPORTED_MINOR_VERSION","IS_MATCHED_BY_MAJOR","IS_MATCHED_BY_MAJOR_AND_MINOR","require_fs","Object","defineProperty","exports","value","createDirentFromStats","DirentFromStats","constructor","name","stats","isBlockDevice","bind","isCharacterDevice","isDirectory","isFIFO","isFile","isSocket","isSymbolicLink","require_utils","Object","defineProperty","exports","value","fs","require","require_common","Object","defineProperty","exports","value","joinPathSegments","a","b","separator","endsWith","require_async","Object","defineProperty","exports","value","readdir","readdirWithFileTypes","read","fsStat","require","rpl","constants_1","utils","common","directory","settings","callback","stats","IS_SUPPORT_READDIR_WITH_FILE_TYPES","fs","withFileTypes","readdirError","dirents","callFailureCallback","entries","map","dirent","name","path","joinPathSegments","pathSegmentSeparator","followSymbolicLinks","callSuccessCallback","tasks","entry","makeRplTaskEntry","rplError","rplEntries","done","isSymbolicLink","stat","statError","throwErrorOnBrokenSymbolicLink","createDirentFromStats","names","fsStatSettings","error","result","require_sync","Object","defineProperty","exports","value","readdir","readdirWithFileTypes","read","fsStat","require","constants_1","utils","common","directory","settings","stats","IS_SUPPORT_READDIR_WITH_FILE_TYPES","dirents","fs","readdirSync","withFileTypes","map","dirent","entry","name","path","joinPathSegments","pathSegmentSeparator","isSymbolicLink","followSymbolicLinks","statSync","createDirentFromStats","error","throwErrorOnBrokenSymbolicLink","names","entryPath","fsStatSettings","require_fs","Object","defineProperty","exports","value","createFileSystemAdapter","FILE_SYSTEM_ADAPTER","fs","require","lstat","stat","lstatSync","statSync","readdir","readdirSync","fsMethods","undefined","assign","require_settings","Object","defineProperty","exports","value","path","require","fsStat","fs","Settings","constructor","_options","followSymbolicLinks","_getValue","createFileSystemAdapter","pathSegmentSeparator","sep","stats","throwErrorOnBrokenSymbolicLink","fsStatSettings","followSymbolicLink","option","default","require_out","Object","defineProperty","exports","value","Settings","scandirSync","scandir","async","require","sync","settings_1","default","path","optionsOrSettingsOrCallback","callback","read","getSettings","optionsOrSettings","settings","settingsOrOptions","reusify","Constructor","head","tail","get","current","next","release","obj","module","exports","reusify","require","fastqueue","context","worker","_concurrency","Error","cache","Task","queueHead","queueTail","_running","errorHandler","self","push","drain","noop","saturated","pause","paused","concurrency","value","release","running","resume","idle","length","getQueue","unshift","empty","kill","killAndDrain","error","current","counter","next","tasks","done","get","callback","call","worked","holder","handler","err","result","val","queueAsPromised","asyncWrapper","arg","cb","then","res","queue","pushCb","unshiftCb","drained","p","Promise","resolve","reject","catch","process","nextTick","previousDrain","module","exports","promise","require_common","Object","defineProperty","exports","value","joinPathSegments","replacePathSegmentSeparator","isAppliedFilter","isFatalError","settings","error","errorFilter","filter","filepath","separator","split","join","a","b","endsWith","Object","defineProperty","exports","value","common","require","Reader","constructor","_root","_settings","replacePathSegmentSeparator","pathSegmentSeparator","default","require_async","Object","defineProperty","exports","value","events_1","require","fsScandir","fastq","common","reader_1","AsyncReader","default","constructor","_root","_settings","_scandir","scandir","_emitter","EventEmitter","_queue","_worker","bind","concurrency","_isFatalError","_isDestroyed","drain","emit","read","setImmediate","_pushToQueue","basePath","isDestroyed","destroy","Error","killAndDrain","onEntry","callback","on","onError","once","onEnd","directory","base","queueItem","push","error","_handleError","item","done","fsScandirSettings","entries","undefined","entry","_handleEntry","isFatalError","fullpath","path","joinPathSegments","name","pathSegmentSeparator","isAppliedFilter","entryFilter","_emitEntry","dirent","isDirectory","deepFilter","require_async","Object","defineProperty","exports","value","async_1","require","AsyncProvider","constructor","_root","_settings","_reader","default","_storage","read","callback","onError","error","callFailureCallback","onEntry","entry","push","onEnd","callSuccessCallback","entries","require_stream","Object","defineProperty","exports","value","stream_1","require","async_1","StreamProvider","constructor","_root","_settings","_reader","default","_stream","Readable","objectMode","read","destroy","isDestroyed","onError","error","emit","onEntry","entry","push","onEnd","require_sync","Object","defineProperty","exports","value","fsScandir","require","common","reader_1","SyncReader","default","constructor","arguments","_scandir","scandirSync","_storage","_queue","Set","read","_pushToQueue","_root","_settings","basePath","_handleQueue","directory","base","add","item","values","_handleDirectory","entries","fsScandirSettings","entry","_handleEntry","error","_handleError","isFatalError","fullpath","path","undefined","joinPathSegments","name","pathSegmentSeparator","isAppliedFilter","entryFilter","_pushToStorage","dirent","isDirectory","deepFilter","push","require_sync","Object","defineProperty","exports","value","sync_1","require","SyncProvider","constructor","_root","_settings","_reader","default","read","require_settings","Object","defineProperty","exports","value","path","require","fsScandir","Settings","constructor","_options","basePath","_getValue","undefined","concurrency","Number","POSITIVE_INFINITY","deepFilter","entryFilter","errorFilter","pathSegmentSeparator","sep","fsScandirSettings","followSymbolicLinks","fs","stats","throwErrorOnBrokenSymbolicLink","option","default","require_out","Object","defineProperty","exports","value","Settings","walkStream","walkSync","walk","async_1","require","stream_1","sync_1","settings_1","default","directory","optionsOrSettingsOrCallback","callback","getSettings","read","optionsOrSettings","settings","provider","settingsOrOptions","require_reader","Object","defineProperty","exports","value","path","require","fsStat","utils","Reader","constructor","_settings","_fsStatSettings","Settings","followSymbolicLink","followSymbolicLinks","fs","throwErrorOnBrokenSymbolicLink","_getFullEntryPath","filepath","resolve","cwd","_makeEntry","stats","pattern","entry","name","dirent","createDirentFromStats","_isFatalError","error","errno","isEnoentCodeError","suppressErrors","default","require_stream","Object","defineProperty","exports","value","stream_1","require","fsStat","fsWalk","reader_1","ReaderStream","default","constructor","arguments","_walkStream","walkStream","_stat","stat","dynamic","root","options","static","patterns","filepaths","map","_getFullEntryPath","stream","PassThrough","objectMode","_write","index","_enc","done","_getEntry","then","entry","entryFilter","push","length","end","catch","i","write","filepath","pattern","_getStat","stats","_makeEntry","error","errorFilter","Promise","resolve","reject","_fsStatSettings","require_async","Object","defineProperty","exports","value","fsWalk","require","reader_1","stream_1","ReaderAsync","default","constructor","arguments","_walkAsync","walk","_readerStream","_settings","dynamic","root","options","Promise","resolve","reject","error","entries","static","patterns","stream","once","on","entry","push","Object","defineProperty","exports","value","utils","require","Matcher","constructor","_patterns","_settings","_micromatchOptions","_storage","_fillStorage","pattern","segments","_getPatternSegments","sections","_splitSegmentsIntoSections","push","complete","length","parts","getPatternParts","map","part","dynamic","isDynamicPattern","patternRe","makeRe","array","splitWhen","segment","hasGlobStar","default","Object","defineProperty","exports","value","matcher_1","require","PartialMatcher","default","match","filepath","parts","split","levels","length","patterns","_storage","filter","info","complete","segments","pattern","section","sections","every","part","index","segment","dynamic","patternRe","test","Object","defineProperty","exports","value","utils","require","partial_1","DeepFilter","constructor","_settings","_micromatchOptions","getFilter","basePath","positive","negative","matcher","_getMatcher","negativeRe","_getNegativePatternsRe","entry","_filter","patterns","default","affectDepthOfReadingPatterns","filter","pattern","isAffectDepthOfReadingPattern","convertPatternsToRe","_isSkippedByDeep","path","_isSkippedSymbolicLink","filepath","removeLeadingDotSegment","_isSkippedByPositivePatterns","_isSkippedByNegativePatterns","entryPath","deep","Infinity","_getEntryLevel","entryPathDepth","split","length","basePathDepth","followSymbolicLinks","dirent","isSymbolicLink","baseNameMatch","match","patternsRe","matchAny","Object","defineProperty","exports","value","utils","require","EntryFilter","constructor","_settings","_micromatchOptions","index","Map","getFilter","positive","negative","absoluteNegative","relativeNegative","pattern","partitionAbsoluteAndRelative","patterns","all","convertPatternsToRe","absolute","assign","dot","relative","entry","_filter","filepath","path","removeLeadingDotSegment","unique","_isDuplicateEntry","_onlyFileFilter","_onlyDirectoryFilter","isMatched","_isMatchToPatternsSet","dirent","isDirectory","_createIndexRecord","has","set","undefined","onlyFiles","isFile","onlyDirectories","_isMatchToPatterns","isMatchedByRelativeNegative","isMatchedByAbsoluteNegative","_isMatchToAbsoluteNegative","patternsRe","length","fullpath","makeAbsolute","cwd","matchAny","default","Object","defineProperty","exports","value","utils","require","ErrorFilter","constructor","_settings","getFilter","error","_isNonFatalError","errno","isEnoentCodeError","suppressErrors","default","require_entry","Object","defineProperty","exports","value","utils","require","EntryTransformer","constructor","_settings","getTransformer","entry","_transform","filepath","path","absolute","makeAbsolute","cwd","unixify","markDirectories","dirent","isDirectory","objectMode","assign","default","Object","defineProperty","exports","value","path","require","deep_1","entry_1","error_1","entry_2","Provider","constructor","_settings","errorFilter","default","entryFilter","_getMicromatchOptions","deepFilter","entryTransformer","_getRootDirectory","task","resolve","cwd","base","_getReaderOptions","basePath","pathSegmentSeparator","concurrency","getFilter","positive","negative","followSymbolicLinks","fs","stats","throwErrorOnBrokenSymbolicLink","transform","getTransformer","dot","matchBase","baseNameMatch","nobrace","braceExpansion","nocase","caseSensitiveMatch","noext","extglob","noglobstar","globstar","posix","strictSlashes","require_async","Object","defineProperty","exports","value","async_1","require","provider_1","ProviderAsync","default","constructor","arguments","_reader","_settings","read","task","root","_getRootDirectory","options","_getReaderOptions","entries","api","map","entry","transform","dynamic","static","patterns","require_stream","Object","defineProperty","exports","value","stream_1","require","stream_2","provider_1","ProviderStream","default","constructor","arguments","_reader","_settings","read","task","root","_getRootDirectory","options","_getReaderOptions","source","api","destination","Readable","objectMode","once","error","emit","on","entry","transform","destroy","dynamic","static","patterns","require_sync","Object","defineProperty","exports","value","fsStat","require","fsWalk","reader_1","ReaderSync","default","constructor","arguments","_walkSync","walkSync","_statSync","statSync","dynamic","root","options","static","patterns","entries","pattern","filepath","_getFullEntryPath","entry","_getEntry","entryFilter","push","stats","_getStat","_makeEntry","error","errorFilter","_fsStatSettings","require_sync","Object","defineProperty","exports","value","sync_1","require","provider_1","ProviderSync","default","constructor","arguments","_reader","_settings","read","task","root","_getRootDirectory","options","_getReaderOptions","entries","api","map","transform","dynamic","static","patterns","require_settings","Object","defineProperty","exports","value","DEFAULT_FILE_SYSTEM_ADAPTER","fs","require","os","CPU_COUNT","Math","max","cpus","length","lstat","lstatSync","stat","statSync","readdir","readdirSync","Settings","constructor","_options","absolute","_getValue","baseNameMatch","braceExpansion","caseSensitiveMatch","concurrency","cwd","process","deep","Infinity","dot","extglob","followSymbolicLinks","_getFileSystemMethods","globstar","ignore","markDirectories","objectMode","onlyDirectories","onlyFiles","stats","suppressErrors","throwErrorOnBrokenSymbolicLink","unique","concat","option","undefined","methods","assign","default","require_out","taskManager","require","async_1","stream_1","sync_1","settings_1","utils","FastGlob","source","options","assertPatternsInput","works","getWorks","default","result","Promise","all","array","flatten","glob","globSync","sync","globStream","stream","async","merge","generateTasks","patterns","concat","settings","generate","isDynamicPattern","pattern","escapePath","path","escape","convertPathToPattern","posix","escapePosixPath","convertPosixPathToPattern","win32","escapeWindowsPath","convertWindowsPathToPattern","_Provider","tasks","provider","map","read","input","isValidSource","every","item","string","isString","isEmpty","TypeError","module","exports","__importDefault","mod","__esModule","Object","defineProperty","exports","value","clearGlobCache","resolveProjectList","clearGlobResolutionCache","debug_1","require","fast_glob_1","is_glob_1","shared_1","ExpiringCache_1","log","default","RESOLUTION_CACHE","clear","options","sanitizedProjects","project","push","length","Map","projectFolderIgnoreList","filter","folder","map","startsWith","cacheKey","getHash","tsconfigRootDir","ExpiringCache","singleRun","cacheLifetime","glob","DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS","cached","get","nonGlobProjects","globProjects","globProjectPaths","flatMap","pattern","sync","cwd","ignore","uniqueCanonicalProjectPaths","getCanonicalFileName","ensureAbsolutePath","set","hashObject","sort","createHash","JSON","stringify","Object","defineProperty","exports","value","version","require","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","__importDefault","exports","SUPPORTED_TYPESCRIPT_VERSIONS","warnAboutTSVersion","semver_1","require","ts","version_1","SUPPORTED_PRERELEASE_RANGES","ACTIVE_TYPESCRIPT_VERSION","version","isRunningSupportedTypeScriptVersion","default","satisfies","join","warnedAboutTSVersion","parseSettings","passedLoggerFn","process","stdout","isTTY","border","versionWarning","log","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","__importDefault","exports","createParseSettings","clearTSConfigMatchCache","clearTSServerProjectService","debug_1","require","node_path_1","ts","createProjectService_1","shared_1","source_files_1","ExpiringCache_1","getProjectConfigFiles_1","inferSingleRun_1","resolveProjectList_1","warnAboutTSVersion_1","log","default","TSCONFIG_MATCH_CACHE","TSSERVER_PROJECT_SERVICE","JSDocParsingMode","ParseAll","ParseForTypeErrors","ParseForTypeInfo","ParseNone","code","tsestreeOptions","codeFullText","enforceCodeString","singleRun","inferSingleRun","tsconfigRootDir","process","cwd","passedLoggerFn","loggerFn","filePath","ensureAbsolutePath","getFileName","jsx","extension","extname","toLowerCase","jsDocParsingMode","parseSettings","loc","range","allowInvalidAST","comment","comments","debugLevel","Set","Array","isArray","errorOnTypeScriptSyntacticAndSemanticIssues","errorOnUnknownASTType","extraFileExtensions","every","ext","console","preserveNodeMaps","programs","projects","Map","projectService","project","env","TYPESCRIPT_ESLINT_PROJECT_SERVICE","createProjectService","setExternalModuleIndicator","sourceType","Extension","Mjs","Mts","file","externalModuleIndicator","suppressDeprecatedPropertyWarnings","NODE_ENV","tokens","tsconfigMatchCache","ExpiringCache","cacheLifetime","glob","DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS","size","namespaces","has","push","enabled","enable","join","Error","resolveProjectList","getProjectConfigFiles","projectFolderIgnoreList","warnAboutTSVersion","clear","isSourceFile","getFullText","String","Object","defineProperty","exports","value","getFirstSemanticOrSyntacticError","typescript_1","require","program","ast","supportedSyntacticDiagnostics","allowlistSupportedDiagnostics","getSyntacticDiagnostics","length","convertDiagnosticToSemanticOrSyntacticError","supportedSemanticDiagnostics","getSemanticDiagnostics","undefined","e","console","warn","message","diagnostics","filter","diagnostic","code","flattenDiagnosticMessageText","messageText","sys","newLine","module","exports","balanced","a","b","str","RegExp","maybeMatch","r","range","start","end","pre","slice","body","length","post","reg","m","match","begs","beg","left","right","result","ai","indexOf","bi","i","push","pop","balanced","require","module","exports","expandTop","escSlash","Math","random","escOpen","escClose","escComma","escPeriod","numeric","str","parseInt","charCodeAt","escapeBraces","split","join","unescapeBraces","parseCommaParts","parts","m","pre","body","post","p","length","postParts","shift","push","apply","substr","expand","map","embrace","isPadded","el","test","lte","i","y","gte","isTop","expansions","k","expansion","isNumericSequence","isAlphaSequence","isSequence","isOptions","indexOf","match","n","N","x","width","max","incr","abs","reverse","pad","some","c","String","fromCharCode","need","z","Array","slice","j","AST","i","acc","start","final","ext","path","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","__importDefault","exports","useProgramFromProjectService","debug_1","require","minimatch_1","node_path_1","node_util_1","ts","createProjectProgram_1","createSourceFile_1","shared_1","validateDefaultProjectForFilesGlob_1","RELOAD_THROTTLE_MS","log","default","serviceFileExtensions","WeakMap","updateExtraFileExtensions","service","extraFileExtensions","currentServiceFileExtensions","isDeepStrictEqual","setHostConfiguration","map","extension","isMixedContent","scriptKind","ScriptKind","Deferred","set","openClientFileFromProjectService","defaultProjectMatchedFiles","isDefaultProjectAllowed","filePathAbsolute","parseSettings","serviceSettings","opened","openClientFileAndMaybeReload","configFileName","Error","filePath","wasNotFound","fileExtension","extname","DEFAULT_EXTRA_FILE_EXTENSIONS","has","includes","nonStandardExt","add","size","maximumDefaultProjectFileMatchCount","filePrintLimit","filesToPrint","slice","truncatedFileCount","DEFAULT_PROJECT_FILES_ERROR_EXPLANATION","file","join","openClientFile","codeFullText","tsconfigRootDir","configFileErrors","singleRun","performance","now","lastReloadTimestamp","reloadProjects","createNoProgramWithProjectService","getScriptInfo","createNoProgram","retrieveASTAndProgramFor","scriptInfo","program","getDefaultProjectForFile","fileName","getLanguageService","getProgram","createProjectProgram","hasFullTypeInformation","absolutify","filePathRelative","relative","filePathMatchedBy","allowDefaultProject","isAbsolute","host","getCurrentDirectory","some","pattern","minimatch","__importDefault","mod","__esModule","Object","defineProperty","exports","value","clearProgramCache","clearDefaultProjectMatchedFiles","parse","clearParseAndGenerateServicesCalls","parseAndGenerateServices","debug_1","require","ast_converter_1","convert_1","createIsolatedProgram_1","createProjectProgram_1","createSourceFile_1","getWatchProgramsForProjects_1","useProvidedPrograms_1","createParserServices_1","createParseSettings_1","semantic_or_syntactic_errors_1","useProgramFromProjectService_1","log","default","existingPrograms","Map","clear","defaultProjectMatchedFiles","Set","getProgramAndAST","parseSettings","hasFullTypeInformation","projectService","fromProjectService","useProgramFromProjectService","programs","fromProvidedPrograms","useProvidedPrograms","createNoProgram","createProjectProgram","getWatchProgramsForProjects","code","options","ast","parseWithNodeMapsInternal","shouldPreserveNodeMaps","createParseSettings","errorOnTypeScriptSyntacticAndSemanticIssues","Error","createSourceFile","astMaps","estree","astConverter","esTreeNodeToTSNodeMap","tsNodeToESTreeNodeMap","parseAndGenerateServicesCalls","tsestreeOptions","singleRun","projects","size","Symbol","iterator","configFile","existingProgram","get","newProgram","createProgramFromConfigFile","set","filePath","program","createIsolatedProgram","preserveNodeMaps","error","getFirstSemanticOrSyntacticError","convertError","services","createParserServices","Object","defineProperty","exports","value","clearProgramCache","clearCaches","getWatchProgramsForProjects_1","require","parser_1","createParseSettings_1","resolveProjectList_1","clearDefaultProjectMatchedFiles","clearWatchCaches","clearTSConfigMatchCache","clearTSServerProjectService","clearGlobCache","Object","defineProperty","exports","value","withoutProjectParserOptions","opts","EXPERIMENTAL_useProjectService","project","projectService","rest","require_dist","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__exportStar","exports","p","prototype","hasOwnProperty","call","value","withoutProjectParserOptions","version","typescriptVersionIsAtLeast","simpleTraverse","parseAndGenerateServices","parse","TSError","createProgram","getCanonicalFileName","require","shared_1","useProvidedPrograms_1","createProgramFromConfigFile","node_utils_1","parser_1","simple_traverse_1","version_check_1","version_1","withoutProjectParserOptions_1","require_parser","__importDefault","mod","__esModule","Object","defineProperty","exports","value","parse","parseForESLint","scope_manager_1","require","typescript_estree_1","visitor_keys_1","debug_1","typescript_1","log","default","validateBoolean","fallback","LIB_FILENAME_REGEX","getLib","compilerOptions","lib","map","exec","toLowerCase","filter","target","ScriptTarget","ES5","ES2015","ES2016","ES2017","ES2018","ES2019","ES2020","ES2021","ES2022","ES2023","ES2024","ESNext","code","options","ast","parserOptions","sourceType","ecmaFeatures","warnOnUnsupportedTypeScriptVersion","tsestreeOptions","jsx","loggerFn","errorOnTypeScriptSyntacticAndSemanticIssues","comment","loc","range","tokens","analyzeOptions","globalReturn","jsxFragmentName","jsxPragma","services","parseAndGenerateServices","program","getCompilerOptions","undefined","jsxFactory","factory","split","trim","jsxFragmentFactory","fragFactory","scopeManager","analyze","emitDecoratorMetadata","experimentalDecorators","isolatedDeclarations","visitorKeys","require_package","require_dist","Object","defineProperty","exports","value","meta","version","withoutProjectParserOptions","createProgram","clearCaches","parseForESLint","parse","parser_1","require","enumerable","get","typescript_estree_1","name","chalk","readdirSync","path","cwd","pathToFileURL","chalk","ESLint","findUp","picomatch","dumpMessages","lintResults","colors","severity","lintResult","messages","length","console","log","chalk","gray","filePath","message","line","column","white","ruleId","getRootESLintConfig","configPath","findUp","Error","pathToFileURL","getFiles","dir","ignoreFolders","currentDirectory","cwd","subDirectory","split","includes","readdirSync","withFileTypes","flatMap","dirent","res","path","resolve","name","relativePath","ignoreMatchers","map","pattern","picomatch","some","isMatch","isDirectory","packageLint","fix","verbose","cache","pkg","process","env","INIT_CWD","default","eslintConfig","href","start","Date","now","engine","ESLint","baseConfig","warnIgnored","overrideConfig","languageOptions","parser","tsParser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","files","green","lintFiles","outputFixes","filesCountColor","lintTime","lintTimeColor","reduce","prev","errorCount","packageLint","then","value","process","exit","catch","reason","console","error","chalk","red"]}
1
+ {"version":3,"sources":["../../../src/bin/package/fix.ts","../../../src/actions/package/lint.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport chalk from 'chalk'\n\nimport { packageLint } from '../../actions/index.ts'\n\npackageLint(true)\n .then((value) => {\n if (value) {\n process.exit(value)\n }\n })\n .catch((reason) => {\n console.error(chalk.red(reason))\n process.exit(-1)\n })\n","import { readdirSync } from 'node:fs'\nimport path from 'node:path'\nimport { cwd } from 'node:process'\nimport { pathToFileURL } from 'node:url'\n\nimport chalk from 'chalk'\nimport { ESLint } from 'eslint'\nimport { findUp } from 'find-up'\nimport picomatch from 'picomatch'\n\nconst dumpMessages = (lintResults: ESLint.LintResult[]) => {\n const colors: ('white' | 'red' | 'yellow')[] = ['white', 'yellow', 'red']\n const severity: string[] = ['none', 'warning', 'error']\n\n for (const lintResult of lintResults) {\n if (lintResult.messages.length > 0) {\n console.log(chalk.gray(`\\n${lintResult.filePath}`))\n for (const message of lintResult.messages) {\n console.log(\n chalk.gray(`\\t${message.line}:${message.column}`),\n chalk[colors[message.severity]](`\\t${severity[message.severity]}`),\n chalk.white(`\\t${message.message}`),\n chalk.gray(`\\t${message.ruleId}`),\n )\n }\n }\n }\n}\n\nasync function getRootESLintConfig() {\n // Locate the root eslint.config.mjs\n const configPath = await findUp('eslint.config.mjs')\n\n if (!configPath) {\n throw new Error('eslint.config.mjs not found in the monorepo')\n }\n\n return pathToFileURL(configPath)\n}\n\nfunction getFiles(dir: string, ignoreFolders: string[]): string[] {\n const currentDirectory = cwd()\n const subDirectory = dir.split(currentDirectory)[1]\n if (ignoreFolders.includes(subDirectory)) return []\n return readdirSync(dir, { withFileTypes: true })\n .flatMap((dirent) => {\n const res = path.resolve(dir, dirent.name)\n const relativePath = subDirectory ? `${subDirectory}/${dirent.name}` : dirent.name\n\n const ignoreMatchers = ignoreFolders.map(pattern => picomatch(pattern))\n\n // Exclude ignored paths\n if (ignoreMatchers.some(isMatch => isMatch(relativePath))) return []\n\n return dirent.isDirectory()\n ? getFiles(res, ignoreFolders)\n : [res]\n })\n}\n\nexport const packageLint = async (fix = false, verbose = false, cache = true) => {\n const pkg = process.env.INIT_CWD\n const configPath = await getRootESLintConfig()\n const { default: eslintConfig } = await import(configPath.href)\n\n const start = Date.now()\n\n // List of folders to ignore\n const ignoreFolders = ['node_modules', 'dist', 'packages', '.git', 'build', '.yarn', '.vscode', '.github']\n\n const engine = new ESLint({\n baseConfig: [...eslintConfig], fix, warnIgnored: false, cache,\n })\n\n const files = getFiles(cwd(), ignoreFolders)\n if (verbose) {\n console.log(chalk.green(`Linting ${pkg} [files = ${files.length}]`))\n }\n const lintResults = await engine.lintFiles(files)\n\n dumpMessages(lintResults)\n\n if (fix) {\n await ESLint.outputFixes(lintResults)\n }\n const filesCountColor = files.length < 100 ? 'green' : files.length < 1000 ? 'yellow' : 'red'\n const lintTime = Date.now() - start\n const lintTimeColor = lintTime < 1000 ? 'green' : lintTime < 3000 ? 'yellow' : 'red'\n console.log(chalk.white(`Linted ${chalk[filesCountColor](files.length)} files in ${chalk[lintTimeColor](lintTime)}ms`))\n return lintResults.reduce((prev, lintResult) => prev + lintResult.errorCount, 0)\n}\n"],"mappings":"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","names":["chalk","readdirSync","path","cwd","pathToFileURL","chalk","ESLint","findUp","picomatch","dumpMessages","lintResults","colors","severity","lintResult","messages","length","console","log","chalk","gray","filePath","message","line","column","white","ruleId","getRootESLintConfig","configPath","findUp","Error","pathToFileURL","getFiles","dir","ignoreFolders","currentDirectory","cwd","subDirectory","split","includes","readdirSync","withFileTypes","flatMap","dirent","res","path","resolve","name","relativePath","ignoreMatchers","map","pattern","picomatch","some","isMatch","isDirectory","packageLint","fix","verbose","cache","pkg","process","env","INIT_CWD","default","eslintConfig","href","start","Date","now","engine","ESLint","baseConfig","warnIgnored","files","green","lintFiles","outputFixes","filesCountColor","lintTime","lintTimeColor","reduce","prev","errorCount","packageLint","then","value","process","exit","catch","reason","console","error","chalk","red"]}