UNPKG

@eagleoutice/flowr-dev

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

116 lines 9.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BuiltInPlugins = void 0; exports.registerPluginMaker = registerPluginMaker; exports.getPlugin = getPlugin; exports.makePlugin = makePlugin; const flowr_analyzer_description_file_plugin_1 = require("./file-plugins/flowr-analyzer-description-file-plugin"); const flowr_analyzer_package_versions_description_file_plugin_1 = require("./package-version-plugins/flowr-analyzer-package-versions-description-file-plugin"); const flowr_analyzer_package_versions_sigdb_plugin_1 = require("./package-version-plugins/flowr-analyzer-package-versions-sigdb-plugin"); const flowr_analyzer_package_versions_lockfile_plugin_1 = require("./package-version-plugins/flowr-analyzer-package-versions-lockfile-plugin"); const flowr_analyzer_package_versions_session_info_plugin_1 = require("./package-version-plugins/flowr-analyzer-package-versions-session-info-plugin"); const flowr_analyzer_loading_order_description_file_plugin_1 = require("./loading-order-plugins/flowr-analyzer-loading-order-description-file-plugin"); const flowr_analyzer_loading_order_implicit_sources_plugin_1 = require("./loading-order-plugins/flowr-analyzer-loading-order-implicit-sources-plugin"); const flowr_analyzer_rmd_file_plugin_1 = require("./file-plugins/notebooks/flowr-analyzer-rmd-file-plugin"); const flowr_analyzer_qmd_file_plugin_1 = require("./file-plugins/notebooks/flowr-analyzer-qmd-file-plugin"); const assert_1 = require("../../util/assert"); const flowr_analyzer_jupyter_file_plugin_1 = require("./file-plugins/notebooks/flowr-analyzer-jupyter-file-plugin"); const flowr_analyzer_namespace_files_plugin_1 = require("./file-plugins/flowr-analyzer-namespace-files-plugin"); const flowr_analyzer_package_versions_namespace_file_plugin_1 = require("./package-version-plugins/flowr-analyzer-package-versions-namespace-file-plugin"); const flowr_analyzer_news_file_plugin_1 = require("./file-plugins/flowr-analyzer-news-file-plugin"); const flowr_analyzer_rda_file_plugin_1 = require("./file-plugins/flowr-analyzer-rda-file-plugin"); const flowr_analyzer_vignette_file_plugin_1 = require("./file-plugins/flowr-analyzer-vignette-file-plugin"); const flowr_analyzer_test_file_plugin_1 = require("./file-plugins/flowr-analyzer-test-file-plugin"); const flowr_analyzer_inst_file_plugin_1 = require("./file-plugins/flowr-analyzer-inst-file-plugin"); const flowr_analyzer_license_file_plugin_1 = require("./file-plugins/flowr-analyzer-license-file-plugin"); const flowr_analyzer_virtualenv_file_plugin_1 = require("./file-plugins/flowr-analyzer-virtualenv-file-plugin"); const flowr_analyzer_manifest_file_plugin_1 = require("./file-plugins/flowr-analyzer-manifest-file-plugin"); const flowr_analyzer_meta_manifest_file_plugin_1 = require("./package-version-plugins/flowr-analyzer-meta-manifest-file-plugin"); const flowr_analyzer_meta_description_file_plugin_1 = require("./package-version-plugins/flowr-analyzer-meta-description-file-plugin"); const flowr_analyzer_sweave_file_plugin_1 = require("./file-plugins/notebooks/flowr-analyzer-sweave-file-plugin"); const flowr_analyzer_ignore_file_project_discovery_plugin_1 = require("./project-discovery/flowr-analyzer-ignore-file-project-discovery-plugin"); const flowr_analyzer_project_discovery_plugin_1 = require("./project-discovery/flowr-analyzer-project-discovery-plugin"); const flowr_analyzer_rprofile_file_plugin_1 = require("./file-plugins/flowr-analyzer-rprofile-file-plugin"); const flowr_analyzer_loading_order_rprofile_plugin_1 = require("./loading-order-plugins/flowr-analyzer-loading-order-rprofile-plugin"); const flowr_analyzer_package_versions_library_plugin_1 = require("./package-version-plugins/flowr-analyzer-package-versions-library-plugin"); const flowr_analyzer_loading_order_included_files_plugin_1 = require("./loading-order-plugins/flowr-analyzer-loading-order-included-files-plugin"); /** * The built-in Flowr Analyzer plugins that are always available. */ exports.BuiltInPlugins = [ ['file:description', flowr_analyzer_description_file_plugin_1.FlowrAnalyzerDescriptionFilePlugin], ['versions:description', flowr_analyzer_package_versions_description_file_plugin_1.FlowrAnalyzerPackageVersionsDescriptionFilePlugin], ['versions:sigdb', flowr_analyzer_package_versions_sigdb_plugin_1.FlowrAnalyzerPackageVersionsSigDbPlugin], ['versions:library', flowr_analyzer_package_versions_library_plugin_1.FlowrAnalyzerPackageVersionsLibraryPlugin], ['versions:renv', flowr_analyzer_package_versions_lockfile_plugin_1.FlowrAnalyzerPackageVersionsRenvPlugin], ['versions:rv', flowr_analyzer_package_versions_lockfile_plugin_1.FlowrAnalyzerPackageVersionsRvPlugin], ['versions:uvr', flowr_analyzer_package_versions_lockfile_plugin_1.FlowrAnalyzerPackageVersionsUvrPlugin], ['versions:packrat', flowr_analyzer_package_versions_lockfile_plugin_1.FlowrAnalyzerPackageVersionsPackratPlugin], ['versions:session-info', flowr_analyzer_package_versions_session_info_plugin_1.FlowrAnalyzerPackageVersionsSessionInfoPlugin], ['loading-order:description', flowr_analyzer_loading_order_description_file_plugin_1.FlowrAnalyzerLoadingOrderDescriptionFilePlugin], ['loading-order:implicit-sources', flowr_analyzer_loading_order_implicit_sources_plugin_1.FlowrAnalyzerLoadingOrderImplicitSourcesPlugin], ['loading-order:rprofile', flowr_analyzer_loading_order_rprofile_plugin_1.FlowrAnalyzerLoadingOrderRprofilePlugin], ['loading-order:included-files', flowr_analyzer_loading_order_included_files_plugin_1.FlowrAnalyzerLoadingOrderIncludedFilesPlugin], ['meta:description', flowr_analyzer_meta_description_file_plugin_1.FlowrAnalyzerMetaDescriptionFilePlugin], ['meta:rproject', flowr_analyzer_meta_manifest_file_plugin_1.FlowrAnalyzerMetaRProjectFilePlugin], ['meta:uvr', flowr_analyzer_meta_manifest_file_plugin_1.FlowrAnalyzerMetaUvrManifestFilePlugin], ['file-roles:vignette', flowr_analyzer_vignette_file_plugin_1.FlowrAnalyzerMetaVignetteFilesPlugin], ['file-roles:test', flowr_analyzer_test_file_plugin_1.FlowrAnalyzerMetaTestFilesPlugin], ['file-roles:inst', flowr_analyzer_inst_file_plugin_1.FlowrAnalyzerMetaInstFilesPlugin], ['file:rmd', flowr_analyzer_rmd_file_plugin_1.FlowrAnalyzerRmdFilePlugin], ['file:qmd', flowr_analyzer_qmd_file_plugin_1.FlowrAnalyzerQmdFilePlugin], ['file:rnw', flowr_analyzer_sweave_file_plugin_1.FlowrAnalyzerSweaveFilePlugin], ['file:ipynb', flowr_analyzer_jupyter_file_plugin_1.FlowrAnalyzerJupyterFilePlugin], ['file:namespace', flowr_analyzer_namespace_files_plugin_1.FlowrAnalyzerNamespaceFilesPlugin], ['versions:namespace', flowr_analyzer_package_versions_namespace_file_plugin_1.FlowrAnalyzerPackageVersionsNamespaceFilePlugin], ['file:news', flowr_analyzer_news_file_plugin_1.FlowrAnalyzerNewsFilePlugin], ['file:rda', flowr_analyzer_rda_file_plugin_1.FlowrAnalyzerRdaFilePlugin], ['file:license', flowr_analyzer_license_file_plugin_1.FlowrAnalyzerLicenseFilePlugin], ['file:virtualenv', flowr_analyzer_virtualenv_file_plugin_1.FlowrAnalyzerVirtualEnvFilePlugin], ['file:rproject', flowr_analyzer_manifest_file_plugin_1.FlowrAnalyzerRProjectFilePlugin], ['file:uvr', flowr_analyzer_manifest_file_plugin_1.FlowrAnalyzerUvrManifestFilePlugin], ['file:rprofile', flowr_analyzer_rprofile_file_plugin_1.FlowrAnalyzerRprofileFilePlugin], ['project-discovery:gitignore', flowr_analyzer_ignore_file_project_discovery_plugin_1.FlowrAnalyzerGitignoreProjectDiscoveryPlugin], ['project-discovery:rbuildignore', flowr_analyzer_ignore_file_project_discovery_plugin_1.FlowrAnalyzerRbuildignoreProjectDiscoveryPlugin], ['project-discovery:ignore-files', flowr_analyzer_ignore_file_project_discovery_plugin_1.FlowrAnalyzerIgnoreFileProjectDiscoveryPlugin], ['project-discovery:default', flowr_analyzer_project_discovery_plugin_1.FlowrAnalyzerDefaultProjectDiscoveryPlugin], ['project-discovery:full', flowr_analyzer_project_discovery_plugin_1.FlowrAnalyzerFullProjectDiscoveryPlugin] ]; /** * The registry of built-in and user-registered Flowr Analyzer plugins. * Used by the {@link FlowrAnalyzerBuilder} and {@link FlowrAnalyzer} to instantiate plugins by name. */ const PluginRegistry = new Map(exports.BuiltInPlugins); /** * Register a new Flowr Analyzer plugin for the registry, * to be used by the {@link FlowrAnalyzerBuilder} and {@link FlowrAnalyzer}. */ function registerPluginMaker(plugin, name = plugin.name) { PluginRegistry.set(name, plugin); } /** * Retrieve a registered Flowr Analyzer plugin by its name. * @see {@link PluginToRegister} */ function getPlugin(name, args) { const plugin = PluginRegistry.get(name); return plugin ? new plugin(...args) : undefined; } /** * Create a Flowr Analyzer plugin from a {@link PluginToRegister} specification. */ function makePlugin(toRegister) { if (toRegister instanceof Object && 'process' in toRegister) { return toRegister; } if (Array.isArray(toRegister)) { const [name, args] = toRegister; const plugin = getPlugin(name, args); (0, assert_1.guard)(plugin !== undefined, () => `Unknown Flowr Analyzer plugin: ${name.toString()}`); return plugin; } const plugin = getPlugin(toRegister, []); (0, assert_1.guard)(plugin !== undefined, () => `Unknown Flowr Analyzer plugin: ${toRegister.toString()}`); return plugin; } //# sourceMappingURL=plugin-registry.js.map