Add IDE configs, update Beam version, and enhance RelationalDataProvider
Added JetBrains Rider IDE configuration files and a backup for Beam.Api.csproj. Updated aeqw89.Beam project version to 2.7.0 and package references, including Selenium.WebDriver and System.IO.Hashing. Enhanced RelationalDataProvider to support NextSibling and PreviousSibling relations and configurable traversal distance.
This commit is contained in:
Generated
+8
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="UserContentModel">
|
||||||
|
<attachedFolders />
|
||||||
|
<explicitIncludes />
|
||||||
|
<explicitExcludes />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="RiderProjectSettingsUpdater">
|
||||||
|
<option name="singleClickDiffPreview" value="1" />
|
||||||
|
<option name="unhandledExceptionsIgnoreList" value="1" />
|
||||||
|
<option name="vcsConfiguration" value="3" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+6
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+270
@@ -0,0 +1,270 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="AutoGeneratedRunConfigurationManager">
|
||||||
|
<projectFile profileName="Beam.Temporary.Cli">Beam.Temporary.Cli/Beam.Temporary.Cli.csproj</projectFile>
|
||||||
|
</component>
|
||||||
|
<component name="AutoImportSettings">
|
||||||
|
<option name="autoReloadType" value="SELECTIVE" />
|
||||||
|
</component>
|
||||||
|
<component name="ChangeListManager">
|
||||||
|
<list default="true" id="a7e2f92c-8039-47f7-8b93-1c7d5c5d92cc" name="Changes" comment="">
|
||||||
|
<change beforePath="$PROJECT_DIR$/aeqw89.Beam/aeqw89.Beam.csproj" beforeDir="false" afterPath="$PROJECT_DIR$/aeqw89.Beam/aeqw89.Beam.csproj" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/aeqw89.Beam/aeqw89.Beam.csproj.bak" beforeDir="false" afterPath="$PROJECT_DIR$/aeqw89.Beam/aeqw89.Beam.csproj.bak" afterDir="false" />
|
||||||
|
</list>
|
||||||
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
|
</component>
|
||||||
|
<component name="Git.Settings">
|
||||||
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
|
<option name="RESET_MODE" value="HARD" />
|
||||||
|
</component>
|
||||||
|
<component name="GitHubPullRequestSearchHistory">{
|
||||||
|
"lastFilter": {
|
||||||
|
"state": "OPEN",
|
||||||
|
"assignee": "qwsdcvghyu89"
|
||||||
|
}
|
||||||
|
}</component>
|
||||||
|
<component name="GithubPullRequestsUISettings">{
|
||||||
|
"selectedUrlAndAccountId": {
|
||||||
|
"url": "https://github.com/qwsdcvghyu89/Beam.git",
|
||||||
|
"accountId": "0754c5af-63f9-496e-afca-14f2e32ea4f5"
|
||||||
|
}
|
||||||
|
}</component>
|
||||||
|
<component name="HighlightingSettingsPerFile">
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Abstractions/IComposableDataProvider.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Abstractions/IManySelectionComposableDataProvider.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Abstractions/IRetryReport.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Downloaders/UnitDownloaderOptions.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Dynamic/BindingsCollection.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Dynamic/DataProviderJsonTypeInfoResolver.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Dynamic/DataProviders/ComposeDataProviders.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Dynamic/DataProviders/ManyAnchorsDataProvider.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Dynamic/DataProviders/ManyComposeDataProviders.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Dynamic/DataProviders/RelationalDataProvider.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Dynamic/DataProviders/SelectDataProvider.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Exceptions/AssertionException.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Exceptions/Exceptions.Designer.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Exceptions/Exceptions.resx" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Exceptions/MapException.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
<setting file="file://$PROJECT_DIR$/Beam.Models/ResourceDefinition.cs" root0="FORCE_HIGHLIGHTING" />
|
||||||
|
</component>
|
||||||
|
<component name="MetaFilesCheckinStateConfiguration" checkMetaFiles="true" />
|
||||||
|
<component name="ProblemsViewState">
|
||||||
|
<option name="selectedTabId" value="SWEA" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectColorInfo">{
|
||||||
|
"associatedIndex": 6
|
||||||
|
}</component>
|
||||||
|
<component name="ProjectId" id="32zouDNHv5eijOBwT2F3u5bkOoV" />
|
||||||
|
<component name="ProjectViewState">
|
||||||
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
|
<option name="showLibraryContents" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PropertiesComponent">{
|
||||||
|
"keyToString": {
|
||||||
|
"ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
||||||
|
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
||||||
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
|
"RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
|
||||||
|
"RunOnceActivity.git.unshallow": "true",
|
||||||
|
"git-widget-placeholder": "master",
|
||||||
|
"ignore.virus.scanning.warn.message": "true",
|
||||||
|
"node.js.detected.package.eslint": "true",
|
||||||
|
"node.js.detected.package.tslint": "true",
|
||||||
|
"node.js.selected.package.eslint": "(autodetect)",
|
||||||
|
"node.js.selected.package.tslint": "(autodetect)",
|
||||||
|
"nodejs_package_manager_path": "npm",
|
||||||
|
"settings.editor.selected.configurable": "ml.llm.LLMConfigurable",
|
||||||
|
"vue.rearranger.settings.migration": "true"
|
||||||
|
}
|
||||||
|
}</component>
|
||||||
|
<component name="RunManager">
|
||||||
|
<configuration name="Beam.Temporary.Cli" type="LaunchSettings" factoryName=".NET Launch Settings Profile">
|
||||||
|
<option name="LAUNCH_PROFILE_PROJECT_FILE_PATH" value="$PROJECT_DIR$/Beam.Temporary.Cli/Beam.Temporary.Cli.csproj" />
|
||||||
|
<option name="LAUNCH_PROFILE_TFM" value="net9.0" />
|
||||||
|
<option name="LAUNCH_PROFILE_NAME" value="Beam.Temporary.Cli" />
|
||||||
|
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
||||||
|
<option name="USE_MONO" value="0" />
|
||||||
|
<option name="RUNTIME_ARGUMENTS" value="" />
|
||||||
|
<option name="GENERATE_APPLICATIONHOST_CONFIG" value="1" />
|
||||||
|
<option name="SHOW_IIS_EXPRESS_OUTPUT" value="0" />
|
||||||
|
<option name="SEND_DEBUG_REQUEST" value="1" />
|
||||||
|
<option name="ADDITIONAL_IIS_EXPRESS_ARGUMENTS" value="" />
|
||||||
|
<option name="AUTO_ATTACH_CHILDREN" value="0" />
|
||||||
|
<method v="2">
|
||||||
|
<option name="Build" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
|
<component name="TaskManager">
|
||||||
|
<task active="true" id="Default" summary="Default task">
|
||||||
|
<changelist id="a7e2f92c-8039-47f7-8b93-1c7d5c5d92cc" name="Changes" comment="" />
|
||||||
|
<created>1758432983325</created>
|
||||||
|
<option name="number" value="Default" />
|
||||||
|
<option name="presentableId" value="Default" />
|
||||||
|
<updated>1758432983325</updated>
|
||||||
|
<workItem from="1758432984690" duration="385000" />
|
||||||
|
<workItem from="1758439575700" duration="5235000" />
|
||||||
|
<workItem from="1758449822773" duration="14000" />
|
||||||
|
<workItem from="1758449873563" duration="12356000" />
|
||||||
|
<workItem from="1758468407188" duration="4443000" />
|
||||||
|
<workItem from="1758685019895" duration="5308000" />
|
||||||
|
<workItem from="1758862226031" duration="725000" />
|
||||||
|
<workItem from="1758863439326" duration="1581000" />
|
||||||
|
<workItem from="1758880679847" duration="8763000" />
|
||||||
|
<workItem from="1758951020923" duration="30109000" />
|
||||||
|
<workItem from="1759184656833" duration="437000" />
|
||||||
|
<workItem from="1759185101301" duration="3766000" />
|
||||||
|
<workItem from="1759482080989" duration="11241000" />
|
||||||
|
<workItem from="1759845817258" duration="647000" />
|
||||||
|
<workItem from="1760684473926" duration="4000" />
|
||||||
|
<workItem from="1763031614537" duration="17900000" />
|
||||||
|
</task>
|
||||||
|
<task id="LOCAL-00001" summary="refactor: modularize Beam into new projects and interfaces - Introduced modularity by splitting Beam into new projects: Beam.Abstractions, Beam.Models, and Beam.Downloaders. - Refactored existing classes into appropriate namespaces and projects. - Replaced specific implementations with abstractions (e.g., SourceLinkBuilder to LinkBuilder, State to IState, etc.). - Updated interfaces: added ITemplate, IArticleData, IDownloadReport, and others for improved extensibility. - Removed deprecated classes like SourceLinkBuilder and StateChangerFactory. - Enhanced link handling in downloaders by refactoring to use `string` over `SourceLink`. - Consolidated shared logic under Beam.Abstractions.">
|
||||||
|
<option name="closed" value="true" />
|
||||||
|
<created>1758469918944</created>
|
||||||
|
<option name="number" value="00001" />
|
||||||
|
<option name="presentableId" value="LOCAL-00001" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1758469918944</updated>
|
||||||
|
</task>
|
||||||
|
<task id="LOCAL-00002" summary="chore: update package versions and package references - Bumped Microsoft.Extensions.Logging packages to version 9.0.9 across all projects. - Updated aeqw89.Beam project version to 2.1.4. - Added new transitive package references, including Microsoft.Recognizers.Text.Number, Microsoft.Playwright, EntityFramework, and others. - Commented out or removed Beam.Temporary.Cli references. - Enhanced package structure by rearranging content includes and cleaning up redundant package references.">
|
||||||
|
<option name="closed" value="true" />
|
||||||
|
<created>1758690873724</created>
|
||||||
|
<option name="number" value="00002" />
|
||||||
|
<option name="presentableId" value="LOCAL-00002" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1758690873724</updated>
|
||||||
|
</task>
|
||||||
|
<task id="LOCAL-00003" summary="Overall; fixed design of IState.cs and IReadOnlyState.cs, and fixed namespaces in Beam.Abstractions to remove all references of Beam.Abstract.">
|
||||||
|
<option name="closed" value="true" />
|
||||||
|
<created>1758860502921</created>
|
||||||
|
<option name="number" value="00003" />
|
||||||
|
<option name="presentableId" value="LOCAL-00003" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1758860502921</updated>
|
||||||
|
</task>
|
||||||
|
<task id="LOCAL-00004" summary="save">
|
||||||
|
<option name="closed" value="true" />
|
||||||
|
<created>1758944260267</created>
|
||||||
|
<option name="number" value="00004" />
|
||||||
|
<option name="presentableId" value="LOCAL-00004" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1758944260267</updated>
|
||||||
|
</task>
|
||||||
|
<task id="LOCAL-00005" summary="Refactor data providers and update abstractions - Removed obsolete data providers: `AnchorCollectionDataProvider`, `ContentsDataProvider`, and others, consolidating logic into new composable providers. - Added `ComposeDataProviders`, `SelectDataProvider`, and `RelationalDataProvider` for improved flexibility and reusability. - Introduced `IManySelectionComposableDataProvider` interface to support multiple-node selection. - Enhanced `UnitDownloader` with more robust progress tracking. - Updated package references and project dependencies for consistency. - Improved error handling in `StealthConfig` initialization for better fallback on browser drivers. - Incremented project version to 2.4.5.">
|
||||||
|
<option name="closed" value="true" />
|
||||||
|
<created>1763052080925</created>
|
||||||
|
<option name="number" value="00005" />
|
||||||
|
<option name="presentableId" value="LOCAL-00005" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1763052080925</updated>
|
||||||
|
</task>
|
||||||
|
<task id="LOCAL-00006" summary="fix: add missing break in StealthConfig browser driver fallback logic">
|
||||||
|
<option name="closed" value="true" />
|
||||||
|
<created>1763053716098</created>
|
||||||
|
<option name="number" value="00006" />
|
||||||
|
<option name="presentableId" value="LOCAL-00006" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1763053716098</updated>
|
||||||
|
</task>
|
||||||
|
<task id="LOCAL-00007" summary="feat: add support for remote WebDriver and improve StealthConfig browser logic - Added `RemoteAddress` property to `StealthConfig` for remote WebDriver support. - Refactored browser driver creation logic with `DriverDefinition` for enhanced consistency. - Improved error handling in browser fallback mechanism. - Incremented project version to 2.4.6.">
|
||||||
|
<option name="closed" value="true" />
|
||||||
|
<created>1763055366014</created>
|
||||||
|
<option name="number" value="00007" />
|
||||||
|
<option name="presentableId" value="LOCAL-00007" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1763055366014</updated>
|
||||||
|
</task>
|
||||||
|
<task id="LOCAL-00008" summary="feat: introduce new composable data providers and increment version - Added `AnchorDataProvider`, `AnchorCollectionDataProvider`, `ContentsDataProvider`, `ContentsArrayDataProvider`, `DropDownDataProvider`, `ListContentDataProvider`, and `ParagraphedContentDataProvider` for enhanced data extraction flexibility. - Updated project version to 2.5.0.">
|
||||||
|
<option name="closed" value="true" />
|
||||||
|
<created>1763200281188</created>
|
||||||
|
<option name="number" value="00008" />
|
||||||
|
<option name="presentableId" value="LOCAL-00008" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1763200281188</updated>
|
||||||
|
</task>
|
||||||
|
<option name="localTasksCounter" value="9" />
|
||||||
|
<servers />
|
||||||
|
</component>
|
||||||
|
<component name="TypeScriptGeneratedFilesManager">
|
||||||
|
<option name="version" value="3" />
|
||||||
|
</component>
|
||||||
|
<component name="UnityCheckinConfiguration" checkUnsavedScenes="true" />
|
||||||
|
<component name="UnityProjectConfiguration" hasMinimizedUI="false" />
|
||||||
|
<component name="Vcs.Log.Tabs.Properties">
|
||||||
|
<option name="RECENT_FILTERS">
|
||||||
|
<map>
|
||||||
|
<entry key="Branch">
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<RecentGroup>
|
||||||
|
<option name="FILTER_VALUES">
|
||||||
|
<option value="origin/dev" />
|
||||||
|
</option>
|
||||||
|
</RecentGroup>
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
</map>
|
||||||
|
</option>
|
||||||
|
<option name="TAB_STATES">
|
||||||
|
<map>
|
||||||
|
<entry key="MAIN">
|
||||||
|
<value>
|
||||||
|
<State>
|
||||||
|
<option name="FILTERS">
|
||||||
|
<map>
|
||||||
|
<entry key="branch">
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<option value="origin/dev" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
</map>
|
||||||
|
</option>
|
||||||
|
</State>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
</map>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="VcsManagerConfiguration">
|
||||||
|
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
|
||||||
|
<MESSAGE value="refactor: modularize Beam into new projects and interfaces - Introduced modularity by splitting Beam into new projects: Beam.Abstractions, Beam.Models, and Beam.Downloaders. - Refactored existing classes into appropriate namespaces and projects. - Replaced specific implementations with abstractions (e.g., SourceLinkBuilder to LinkBuilder, State to IState, etc.). - Updated interfaces: added ITemplate, IArticleData, IDownloadReport, and others for improved extensibility. - Removed deprecated classes like SourceLinkBuilder and StateChangerFactory. - Enhanced link handling in downloaders by refactoring to use `string` over `SourceLink`. - Consolidated shared logic under Beam.Abstractions." />
|
||||||
|
<MESSAGE value="chore: update package versions and package references - Bumped Microsoft.Extensions.Logging packages to version 9.0.9 across all projects. - Updated aeqw89.Beam project version to 2.1.4. - Added new transitive package references, including Microsoft.Recognizers.Text.Number, Microsoft.Playwright, EntityFramework, and others. - Commented out or removed Beam.Temporary.Cli references. - Enhanced package structure by rearranging content includes and cleaning up redundant package references." />
|
||||||
|
<MESSAGE value="Overall; fixed design of IState.cs and IReadOnlyState.cs, and fixed namespaces in Beam.Abstractions to remove all references of Beam.Abstract." />
|
||||||
|
<MESSAGE value="save" />
|
||||||
|
<MESSAGE value="Refactor fluent download pipelines" />
|
||||||
|
<MESSAGE value="Refactor data providers and update abstractions - Removed obsolete data providers: `AnchorCollectionDataProvider`, `ContentsDataProvider`, and others, consolidating logic into new composable providers. - Added `ComposeDataProviders`, `SelectDataProvider`, and `RelationalDataProvider` for improved flexibility and reusability. - Introduced `IManySelectionComposableDataProvider` interface to support multiple-node selection. - Enhanced `UnitDownloader` with more robust progress tracking. - Updated package references and project dependencies for consistency. - Improved error handling in `StealthConfig` initialization for better fallback on browser drivers. - Incremented project version to 2.4.5." />
|
||||||
|
<MESSAGE value="fix: add missing break in StealthConfig browser driver fallback logic" />
|
||||||
|
<MESSAGE value="feat: add support for remote WebDriver and improve StealthConfig browser logic - Added `RemoteAddress` property to `StealthConfig` for remote WebDriver support. - Refactored browser driver creation logic with `DriverDefinition` for enhanced consistency. - Improved error handling in browser fallback mechanism. - Incremented project version to 2.4.6." />
|
||||||
|
<MESSAGE value="feat: introduce new composable data providers and increment version - Added `AnchorDataProvider`, `AnchorCollectionDataProvider`, `ContentsDataProvider`, `ContentsArrayDataProvider`, `DropDownDataProvider`, `ListContentDataProvider`, and `ParagraphedContentDataProvider` for enhanced data extraction flexibility. - Updated project version to 2.5.0." />
|
||||||
|
<option name="LAST_COMMIT_MESSAGE" value="feat: introduce new composable data providers and increment version - Added `AnchorDataProvider`, `AnchorCollectionDataProvider`, `ContentsDataProvider`, `ContentsArrayDataProvider`, `DropDownDataProvider`, `ListContentDataProvider`, and `ParagraphedContentDataProvider` for enhanced data extraction flexibility. - Updated project version to 2.5.0." />
|
||||||
|
</component>
|
||||||
|
<component name="XDebuggerManager">
|
||||||
|
<breakpoint-manager>
|
||||||
|
<breakpoints>
|
||||||
|
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
|
||||||
|
<properties exception="System.OperationCanceledException" breakIfHandledByOtherCode="false" displayValue="System.OperationCanceledException" />
|
||||||
|
<option name="timeStamp" value="1" />
|
||||||
|
</breakpoint>
|
||||||
|
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
|
||||||
|
<properties exception="System.Threading.Tasks.TaskCanceledException" breakIfHandledByOtherCode="false" displayValue="System.Threading.Tasks.TaskCanceledException" />
|
||||||
|
<option name="timeStamp" value="2" />
|
||||||
|
</breakpoint>
|
||||||
|
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
|
||||||
|
<properties exception="System.Threading.ThreadAbortException" breakIfHandledByOtherCode="false" displayValue="System.Threading.ThreadAbortException" />
|
||||||
|
<option name="timeStamp" value="3" />
|
||||||
|
</breakpoint>
|
||||||
|
</breakpoints>
|
||||||
|
</breakpoint-manager>
|
||||||
|
</component>
|
||||||
|
<component name="XSLT-Support.FileAssociations.UIState">
|
||||||
|
<expand />
|
||||||
|
<select />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net9.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.9" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Beam.Abstractions\Beam.Abstractions.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -6,11 +6,14 @@ namespace Beam.Dynamic;
|
|||||||
public enum RelationType {
|
public enum RelationType {
|
||||||
Parent,
|
Parent,
|
||||||
Child,
|
Child,
|
||||||
|
NextSibling,
|
||||||
|
PreviousSibling,
|
||||||
}
|
}
|
||||||
|
|
||||||
public class RelationalDataProvider : IComposableDataProvider<HtmlNode?> {
|
public class RelationalDataProvider : IComposableDataProvider<HtmlNode?> {
|
||||||
|
|
||||||
public RelationType RelationType { get; set; } = RelationType.Parent;
|
public RelationType RelationType { get; set; } = RelationType.Parent;
|
||||||
|
public int Distance { get; set; } = 1;
|
||||||
public IBinding? Content { get; set; }
|
public IBinding? Content { get; set; }
|
||||||
|
|
||||||
public HtmlNode? Get(HtmlDocument document) {
|
public HtmlNode? Get(HtmlDocument document) {
|
||||||
@@ -23,10 +26,20 @@ public class RelationalDataProvider : IComposableDataProvider<HtmlNode?> {
|
|||||||
return Select(Content?.Select(doc) ?? doc.DocumentNode);
|
return Select(Content?.Select(doc) ?? doc.DocumentNode);
|
||||||
}
|
}
|
||||||
public HtmlNode? Select(HtmlNode node) {
|
public HtmlNode? Select(HtmlNode node) {
|
||||||
return RelationType switch {
|
return _Select(node, Distance);
|
||||||
RelationType.Parent => node.ParentNode,
|
}
|
||||||
RelationType.Child => node.FirstChild,
|
|
||||||
_ => throw new NotSupportedException()
|
private HtmlNode? _Select(HtmlNode node, int distance = 0) {
|
||||||
};
|
while (true) {
|
||||||
|
if (distance == 0) return node;
|
||||||
|
node = RelationType switch {
|
||||||
|
RelationType.Parent => node.ParentNode,
|
||||||
|
RelationType.Child => node.FirstChild,
|
||||||
|
RelationType.NextSibling => node.NextSibling,
|
||||||
|
RelationType.PreviousSibling => node.PreviousSibling,
|
||||||
|
_ => throw new NotSupportedException()
|
||||||
|
};
|
||||||
|
distance = distance - 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,12 +7,12 @@
|
|||||||
<Title>Beam</Title>
|
<Title>Beam</Title>
|
||||||
<Authors>aeqw89</Authors>
|
<Authors>aeqw89</Authors>
|
||||||
<Company>qwsdcvghyu</Company>
|
<Company>qwsdcvghyu</Company>
|
||||||
<Version>2.5.0</Version>
|
<Version>2.7.0</Version>
|
||||||
<Description>A library for downloading internet resources</Description>
|
<Description>A library for downloading internet resources</Description>
|
||||||
<PackageProjectUrl>https://github.com/qwsdcvghyu89/Beam</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/qwsdcvghyu89/Beam</PackageProjectUrl>
|
||||||
<RepositoryUrl>https://github.com/qwsdcvghyu89/Beam</RepositoryUrl>
|
<RepositoryUrl>https://github.com/qwsdcvghyu89/Beam</RepositoryUrl>
|
||||||
<PackageId>aeqw89.Beam</PackageId>
|
<PackageId>aeqw89.Beam</PackageId>
|
||||||
<PackageVersion>2.5.0</PackageVersion>
|
<PackageVersion>2.7.0</PackageVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Beam.Api\Beam.Api.csproj">
|
<ProjectReference Include="..\Beam.Api\Beam.Api.csproj">
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
<PackageReference Include="Microsoft.Playwright" Version="1.52.0">
|
<PackageReference Include="Microsoft.Playwright" Version="1.52.0">
|
||||||
<Transitive>true</Transitive>
|
<Transitive>true</Transitive>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Selenium.WebDriver" Version="4.34.0">
|
<PackageReference Include="Selenium.WebDriver" Version="4.38.0">
|
||||||
<Transitive>true</Transitive>
|
<Transitive>true</Transitive>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="System.Linq.Async" Version="6.0.3">
|
<PackageReference Include="System.Linq.Async" Version="6.0.3">
|
||||||
@@ -83,6 +83,9 @@
|
|||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
<Transitive>true</Transitive>
|
<Transitive>true</Transitive>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
<PackageReference Include="System.IO.Hashing" Version="10.0.0">
|
||||||
|
<Transitive>true</Transitive>
|
||||||
|
</PackageReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="..\Beam\bin\$(Configuration)\$(TargetFramework)\Beam.dll">
|
<Content Include="..\Beam\bin\$(Configuration)\$(TargetFramework)\Beam.dll">
|
||||||
|
|||||||
@@ -7,12 +7,12 @@
|
|||||||
<Title>Beam</Title>
|
<Title>Beam</Title>
|
||||||
<Authors>aeqw89</Authors>
|
<Authors>aeqw89</Authors>
|
||||||
<Company>qwsdcvghyu</Company>
|
<Company>qwsdcvghyu</Company>
|
||||||
<Version>2.4.6</Version>
|
<Version>2.6.3</Version>
|
||||||
<Description>A library for downloading internet resources</Description>
|
<Description>A library for downloading internet resources</Description>
|
||||||
<PackageProjectUrl>https://github.com/qwsdcvghyu89/Beam</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/qwsdcvghyu89/Beam</PackageProjectUrl>
|
||||||
<RepositoryUrl>https://github.com/qwsdcvghyu89/Beam</RepositoryUrl>
|
<RepositoryUrl>https://github.com/qwsdcvghyu89/Beam</RepositoryUrl>
|
||||||
<PackageId>aeqw89.Beam</PackageId>
|
<PackageId>aeqw89.Beam</PackageId>
|
||||||
<PackageVersion>2.4.6</PackageVersion>
|
<PackageVersion>2.6.3</PackageVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Beam.Api\Beam.Api.csproj">
|
<ProjectReference Include="..\Beam.Api\Beam.Api.csproj">
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
<PackageReference Include="Microsoft.Playwright" Version="1.52.0">
|
<PackageReference Include="Microsoft.Playwright" Version="1.52.0">
|
||||||
<Transitive>true</Transitive>
|
<Transitive>true</Transitive>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Selenium.WebDriver" Version="4.34.0">
|
<PackageReference Include="Selenium.WebDriver" Version="4.38.0">
|
||||||
<Transitive>true</Transitive>
|
<Transitive>true</Transitive>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="System.Linq.Async" Version="6.0.3">
|
<PackageReference Include="System.Linq.Async" Version="6.0.3">
|
||||||
@@ -83,6 +83,9 @@
|
|||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
<Transitive>true</Transitive>
|
<Transitive>true</Transitive>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
<PackageReference Include="System.IO.Hashing" Version="10.0.0">
|
||||||
|
<Transitive>true</Transitive>
|
||||||
|
</PackageReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="..\Beam\bin\$(Configuration)\$(TargetFramework)\Beam.dll">
|
<Content Include="..\Beam\bin\$(Configuration)\$(TargetFramework)\Beam.dll">
|
||||||
|
|||||||
Reference in New Issue
Block a user