chore: initial commit
This commit is contained in:
+390
@@ -0,0 +1,390 @@
|
||||
root = true
|
||||
|
||||
# All files
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
# Xml files
|
||||
[*.xml]
|
||||
indent_size = 2
|
||||
|
||||
# Xml project files
|
||||
[*.{csproj,fsproj,vbproj,proj,slnx}]
|
||||
indent_size = 2
|
||||
|
||||
# Xml config files
|
||||
[*.{props,targets,config,nuspec}]
|
||||
indent_size = 2
|
||||
|
||||
[*.json]
|
||||
indent_size = 2
|
||||
|
||||
# C# files
|
||||
[*.cs]
|
||||
|
||||
#### Core EditorConfig Options ####
|
||||
|
||||
# Indentation and spacing
|
||||
indent_size = 2
|
||||
tab_width = 2
|
||||
|
||||
# New line preferences
|
||||
insert_final_newline = false
|
||||
|
||||
#### .NET Coding Conventions ####
|
||||
[*.{cs,vb}]
|
||||
|
||||
# Organize usings
|
||||
dotnet_separate_import_directive_groups = true
|
||||
dotnet_sort_system_directives_first = true
|
||||
file_header_template = unset
|
||||
|
||||
# this. and Me. preferences
|
||||
dotnet_style_qualification_for_event = false:silent
|
||||
dotnet_style_qualification_for_field = false:silent
|
||||
dotnet_style_qualification_for_method = false:silent
|
||||
dotnet_style_qualification_for_property = false:silent
|
||||
|
||||
# Language keywords vs BCL types preferences
|
||||
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
|
||||
dotnet_style_predefined_type_for_member_access = true:silent
|
||||
|
||||
# Parentheses preferences
|
||||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
|
||||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
|
||||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
|
||||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
|
||||
|
||||
# Modifier preferences
|
||||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
|
||||
|
||||
# Expression-level preferences
|
||||
dotnet_style_coalesce_expression = true:suggestion
|
||||
dotnet_style_collection_initializer = true:suggestion
|
||||
dotnet_style_explicit_tuple_names = true:suggestion
|
||||
dotnet_style_namespace_match_folder = true:suggestion
|
||||
dotnet_style_null_propagation = true:suggestion
|
||||
dotnet_style_object_initializer = true:suggestion
|
||||
dotnet_style_operator_placement_when_wrapping = beginning_of_line
|
||||
dotnet_style_prefer_auto_properties = true:suggestion
|
||||
dotnet_style_prefer_collection_expression = when_types_loosely_match:suggestion
|
||||
dotnet_style_prefer_compound_assignment = true:suggestion
|
||||
dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion
|
||||
dotnet_style_prefer_conditional_expression_over_return = false:silent
|
||||
dotnet_style_prefer_foreach_explicit_cast_in_source = when_strongly_typed:suggestion
|
||||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
|
||||
dotnet_style_prefer_inferred_tuple_names = true:suggestion
|
||||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
|
||||
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
|
||||
dotnet_style_prefer_simplified_interpolation = true:suggestion
|
||||
|
||||
# Field preferences
|
||||
dotnet_style_readonly_field = true:warning
|
||||
|
||||
# Parameter preferences
|
||||
dotnet_code_quality_unused_parameters = all:suggestion
|
||||
|
||||
# Suppression preferences
|
||||
dotnet_remove_unnecessary_suppression_exclusions = none
|
||||
|
||||
#### C# Coding Conventions ####
|
||||
[*.cs]
|
||||
|
||||
# var preferences
|
||||
csharp_style_var_elsewhere = true:suggestion
|
||||
csharp_style_var_for_built_in_types = true:suggestion
|
||||
csharp_style_var_when_type_is_apparent = true:suggestion
|
||||
|
||||
# Expression-bodied members
|
||||
csharp_style_expression_bodied_accessors = true:silent
|
||||
csharp_style_expression_bodied_constructors = false:silent
|
||||
csharp_style_expression_bodied_indexers = true:silent
|
||||
csharp_style_expression_bodied_lambdas = true:suggestion
|
||||
csharp_style_expression_bodied_local_functions = false:silent
|
||||
csharp_style_expression_bodied_methods = false:silent
|
||||
csharp_style_expression_bodied_operators = false:silent
|
||||
csharp_style_expression_bodied_properties = true:silent
|
||||
|
||||
# Pattern matching preferences
|
||||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
|
||||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
|
||||
csharp_style_prefer_extended_property_pattern = true:suggestion
|
||||
csharp_style_prefer_not_pattern = true:suggestion
|
||||
csharp_style_prefer_pattern_matching = true:silent
|
||||
csharp_style_prefer_switch_expression = true:suggestion
|
||||
|
||||
# Null-checking preferences
|
||||
csharp_style_conditional_delegate_call = true:suggestion
|
||||
|
||||
# Modifier preferences
|
||||
csharp_prefer_static_anonymous_function = true:suggestion
|
||||
csharp_prefer_static_local_function = true:warning
|
||||
csharp_preferred_modifier_order = public,private,protected,internal,file,const,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async:suggestion
|
||||
csharp_style_prefer_readonly_struct = true:suggestion
|
||||
csharp_style_prefer_readonly_struct_member = true:suggestion
|
||||
|
||||
# Code-block preferences
|
||||
csharp_prefer_braces = true:silent
|
||||
csharp_prefer_simple_using_statement = true:suggestion
|
||||
csharp_style_namespace_declarations = file_scoped:suggestion
|
||||
csharp_style_prefer_method_group_conversion = true:silent
|
||||
csharp_style_prefer_primary_constructors = true:suggestion
|
||||
csharp_style_prefer_top_level_statements = true:silent
|
||||
|
||||
# Expression-level preferences
|
||||
csharp_prefer_simple_default_expression = true:suggestion
|
||||
csharp_style_deconstructed_variable_declaration = true:suggestion
|
||||
csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
|
||||
csharp_style_inlined_variable_declaration = true:suggestion
|
||||
csharp_style_prefer_index_operator = true:suggestion
|
||||
csharp_style_prefer_local_over_anonymous_function = true:suggestion
|
||||
csharp_style_prefer_null_check_over_type_check = true:suggestion
|
||||
csharp_style_prefer_range_operator = true:suggestion
|
||||
csharp_style_prefer_tuple_swap = true:suggestion
|
||||
csharp_style_prefer_utf8_string_literals = true:suggestion
|
||||
csharp_style_throw_expression = true:suggestion
|
||||
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
|
||||
csharp_style_unused_value_expression_statement_preference = discard_variable:silent
|
||||
|
||||
# 'using' directive preferences
|
||||
csharp_using_directive_placement = outside_namespace:silent
|
||||
|
||||
#### C# Formatting Rules ####
|
||||
|
||||
# New line preferences
|
||||
csharp_new_line_before_catch = true
|
||||
csharp_new_line_before_else = true
|
||||
csharp_new_line_before_finally = true
|
||||
csharp_new_line_before_members_in_anonymous_types = true
|
||||
csharp_new_line_before_members_in_object_initializers = true
|
||||
csharp_new_line_before_open_brace = all
|
||||
csharp_new_line_between_query_expression_clauses = true
|
||||
|
||||
# Indentation preferences
|
||||
csharp_indent_block_contents = true
|
||||
csharp_indent_braces = false
|
||||
csharp_indent_case_contents = true
|
||||
csharp_indent_case_contents_when_block = true
|
||||
csharp_indent_labels = one_less_than_current
|
||||
csharp_indent_switch_labels = true
|
||||
|
||||
# Space preferences
|
||||
csharp_space_after_cast = false
|
||||
csharp_space_after_colon_in_inheritance_clause = true
|
||||
csharp_space_after_comma = true
|
||||
csharp_space_after_dot = false
|
||||
csharp_space_after_keywords_in_control_flow_statements = true
|
||||
csharp_space_after_semicolon_in_for_statement = true
|
||||
csharp_space_around_binary_operators = before_and_after
|
||||
csharp_space_around_declaration_statements = false
|
||||
csharp_space_before_colon_in_inheritance_clause = true
|
||||
csharp_space_before_comma = false
|
||||
csharp_space_before_dot = false
|
||||
csharp_space_before_open_square_brackets = false
|
||||
csharp_space_before_semicolon_in_for_statement = false
|
||||
csharp_space_between_empty_square_brackets = false
|
||||
csharp_space_between_method_call_empty_parameter_list_parentheses = false
|
||||
csharp_space_between_method_call_name_and_opening_parenthesis = false
|
||||
csharp_space_between_method_call_parameter_list_parentheses = false
|
||||
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
|
||||
csharp_space_between_method_declaration_name_and_open_parenthesis = false
|
||||
csharp_space_between_method_declaration_parameter_list_parentheses = false
|
||||
csharp_space_between_parentheses = false
|
||||
csharp_space_between_square_brackets = false
|
||||
|
||||
# Wrapping preferences
|
||||
csharp_preserve_single_line_blocks = true
|
||||
csharp_preserve_single_line_statements = true
|
||||
|
||||
#### Naming styles ####
|
||||
[*.{cs,vb}]
|
||||
|
||||
# Naming rules
|
||||
|
||||
dotnet_naming_rule.types_and_namespaces_should_be_pascalcase.severity = suggestion
|
||||
dotnet_naming_rule.types_and_namespaces_should_be_pascalcase.symbols = types_and_namespaces
|
||||
dotnet_naming_rule.types_and_namespaces_should_be_pascalcase.style = pascalcase
|
||||
|
||||
dotnet_naming_rule.interfaces_should_be_ipascalcase.severity = suggestion
|
||||
dotnet_naming_rule.interfaces_should_be_ipascalcase.symbols = interfaces
|
||||
dotnet_naming_rule.interfaces_should_be_ipascalcase.style = ipascalcase
|
||||
|
||||
dotnet_naming_rule.type_parameters_should_be_tpascalcase.severity = suggestion
|
||||
dotnet_naming_rule.type_parameters_should_be_tpascalcase.symbols = type_parameters
|
||||
dotnet_naming_rule.type_parameters_should_be_tpascalcase.style = tpascalcase
|
||||
|
||||
dotnet_naming_rule.methods_should_be_pascalcase.severity = suggestion
|
||||
dotnet_naming_rule.methods_should_be_pascalcase.symbols = methods
|
||||
dotnet_naming_rule.methods_should_be_pascalcase.style = pascalcase
|
||||
|
||||
dotnet_naming_rule.properties_should_be_pascalcase.severity = suggestion
|
||||
dotnet_naming_rule.properties_should_be_pascalcase.symbols = properties
|
||||
dotnet_naming_rule.properties_should_be_pascalcase.style = pascalcase
|
||||
|
||||
dotnet_naming_rule.events_should_be_pascalcase.severity = suggestion
|
||||
dotnet_naming_rule.events_should_be_pascalcase.symbols = events
|
||||
dotnet_naming_rule.events_should_be_pascalcase.style = pascalcase
|
||||
|
||||
dotnet_naming_rule.local_variables_should_be_camelcase.severity = suggestion
|
||||
dotnet_naming_rule.local_variables_should_be_camelcase.symbols = local_variables
|
||||
dotnet_naming_rule.local_variables_should_be_camelcase.style = camelcase
|
||||
|
||||
dotnet_naming_rule.local_constants_should_be_camelcase.severity = suggestion
|
||||
dotnet_naming_rule.local_constants_should_be_camelcase.symbols = local_constants
|
||||
dotnet_naming_rule.local_constants_should_be_camelcase.style = camelcase
|
||||
|
||||
dotnet_naming_rule.parameters_should_be_camelcase.severity = suggestion
|
||||
dotnet_naming_rule.parameters_should_be_camelcase.symbols = parameters
|
||||
dotnet_naming_rule.parameters_should_be_camelcase.style = camelcase
|
||||
|
||||
dotnet_naming_rule.public_fields_should_be_pascalcase.severity = suggestion
|
||||
dotnet_naming_rule.public_fields_should_be_pascalcase.symbols = public_fields
|
||||
dotnet_naming_rule.public_fields_should_be_pascalcase.style = pascalcase
|
||||
|
||||
dotnet_naming_rule.private_fields_should_be__camelcase.severity = suggestion
|
||||
dotnet_naming_rule.private_fields_should_be__camelcase.symbols = private_fields
|
||||
dotnet_naming_rule.private_fields_should_be__camelcase.style = _camelcase
|
||||
|
||||
dotnet_naming_rule.private_static_fields_should_be_s_camelcase.severity = suggestion
|
||||
dotnet_naming_rule.private_static_fields_should_be_s_camelcase.symbols = private_static_fields
|
||||
dotnet_naming_rule.private_static_fields_should_be_s_camelcase.style = s_camelcase
|
||||
|
||||
dotnet_naming_rule.public_constant_fields_should_be_pascalcase.severity = suggestion
|
||||
dotnet_naming_rule.public_constant_fields_should_be_pascalcase.symbols = public_constant_fields
|
||||
dotnet_naming_rule.public_constant_fields_should_be_pascalcase.style = pascalcase
|
||||
|
||||
dotnet_naming_rule.private_constant_fields_should_be_pascalcase.severity = suggestion
|
||||
dotnet_naming_rule.private_constant_fields_should_be_pascalcase.symbols = private_constant_fields
|
||||
dotnet_naming_rule.private_constant_fields_should_be_pascalcase.style = pascalcase
|
||||
|
||||
dotnet_naming_rule.public_static_readonly_fields_should_be_pascalcase.severity = suggestion
|
||||
dotnet_naming_rule.public_static_readonly_fields_should_be_pascalcase.symbols = public_static_readonly_fields
|
||||
dotnet_naming_rule.public_static_readonly_fields_should_be_pascalcase.style = pascalcase
|
||||
|
||||
dotnet_naming_rule.private_static_readonly_fields_should_be_pascalcase.severity = suggestion
|
||||
dotnet_naming_rule.private_static_readonly_fields_should_be_pascalcase.symbols = private_static_readonly_fields
|
||||
dotnet_naming_rule.private_static_readonly_fields_should_be_pascalcase.style = pascalcase
|
||||
|
||||
dotnet_naming_rule.enums_should_be_pascalcase.severity = suggestion
|
||||
dotnet_naming_rule.enums_should_be_pascalcase.symbols = enums
|
||||
dotnet_naming_rule.enums_should_be_pascalcase.style = pascalcase
|
||||
|
||||
dotnet_naming_rule.local_functions_should_be_pascalcase.severity = suggestion
|
||||
dotnet_naming_rule.local_functions_should_be_pascalcase.symbols = local_functions
|
||||
dotnet_naming_rule.local_functions_should_be_pascalcase.style = pascalcase
|
||||
|
||||
dotnet_naming_rule.non_field_members_should_be_pascalcase.severity = suggestion
|
||||
dotnet_naming_rule.non_field_members_should_be_pascalcase.symbols = non_field_members
|
||||
dotnet_naming_rule.non_field_members_should_be_pascalcase.style = pascalcase
|
||||
|
||||
# Symbol specifications
|
||||
|
||||
dotnet_naming_symbols.interfaces.applicable_kinds = interface
|
||||
dotnet_naming_symbols.interfaces.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.interfaces.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.enums.applicable_kinds = enum
|
||||
dotnet_naming_symbols.enums.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.enums.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.events.applicable_kinds = event
|
||||
dotnet_naming_symbols.events.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.events.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.methods.applicable_kinds = method
|
||||
dotnet_naming_symbols.methods.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.methods.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.properties.applicable_kinds = property
|
||||
dotnet_naming_symbols.properties.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.properties.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.public_fields.applicable_kinds = field
|
||||
dotnet_naming_symbols.public_fields.applicable_accessibilities = public, internal
|
||||
dotnet_naming_symbols.public_fields.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.private_fields.applicable_kinds = field
|
||||
dotnet_naming_symbols.private_fields.applicable_accessibilities = private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.private_fields.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.private_static_fields.applicable_kinds = field
|
||||
dotnet_naming_symbols.private_static_fields.applicable_accessibilities = private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.private_static_fields.required_modifiers = static
|
||||
|
||||
dotnet_naming_symbols.types_and_namespaces.applicable_kinds = namespace, class, struct, interface, enum
|
||||
dotnet_naming_symbols.types_and_namespaces.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.types_and_namespaces.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
|
||||
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.non_field_members.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.type_parameters.applicable_kinds = namespace
|
||||
dotnet_naming_symbols.type_parameters.applicable_accessibilities = *
|
||||
dotnet_naming_symbols.type_parameters.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.private_constant_fields.applicable_kinds = field
|
||||
dotnet_naming_symbols.private_constant_fields.applicable_accessibilities = private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.private_constant_fields.required_modifiers = const
|
||||
|
||||
dotnet_naming_symbols.local_variables.applicable_kinds = local
|
||||
dotnet_naming_symbols.local_variables.applicable_accessibilities = local
|
||||
dotnet_naming_symbols.local_variables.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.local_constants.applicable_kinds = local
|
||||
dotnet_naming_symbols.local_constants.applicable_accessibilities = local
|
||||
dotnet_naming_symbols.local_constants.required_modifiers = const
|
||||
|
||||
dotnet_naming_symbols.parameters.applicable_kinds = parameter
|
||||
dotnet_naming_symbols.parameters.applicable_accessibilities = *
|
||||
dotnet_naming_symbols.parameters.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.public_constant_fields.applicable_kinds = field
|
||||
dotnet_naming_symbols.public_constant_fields.applicable_accessibilities = public, internal
|
||||
dotnet_naming_symbols.public_constant_fields.required_modifiers = const
|
||||
|
||||
dotnet_naming_symbols.public_static_readonly_fields.applicable_kinds = field
|
||||
dotnet_naming_symbols.public_static_readonly_fields.applicable_accessibilities = public, internal
|
||||
dotnet_naming_symbols.public_static_readonly_fields.required_modifiers = readonly, static
|
||||
|
||||
dotnet_naming_symbols.private_static_readonly_fields.applicable_kinds = field
|
||||
dotnet_naming_symbols.private_static_readonly_fields.applicable_accessibilities = private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.private_static_readonly_fields.required_modifiers = readonly, static
|
||||
|
||||
dotnet_naming_symbols.local_functions.applicable_kinds = local_function
|
||||
dotnet_naming_symbols.local_functions.applicable_accessibilities = *
|
||||
dotnet_naming_symbols.local_functions.required_modifiers =
|
||||
|
||||
# Naming styles
|
||||
|
||||
dotnet_naming_style.pascalcase.required_prefix =
|
||||
dotnet_naming_style.pascalcase.required_suffix =
|
||||
dotnet_naming_style.pascalcase.word_separator =
|
||||
dotnet_naming_style.pascalcase.capitalization = pascal_case
|
||||
|
||||
dotnet_naming_style.ipascalcase.required_prefix = I
|
||||
dotnet_naming_style.ipascalcase.required_suffix =
|
||||
dotnet_naming_style.ipascalcase.word_separator =
|
||||
dotnet_naming_style.ipascalcase.capitalization = pascal_case
|
||||
|
||||
dotnet_naming_style.tpascalcase.required_prefix = T
|
||||
dotnet_naming_style.tpascalcase.required_suffix =
|
||||
dotnet_naming_style.tpascalcase.word_separator =
|
||||
dotnet_naming_style.tpascalcase.capitalization = pascal_case
|
||||
|
||||
dotnet_naming_style._camelcase.required_prefix = _
|
||||
dotnet_naming_style._camelcase.required_suffix =
|
||||
dotnet_naming_style._camelcase.word_separator =
|
||||
dotnet_naming_style._camelcase.capitalization = camel_case
|
||||
|
||||
dotnet_naming_style.camelcase.required_prefix =
|
||||
dotnet_naming_style.camelcase.required_suffix =
|
||||
dotnet_naming_style.camelcase.word_separator =
|
||||
dotnet_naming_style.camelcase.capitalization = camel_case
|
||||
|
||||
dotnet_naming_style.s_camelcase.required_prefix = s_
|
||||
dotnet_naming_style.s_camelcase.required_suffix =
|
||||
dotnet_naming_style.s_camelcase.word_separator =
|
||||
dotnet_naming_style.s_camelcase.capitalization = camel_case
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
name: CI
|
||||
on:
|
||||
pull_request:
|
||||
branches: [main]
|
||||
jobs:
|
||||
ci:
|
||||
name: Build, Format, and Test
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: 10.0.x
|
||||
- name: Restore dependencies
|
||||
run: dotnet restore
|
||||
- name: Build
|
||||
run: dotnet build --no-restore
|
||||
- name: Check formatting
|
||||
run: dotnet format --verify-no-changes
|
||||
- name: Run tests
|
||||
run: dotnet test --no-build --verbosity normal
|
||||
@@ -0,0 +1,56 @@
|
||||
name: Release
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
jobs:
|
||||
release:
|
||||
name: Version, Build, and Release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Make scripts executable
|
||||
run: chmod +x scripts/*.sh
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: 10.0.x
|
||||
- name: Determine version
|
||||
id: version
|
||||
run: ./scripts/determine-version.sh main
|
||||
- name: Update version in csproj
|
||||
if: steps.version.outputs.VERSION
|
||||
run: ./scripts/update-version.sh "${{ steps.version.outputs.VERSION }}"
|
||||
- name: Create commit
|
||||
if: steps.version.outputs.VERSION
|
||||
run: |
|
||||
git config user.name "gitea-actions[bot]"
|
||||
git config user.email "gitea-actions[bot]@users.noreply.gitea.io"
|
||||
git add -A
|
||||
git commit -m "Bump version to ${{ steps.version.outputs.VERSION }}" || echo "No changes to commit"
|
||||
- name: Create tag
|
||||
if: steps.version.outputs.VERSION
|
||||
run: |
|
||||
git tag "v${{ steps.version.outputs.VERSION }}"
|
||||
- name: Push changes and tags
|
||||
if: steps.version.outputs.VERSION
|
||||
run: |
|
||||
git push origin main
|
||||
git push origin v${{ steps.version.outputs.VERSION }}
|
||||
- name: Restore dependencies
|
||||
if: steps.version.outputs.VERSION
|
||||
run: dotnet restore
|
||||
- name: Build
|
||||
if: steps.version.outputs.VERSION
|
||||
run: dotnet build --configuration Release --no-restore
|
||||
- name: Run tests
|
||||
if: steps.version.outputs.VERSION
|
||||
run: dotnet test --configuration Release --no-build --verbosity normal
|
||||
- name: Pack
|
||||
if: steps.version.outputs.VERSION
|
||||
run: dotnet pack --configuration Release --no-build --output ./artifacts
|
||||
- name: Push to NuGet
|
||||
if: steps.version.outputs.VERSION
|
||||
run: dotnet nuget push ./artifacts/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }}
|
||||
@@ -0,0 +1,12 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<AnalysisLevel>latest</AnalysisLevel>
|
||||
<AnalysisMode>All</AnalysisMode>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
|
||||
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
# Copyright (c) 2026 Stevan Freeborn
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,62 @@
|
||||
# StevanFreeborn.Options
|
||||
|
||||
[](https://www.nuget.org/packages/StevanFreeborn.Options)
|
||||
[](https://www.nuget.org/packages/StevanFreeborn.Options)
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
|
||||
A minimalistic, AOT-compatible Option type library for functional programming in .NET.
|
||||
|
||||
## Features
|
||||
|
||||
- **Functional Programming**: Chain operations with Map, Bind, and Match
|
||||
- **AOT Compatible**: Works with Native AOT and trimming
|
||||
- **Nullable Reference Types**: Full support for nullable reference types
|
||||
- **No External Dependencies**: Lightweight with zero dependencies
|
||||
- **Pattern Matching Support**: Deconstruction support for modern C# pattern matching
|
||||
- **Comprehensive XML Documentation**: Full IntelliSense support
|
||||
|
||||
## Installation
|
||||
|
||||
Install via NuGet:
|
||||
|
||||
```bash
|
||||
dotnet add package StevanFreeborn.Options
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
```csharp
|
||||
using StevanFreeborn.Options;
|
||||
|
||||
// Create an option with a value
|
||||
Option<string> some = Option<string>.Some("Hello");
|
||||
|
||||
// Create an empty option
|
||||
Option<string> none = Option<string>.None();
|
||||
|
||||
// Implicit conversion from value
|
||||
Option<string> implicitSome = "World";
|
||||
|
||||
// Use functional operations
|
||||
string result = some
|
||||
.Map(s => s.ToUpper())
|
||||
.Match(
|
||||
onSome: s => $"Value: {s}",
|
||||
onNone: () => "No value"
|
||||
);
|
||||
|
||||
// Pattern matching
|
||||
if (some is (true, var value))
|
||||
{
|
||||
Console.WriteLine(value);
|
||||
}
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
- .NET Standard 2.1
|
||||
- .NET 10.0+
|
||||
|
||||
## License
|
||||
|
||||
MIT License - see [LICENSE.md](LICENSE.md) for details.
|
||||
@@ -0,0 +1,8 @@
|
||||
<Solution>
|
||||
<Folder Name="/src/">
|
||||
<Project Path="src/StevanFreeborn.Options/StevanFreeborn.Options.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/tests/">
|
||||
<Project Path="tests/StevanFreeborn.Options.Tests/StevanFreeborn.Options.Tests.csproj" />
|
||||
</Folder>
|
||||
</Solution>
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"sdk": {
|
||||
"version": "10.0.201",
|
||||
"rollForward": "latestPatch"
|
||||
},
|
||||
"test": {
|
||||
"runner": "Microsoft.Testing.Platform"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
#!/bin/bash
|
||||
|
||||
branch="${1:-main}"
|
||||
|
||||
tag=$(git describe --tags --abbrev=0 2>/dev/null)
|
||||
base="${tag:-$branch}"
|
||||
|
||||
commits=$(git log "$base..HEAD" --format="%s")
|
||||
major=0
|
||||
minor=0
|
||||
patch=0
|
||||
|
||||
while IFS= read -r message; do
|
||||
if [[ -n "$message" ]] && [[ "$message" =~ " BREAKING CHANGE|!:" ]]; then
|
||||
major=1
|
||||
elif [[ -n "$message" ]] && [[ "$message" =~ feat(\(.*\))?: ]]; then
|
||||
minor=1
|
||||
elif [[ -n "$message" ]] && [[ "$message" =~ fix(\(.*\))?: ]]; then
|
||||
patch=1
|
||||
fi
|
||||
done <<< "$commits"
|
||||
|
||||
if [[ "$major" -eq 1 ]]; then
|
||||
minor=0
|
||||
patch=0
|
||||
elif [[ "$minor" -eq 1 ]]; then
|
||||
patch=0
|
||||
elif [[ "$patch" -eq 0 ]] && [[ -n "$commits" ]]; then
|
||||
patch=1
|
||||
fi
|
||||
|
||||
currentVersion="0.0.0"
|
||||
hasExistingTag=false
|
||||
|
||||
if [[ -n "$tag" ]]; then
|
||||
hasExistingTag=true
|
||||
currentVersion="${tag#v}"
|
||||
fi
|
||||
|
||||
IFS='.' read -r majorCurrent minorCurrent patchCurrent <<< "$currentVersion"
|
||||
|
||||
majorNew=$((majorCurrent + major))
|
||||
|
||||
if [[ "$major" -eq 1 ]]; then
|
||||
minorNew=0
|
||||
else
|
||||
minorNew=$((minorCurrent + minor))
|
||||
fi
|
||||
|
||||
if [[ "$major" -eq 1 ]] || [[ "$minor" -eq 1 ]]; then
|
||||
patchNew=0
|
||||
else
|
||||
patchNew=$((patchCurrent + patch))
|
||||
fi
|
||||
|
||||
if [[ "$majorNew" -eq "$majorCurrent" ]] && [[ "$minorNew" -eq "$minorCurrent" ]] && [[ "$patchNew" -eq "$patchCurrent" ]]; then
|
||||
if [[ "$hasExistingTag" == "false" ]]; then
|
||||
version="0.0.0"
|
||||
[[ -n "$GITHUB_OUTPUT" ]] && echo "VERSION=$version" >> "$GITHUB_OUTPUT" || echo "VERSION=$version"
|
||||
echo "First release: publishing version 0.0.0"
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
version="$majorNew.$minorNew.$patchNew"
|
||||
[[ -n "$GITHUB_OUTPUT" ]] && echo "VERSION=$version" >> "$GITHUB_OUTPUT" || echo "VERSION=$version"
|
||||
fi
|
||||
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
version="${1:-}"
|
||||
csprojPath="${2:-src/StevanFreeborn.Results/StevanFreeborn.Results.csproj}"
|
||||
|
||||
if [[ -z "$version" ]]; then
|
||||
echo "Error: Version is required"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
content=$(cat "$csprojPath")
|
||||
|
||||
if [[ "$content" =~ \<Version\>.*?\</Version\> ]]; then
|
||||
content=$(echo "$content" | sed "s|<Version>.*</Version>|<Version>$version</Version>|")
|
||||
elif [[ "$content" =~ \<PropertyGroup\> ]]; then
|
||||
content=$(echo "$content" | sed "s|<PropertyGroup>|<PropertyGroup>\\n <Version>$version</Version>|")
|
||||
fi
|
||||
|
||||
echo "$content" > "$csprojPath"
|
||||
@@ -0,0 +1,6 @@
|
||||
<Project>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
<ItemGroup>
|
||||
<InternalsVisibleTo Include="$(AssemblyName).Tests" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,13 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageVersion Include="Microsoft.SourceLink.Gitea" Version="10.0.201">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageVersion>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,279 @@
|
||||
namespace StevanFreeborn.Options;
|
||||
|
||||
/// <summary>
|
||||
/// Provides factory methods for creating <see cref="Option{T}"/>.
|
||||
/// </summary>
|
||||
#pragma warning disable CA1716 // Identifiers should not match keywords
|
||||
public static class Option
|
||||
#pragma warning restore CA1716 // Identifiers should not match keywords
|
||||
{
|
||||
/// <summary>
|
||||
/// Creates an option with the specified value.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the value.</typeparam>
|
||||
/// <param name="value">The value.</param>
|
||||
/// <returns>An <see cref="Option{T}"/> with the specified value.</returns>
|
||||
public static Option<T> Some<T>(T value)
|
||||
{
|
||||
#if NET6_0_OR_GREATER
|
||||
ArgumentNullException.ThrowIfNull(value);
|
||||
#else
|
||||
if (value is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(value));
|
||||
}
|
||||
#endif
|
||||
return new Option<T>(true, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates an empty option.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the value.</typeparam>
|
||||
/// <returns>An empty <see cref="Option{T}"/>.</returns>
|
||||
public static Option<T> None<T>() => new(false, default!);
|
||||
|
||||
/// <summary>
|
||||
/// Creates an option from the specified value, returning None if the value is null.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the value.</typeparam>
|
||||
/// <param name="value">The value.</param>
|
||||
/// <returns>An <see cref="Option{T}"/> with the value if not null, otherwise None.</returns>
|
||||
public static Option<T> From<T>(T? value) => value is null ? None<T>() : Some(value);
|
||||
|
||||
/// <summary>
|
||||
/// Converts a value to an <see cref="Option{T}"/>.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the value.</typeparam>
|
||||
/// <param name="value">The value.</param>
|
||||
/// <returns>An <see cref="Option{T}"/>.</returns>
|
||||
public static Option<T> FromT<T>(T? value) => From(value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents an optional value that may or may not be present.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the value.</typeparam>
|
||||
#pragma warning disable CA1716 // Identifiers should not match keywords
|
||||
public sealed class Option<T>
|
||||
#pragma warning restore CA1716 // Identifiers should not match keywords
|
||||
{
|
||||
private readonly T _value;
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the option has a value.
|
||||
/// </summary>
|
||||
public bool IsSome { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the option is empty.
|
||||
/// </summary>
|
||||
public bool IsNone => !IsSome;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the value of the option.
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">Thrown when accessing Value on a None option.</exception>
|
||||
public T Value => IsSome
|
||||
? _value
|
||||
: throw new InvalidOperationException("Cannot access Value on a None option.");
|
||||
|
||||
internal Option(bool isSome, T value)
|
||||
{
|
||||
IsSome = isSome;
|
||||
_value = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Implicitly converts a value to an <see cref="Option{T}"/>.
|
||||
/// </summary>
|
||||
/// <param name="value">The value to convert.</param>
|
||||
#pragma warning disable CA2225 // Operator overloads have named alternates
|
||||
public static implicit operator Option<T>(T? value) => Option.From(value);
|
||||
#pragma warning restore CA2225 // Operator overloads have named alternates
|
||||
|
||||
/// <summary>
|
||||
/// Deconstructs the option into its components.
|
||||
/// </summary>
|
||||
/// <param name="isSome">Indicates whether the option has a value.</param>
|
||||
/// <param name="value">The value of the option.</param>
|
||||
public void Deconstruct(out bool isSome, out T value)
|
||||
{
|
||||
isSome = IsSome;
|
||||
value = _value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Maps the value to a new type if the option has a value.
|
||||
/// </summary>
|
||||
/// <typeparam name="TNew">The new type.</typeparam>
|
||||
/// <param name="mapper">The function to map the value.</param>
|
||||
/// <returns>A new <see cref="Option{TNew}"/> with the mapped value if Some, otherwise None.</returns>
|
||||
/// <exception cref="ArgumentNullException">Thrown when mapper is null.</exception>
|
||||
public Option<TNew> Map<TNew>(Func<T, TNew> mapper)
|
||||
{
|
||||
#if NET6_0_OR_GREATER
|
||||
ArgumentNullException.ThrowIfNull(mapper);
|
||||
#else
|
||||
if (mapper is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(mapper));
|
||||
}
|
||||
#endif
|
||||
|
||||
return IsSome ? Option.From(mapper(_value)) : Option.None<TNew>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Binds to a new option if the current option has a value.
|
||||
/// </summary>
|
||||
/// <typeparam name="TNew">The new option type.</typeparam>
|
||||
/// <param name="binder">The function to bind to on Some.</param>
|
||||
/// <returns>The result of the binder function if Some, otherwise None.</returns>
|
||||
/// <exception cref="ArgumentNullException">Thrown when binder is null.</exception>
|
||||
public Option<TNew> Bind<TNew>(Func<T, Option<TNew>> binder)
|
||||
{
|
||||
#if NET6_0_OR_GREATER
|
||||
ArgumentNullException.ThrowIfNull(binder);
|
||||
#else
|
||||
if (binder is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(binder));
|
||||
}
|
||||
#endif
|
||||
|
||||
return IsSome ? binder(_value) : Option.None<TNew>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Matches the option and returns a value based on whether it has a value.
|
||||
/// </summary>
|
||||
/// <typeparam name="TResult">The type of the result.</typeparam>
|
||||
/// <param name="onSome">The function to execute on Some.</param>
|
||||
/// <param name="onNone">The function to execute on None.</param>
|
||||
/// <returns>The result of the appropriate function.</returns>
|
||||
/// <exception cref="ArgumentNullException">Thrown when onSome or onNone is null.</exception>
|
||||
public TResult Match<TResult>(Func<T, TResult> onSome, Func<TResult> onNone)
|
||||
{
|
||||
#if NET6_0_OR_GREATER
|
||||
ArgumentNullException.ThrowIfNull(onSome);
|
||||
ArgumentNullException.ThrowIfNull(onNone);
|
||||
#else
|
||||
if (onSome is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(onSome));
|
||||
}
|
||||
|
||||
if (onNone is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(onNone));
|
||||
}
|
||||
#endif
|
||||
|
||||
return IsSome ? onSome(_value) : onNone();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Matches the option and executes the appropriate action.
|
||||
/// </summary>
|
||||
/// <param name="onSome">The action to execute on Some.</param>
|
||||
/// <param name="onNone">The action to execute on None.</param>
|
||||
/// <exception cref="ArgumentNullException">Thrown when onSome or onNone is null.</exception>
|
||||
public void Match(Action<T> onSome, Action onNone)
|
||||
{
|
||||
#if NET6_0_OR_GREATER
|
||||
ArgumentNullException.ThrowIfNull(onSome);
|
||||
ArgumentNullException.ThrowIfNull(onNone);
|
||||
#else
|
||||
if (onSome is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(onSome));
|
||||
}
|
||||
|
||||
if (onNone is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(onNone));
|
||||
}
|
||||
#endif
|
||||
|
||||
if (IsSome)
|
||||
{
|
||||
onSome(_value);
|
||||
}
|
||||
else
|
||||
{
|
||||
onNone();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Filters the option based on the specified predicate.
|
||||
/// </summary>
|
||||
/// <param name="predicate">The predicate to filter with.</param>
|
||||
/// <returns>The current option if Some and the predicate is met, otherwise None.</returns>
|
||||
/// <exception cref="ArgumentNullException">Thrown when predicate is null.</exception>
|
||||
public Option<T> Where(Func<T, bool> predicate)
|
||||
{
|
||||
#if NET6_0_OR_GREATER
|
||||
ArgumentNullException.ThrowIfNull(predicate);
|
||||
#else
|
||||
if (predicate is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(predicate));
|
||||
}
|
||||
#endif
|
||||
|
||||
if (IsNone)
|
||||
{
|
||||
return this;
|
||||
}
|
||||
|
||||
return predicate(_value) ? this : Option.None<T>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the value of the option if Some, otherwise the specified default value.
|
||||
/// </summary>
|
||||
/// <param name="defaultValue">The default value.</param>
|
||||
/// <returns>The value if Some, otherwise the default value.</returns>
|
||||
public T GetValueOrDefault(T defaultValue) => IsSome ? _value : defaultValue;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the value of the option if Some, otherwise the result of the specified factory function.
|
||||
/// </summary>
|
||||
/// <param name="factory">The factory function to provide the default value.</param>
|
||||
/// <returns>The value if Some, otherwise the result of the factory function.</returns>
|
||||
/// <exception cref="ArgumentNullException">Thrown when factory is null.</exception>
|
||||
public T GetValueOrDefault(Func<T> factory)
|
||||
{
|
||||
#if NET6_0_OR_GREATER
|
||||
ArgumentNullException.ThrowIfNull(factory);
|
||||
#else
|
||||
if (factory is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(factory));
|
||||
}
|
||||
#endif
|
||||
|
||||
return IsSome ? _value : factory();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the current option if Some, otherwise the result of the specified factory function.
|
||||
/// </summary>
|
||||
/// <param name="factory">The factory function to provide the fallback option.</param>
|
||||
/// <returns>The current option if Some, otherwise the result of the factory function.</returns>
|
||||
/// <exception cref="ArgumentNullException">Thrown when factory is null.</exception>
|
||||
public Option<T> OrElse(Func<Option<T>> factory)
|
||||
{
|
||||
#if NET6_0_OR_GREATER
|
||||
ArgumentNullException.ThrowIfNull(factory);
|
||||
#else
|
||||
if (factory is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(factory));
|
||||
}
|
||||
#endif
|
||||
return IsSome ? this : factory();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
namespace StevanFreeborn.Options
|
||||
{
|
||||
/// <summary>
|
||||
/// Provides async extension methods for <see cref="Option{T}"/>.
|
||||
/// </summary>
|
||||
public static class OptionAsyncExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Maps the value to a new type asynchronously if the option has a value.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the value.</typeparam>
|
||||
/// <typeparam name="TNew">The new type.</typeparam>
|
||||
/// <param name="option">The option.</param>
|
||||
/// <param name="mapper">The async function to map the value.</param>
|
||||
/// <returns>A task containing a new <see cref="Option{TNew}"/> with the mapped value if Some, otherwise None.</returns>
|
||||
/// <exception cref="ArgumentNullException">Thrown when option or mapper is null.</exception>
|
||||
public static async Task<Option<TNew>> MapAsync<T, TNew>(this Option<T> option, Func<T, Task<TNew>> mapper)
|
||||
{
|
||||
#if NET6_0_OR_GREATER
|
||||
ArgumentNullException.ThrowIfNull(option);
|
||||
ArgumentNullException.ThrowIfNull(mapper);
|
||||
#else
|
||||
if (option is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(option));
|
||||
}
|
||||
|
||||
if (mapper is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(mapper));
|
||||
}
|
||||
#endif
|
||||
|
||||
return option.IsSome ? await mapper(option.Value).ConfigureAwait(false) : Option.None<TNew>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Binds to a new async result if the current option has a value.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the value.</typeparam>
|
||||
/// <typeparam name="TNew">The new result type.</typeparam>
|
||||
/// <param name="option">The option.</param>
|
||||
/// <param name="binder">The async function to bind to on Some.</param>
|
||||
/// <returns>A task containing the result of the binder function if Some, otherwise None.</returns>
|
||||
/// <exception cref="ArgumentNullException">Thrown when option or binder is null.</exception>
|
||||
public static async Task<Option<TNew>> BindAsync<T, TNew>(this Option<T> option, Func<T, Task<Option<TNew>>> binder)
|
||||
{
|
||||
#if NET6_0_OR_GREATER
|
||||
ArgumentNullException.ThrowIfNull(option);
|
||||
ArgumentNullException.ThrowIfNull(binder);
|
||||
#else
|
||||
if (option is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(option));
|
||||
}
|
||||
|
||||
if (binder is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(binder));
|
||||
}
|
||||
#endif
|
||||
|
||||
return option.IsSome ? await binder(option.Value).ConfigureAwait(false) : Option.None<TNew>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Matches the option asynchronously and returns a value based on whether it has a value.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the value.</typeparam>
|
||||
/// <typeparam name="TResult">The type of the result.</typeparam>
|
||||
/// <param name="option">The option.</param>
|
||||
/// <param name="onSome">The async function to execute on Some.</param>
|
||||
/// <param name="onNone">The async function to execute on None.</param>
|
||||
/// <returns>A task containing the result of the appropriate function.</returns>
|
||||
/// <exception cref="ArgumentNullException">Thrown when option, onSome, or onNone is null.</exception>
|
||||
public static async Task<TResult> MatchAsync<T, TResult>(this Option<T> option, Func<T, Task<TResult>> onSome, Func<Task<TResult>> onNone)
|
||||
{
|
||||
#if NET6_0_OR_GREATER
|
||||
ArgumentNullException.ThrowIfNull(option);
|
||||
ArgumentNullException.ThrowIfNull(onSome);
|
||||
ArgumentNullException.ThrowIfNull(onNone);
|
||||
#else
|
||||
if (option is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(option));
|
||||
}
|
||||
|
||||
if (onSome is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(onSome));
|
||||
}
|
||||
|
||||
if (onNone is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(onNone));
|
||||
}
|
||||
#endif
|
||||
|
||||
return option.IsSome ? await onSome(option.Value).ConfigureAwait(false) : await onNone().ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Filters the option asynchronously based on the specified predicate.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the value.</typeparam>
|
||||
/// <param name="option">The option.</param>
|
||||
/// <param name="predicate">The async predicate to filter with.</param>
|
||||
/// <returns>A task containing the current option if Some and the predicate is met, otherwise None.</returns>
|
||||
/// <exception cref="ArgumentNullException">Thrown when option or predicate is null.</exception>
|
||||
public static async Task<Option<T>> WhereAsync<T>(this Option<T> option, Func<T, Task<bool>> predicate)
|
||||
{
|
||||
#if NET6_0_OR_GREATER
|
||||
ArgumentNullException.ThrowIfNull(option);
|
||||
ArgumentNullException.ThrowIfNull(predicate);
|
||||
#else
|
||||
if (option is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(option));
|
||||
}
|
||||
|
||||
if (predicate is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(predicate));
|
||||
}
|
||||
#endif
|
||||
|
||||
if (option.IsNone)
|
||||
{
|
||||
return option;
|
||||
}
|
||||
|
||||
return await predicate(option.Value).ConfigureAwait(false) ? option : Option.None<T>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the current option if Some, otherwise the result of the specified async factory function.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The type of the value.</typeparam>
|
||||
/// <param name="option">The option.</param>
|
||||
/// <param name="factory">The async factory function to provide the fallback option.</param>
|
||||
/// <returns>A task containing the current option if Some, otherwise the result of the factory function.</returns>
|
||||
/// <exception cref="ArgumentNullException">Thrown when option or factory is null.</exception>
|
||||
public static async Task<Option<T>> OrElseAsync<T>(this Option<T> option, Func<Task<Option<T>>> factory)
|
||||
{
|
||||
#if NET6_0_OR_GREATER
|
||||
ArgumentNullException.ThrowIfNull(option);
|
||||
ArgumentNullException.ThrowIfNull(factory);
|
||||
#else
|
||||
if (option is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(option));
|
||||
}
|
||||
|
||||
if (factory is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(factory));
|
||||
}
|
||||
#endif
|
||||
|
||||
return option.IsSome ? option : await factory().ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>netstandard2.1;net10.0</TargetFrameworks>
|
||||
<IsAotCompatible Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))">true</IsAotCompatible>
|
||||
<VerifyReferenceAotCompatibility>true</VerifyReferenceAotCompatibility>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<PackageId>StevanFreeborn.Options</PackageId>
|
||||
<Version>0.0.0</Version>
|
||||
<Authors>StevanFreeborn</Authors>
|
||||
<Description>A minimalistic, AOT-compatible Option type library for functional programming in .NET.</Description>
|
||||
<PackageTags>option;maybe;functional;discriminated-union</PackageTags>
|
||||
<PackageProjectUrl>https://gitea.freeborn.cloud/Stevan/stevanfreeborn.options</PackageProjectUrl>
|
||||
<RepositoryUrl>https://gitea.freeborn.cloud/Stevan/stevanfreeborn.options</RepositoryUrl>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<PublishRepositoryUrl>true</PublishRepositoryUrl>
|
||||
<EmbedUntrackedSources>true</EmbedUntrackedSources>
|
||||
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
|
||||
<DebugType>embedded</DebugType>
|
||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(GITEA_ACTIONS)' == 'true'">
|
||||
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\README.md" Pack="true" PackagePath="\" />
|
||||
<None Include="..\..\LICENSE.md" Pack="true" PackagePath="\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.SourceLink.Gitea">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v10.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v10.0": {
|
||||
"StevanFreeborn.Options/0.0.0": {
|
||||
"runtime": {
|
||||
"StevanFreeborn.Options.dll": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"StevanFreeborn.Options/0.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,205 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>StevanFreeborn.Options</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:StevanFreeborn.Options.Option">
|
||||
<summary>
|
||||
Provides factory methods for creating <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.Some``1(``0)">
|
||||
<summary>
|
||||
Creates an option with the specified value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/> with the specified value.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.None``1">
|
||||
<summary>
|
||||
Creates an empty option.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<returns>An empty <see cref="T:StevanFreeborn.Options.Option`1"/>.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.From``1(``0)">
|
||||
<summary>
|
||||
Creates an option from the specified value, returning None if the value is null.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/> with the value if not null, otherwise None.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.FromT``1(``0)">
|
||||
<summary>
|
||||
Converts a value to an <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/>.</returns>
|
||||
</member>
|
||||
<member name="T:StevanFreeborn.Options.Option`1">
|
||||
<summary>
|
||||
Represents an optional value that may or may not be present.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.IsSome">
|
||||
<summary>
|
||||
Gets a value indicating whether the option has a value.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.IsNone">
|
||||
<summary>
|
||||
Gets a value indicating whether the option is empty.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.Value">
|
||||
<summary>
|
||||
Gets the value of the option.
|
||||
</summary>
|
||||
<exception cref="T:System.InvalidOperationException">Thrown when accessing Value on a None option.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.op_Implicit(`0)~StevanFreeborn.Options.Option{`0}">
|
||||
<summary>
|
||||
Implicitly converts a value to an <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Deconstruct(System.Boolean@,`0@)">
|
||||
<summary>
|
||||
Deconstructs the option into its components.
|
||||
</summary>
|
||||
<param name="isSome">Indicates whether the option has a value.</param>
|
||||
<param name="value">The value of the option.</param>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Map``1(System.Func{`0,``0})">
|
||||
<summary>
|
||||
Maps the value to a new type if the option has a value.
|
||||
</summary>
|
||||
<typeparam name="TNew">The new type.</typeparam>
|
||||
<param name="mapper">The function to map the value.</param>
|
||||
<returns>A new <see cref="T:StevanFreeborn.Options.Option`1"/> with the mapped value if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when mapper is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Bind``1(System.Func{`0,StevanFreeborn.Options.Option{``0}})">
|
||||
<summary>
|
||||
Binds to a new option if the current option has a value.
|
||||
</summary>
|
||||
<typeparam name="TNew">The new option type.</typeparam>
|
||||
<param name="binder">The function to bind to on Some.</param>
|
||||
<returns>The result of the binder function if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when binder is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Match``1(System.Func{`0,``0},System.Func{``0})">
|
||||
<summary>
|
||||
Matches the option and returns a value based on whether it has a value.
|
||||
</summary>
|
||||
<typeparam name="TResult">The type of the result.</typeparam>
|
||||
<param name="onSome">The function to execute on Some.</param>
|
||||
<param name="onNone">The function to execute on None.</param>
|
||||
<returns>The result of the appropriate function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when onSome or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Match(System.Action{`0},System.Action)">
|
||||
<summary>
|
||||
Matches the option and executes the appropriate action.
|
||||
</summary>
|
||||
<param name="onSome">The action to execute on Some.</param>
|
||||
<param name="onNone">The action to execute on None.</param>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when onSome or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Where(System.Func{`0,System.Boolean})">
|
||||
<summary>
|
||||
Filters the option based on the specified predicate.
|
||||
</summary>
|
||||
<param name="predicate">The predicate to filter with.</param>
|
||||
<returns>The current option if Some and the predicate is met, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when predicate is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.GetValueOrDefault(`0)">
|
||||
<summary>
|
||||
Gets the value of the option if Some, otherwise the specified default value.
|
||||
</summary>
|
||||
<param name="defaultValue">The default value.</param>
|
||||
<returns>The value if Some, otherwise the default value.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.GetValueOrDefault(System.Func{`0})">
|
||||
<summary>
|
||||
Gets the value of the option if Some, otherwise the result of the specified factory function.
|
||||
</summary>
|
||||
<param name="factory">The factory function to provide the default value.</param>
|
||||
<returns>The value if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when factory is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.OrElse(System.Func{StevanFreeborn.Options.Option{`0}})">
|
||||
<summary>
|
||||
Returns the current option if Some, otherwise the result of the specified factory function.
|
||||
</summary>
|
||||
<param name="factory">The factory function to provide the fallback option.</param>
|
||||
<returns>The current option if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when factory is null.</exception>
|
||||
</member>
|
||||
<member name="T:StevanFreeborn.Options.OptionAsyncExtensions">
|
||||
<summary>
|
||||
Provides async extension methods for <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.MapAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{``1}})">
|
||||
<summary>
|
||||
Maps the value to a new type asynchronously if the option has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TNew">The new type.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="mapper">The async function to map the value.</param>
|
||||
<returns>A task containing a new <see cref="T:StevanFreeborn.Options.Option`1"/> with the mapped value if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or mapper is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.BindAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{StevanFreeborn.Options.Option{``1}}})">
|
||||
<summary>
|
||||
Binds to a new async result if the current option has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TNew">The new result type.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="binder">The async function to bind to on Some.</param>
|
||||
<returns>A task containing the result of the binder function if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or binder is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.MatchAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{``1}},System.Func{System.Threading.Tasks.Task{``1}})">
|
||||
<summary>
|
||||
Matches the option asynchronously and returns a value based on whether it has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TResult">The type of the result.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="onSome">The async function to execute on Some.</param>
|
||||
<param name="onNone">The async function to execute on None.</param>
|
||||
<returns>A task containing the result of the appropriate function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option, onSome, or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.WhereAsync``1(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{System.Boolean}})">
|
||||
<summary>
|
||||
Filters the option asynchronously based on the specified predicate.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="predicate">The async predicate to filter with.</param>
|
||||
<returns>A task containing the current option if Some and the predicate is met, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or predicate is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.OrElseAsync``1(StevanFreeborn.Options.Option{``0},System.Func{System.Threading.Tasks.Task{StevanFreeborn.Options.Option{``0}}})">
|
||||
<summary>
|
||||
Returns the current option if Some, otherwise the result of the specified async factory function.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="factory">The async factory function to provide the fallback option.</param>
|
||||
<returns>A task containing the current option if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or factory is null.</exception>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETStandard,Version=v2.1/",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETStandard,Version=v2.1": {},
|
||||
".NETStandard,Version=v2.1/": {
|
||||
"StevanFreeborn.Options/0.0.0": {
|
||||
"runtime": {
|
||||
"StevanFreeborn.Options.dll": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"StevanFreeborn.Options/0.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,205 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>StevanFreeborn.Options</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:StevanFreeborn.Options.Option">
|
||||
<summary>
|
||||
Provides factory methods for creating <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.Some``1(``0)">
|
||||
<summary>
|
||||
Creates an option with the specified value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/> with the specified value.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.None``1">
|
||||
<summary>
|
||||
Creates an empty option.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<returns>An empty <see cref="T:StevanFreeborn.Options.Option`1"/>.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.From``1(``0)">
|
||||
<summary>
|
||||
Creates an option from the specified value, returning None if the value is null.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/> with the value if not null, otherwise None.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.FromT``1(``0)">
|
||||
<summary>
|
||||
Converts a value to an <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/>.</returns>
|
||||
</member>
|
||||
<member name="T:StevanFreeborn.Options.Option`1">
|
||||
<summary>
|
||||
Represents an optional value that may or may not be present.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.IsSome">
|
||||
<summary>
|
||||
Gets a value indicating whether the option has a value.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.IsNone">
|
||||
<summary>
|
||||
Gets a value indicating whether the option is empty.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.Value">
|
||||
<summary>
|
||||
Gets the value of the option.
|
||||
</summary>
|
||||
<exception cref="T:System.InvalidOperationException">Thrown when accessing Value on a None option.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.op_Implicit(`0)~StevanFreeborn.Options.Option{`0}">
|
||||
<summary>
|
||||
Implicitly converts a value to an <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Deconstruct(System.Boolean@,`0@)">
|
||||
<summary>
|
||||
Deconstructs the option into its components.
|
||||
</summary>
|
||||
<param name="isSome">Indicates whether the option has a value.</param>
|
||||
<param name="value">The value of the option.</param>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Map``1(System.Func{`0,``0})">
|
||||
<summary>
|
||||
Maps the value to a new type if the option has a value.
|
||||
</summary>
|
||||
<typeparam name="TNew">The new type.</typeparam>
|
||||
<param name="mapper">The function to map the value.</param>
|
||||
<returns>A new <see cref="T:StevanFreeborn.Options.Option`1"/> with the mapped value if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when mapper is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Bind``1(System.Func{`0,StevanFreeborn.Options.Option{``0}})">
|
||||
<summary>
|
||||
Binds to a new option if the current option has a value.
|
||||
</summary>
|
||||
<typeparam name="TNew">The new option type.</typeparam>
|
||||
<param name="binder">The function to bind to on Some.</param>
|
||||
<returns>The result of the binder function if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when binder is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Match``1(System.Func{`0,``0},System.Func{``0})">
|
||||
<summary>
|
||||
Matches the option and returns a value based on whether it has a value.
|
||||
</summary>
|
||||
<typeparam name="TResult">The type of the result.</typeparam>
|
||||
<param name="onSome">The function to execute on Some.</param>
|
||||
<param name="onNone">The function to execute on None.</param>
|
||||
<returns>The result of the appropriate function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when onSome or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Match(System.Action{`0},System.Action)">
|
||||
<summary>
|
||||
Matches the option and executes the appropriate action.
|
||||
</summary>
|
||||
<param name="onSome">The action to execute on Some.</param>
|
||||
<param name="onNone">The action to execute on None.</param>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when onSome or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Where(System.Func{`0,System.Boolean})">
|
||||
<summary>
|
||||
Filters the option based on the specified predicate.
|
||||
</summary>
|
||||
<param name="predicate">The predicate to filter with.</param>
|
||||
<returns>The current option if Some and the predicate is met, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when predicate is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.GetValueOrDefault(`0)">
|
||||
<summary>
|
||||
Gets the value of the option if Some, otherwise the specified default value.
|
||||
</summary>
|
||||
<param name="defaultValue">The default value.</param>
|
||||
<returns>The value if Some, otherwise the default value.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.GetValueOrDefault(System.Func{`0})">
|
||||
<summary>
|
||||
Gets the value of the option if Some, otherwise the result of the specified factory function.
|
||||
</summary>
|
||||
<param name="factory">The factory function to provide the default value.</param>
|
||||
<returns>The value if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when factory is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.OrElse(System.Func{StevanFreeborn.Options.Option{`0}})">
|
||||
<summary>
|
||||
Returns the current option if Some, otherwise the result of the specified factory function.
|
||||
</summary>
|
||||
<param name="factory">The factory function to provide the fallback option.</param>
|
||||
<returns>The current option if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when factory is null.</exception>
|
||||
</member>
|
||||
<member name="T:StevanFreeborn.Options.OptionAsyncExtensions">
|
||||
<summary>
|
||||
Provides async extension methods for <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.MapAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{``1}})">
|
||||
<summary>
|
||||
Maps the value to a new type asynchronously if the option has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TNew">The new type.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="mapper">The async function to map the value.</param>
|
||||
<returns>A task containing a new <see cref="T:StevanFreeborn.Options.Option`1"/> with the mapped value if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or mapper is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.BindAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{StevanFreeborn.Options.Option{``1}}})">
|
||||
<summary>
|
||||
Binds to a new async result if the current option has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TNew">The new result type.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="binder">The async function to bind to on Some.</param>
|
||||
<returns>A task containing the result of the binder function if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or binder is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.MatchAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{``1}},System.Func{System.Threading.Tasks.Task{``1}})">
|
||||
<summary>
|
||||
Matches the option asynchronously and returns a value based on whether it has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TResult">The type of the result.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="onSome">The async function to execute on Some.</param>
|
||||
<param name="onNone">The async function to execute on None.</param>
|
||||
<returns>A task containing the result of the appropriate function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option, onSome, or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.WhereAsync``1(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{System.Boolean}})">
|
||||
<summary>
|
||||
Filters the option asynchronously based on the specified predicate.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="predicate">The async predicate to filter with.</param>
|
||||
<returns>A task containing the current option if Some and the predicate is met, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or predicate is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.OrElseAsync``1(StevanFreeborn.Options.Option{``0},System.Func{System.Threading.Tasks.Task{StevanFreeborn.Options.Option{``0}}})">
|
||||
<summary>
|
||||
Returns the current option if Some, otherwise the result of the specified async factory function.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="factory">The async factory function to provide the fallback option.</param>
|
||||
<returns>A task containing the current option if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or factory is null.</exception>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")]
|
||||
@@ -0,0 +1,28 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyMetadata("IsTrimmable", "True")]
|
||||
[assembly: System.Reflection.AssemblyMetadata("IsAotCompatible", "True")]
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StevanFreeborn")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyDescriptionAttribute(("A minimalistic, AOT-compatible Option type library for functional programming in " +
|
||||
".NET."))]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StevanFreeborn.Options")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StevanFreeborn.Options")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://gitea.freeborn.cloud/Stevan/stevanfreeborn.options")]
|
||||
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("StevanFreeborn.Options.Tests")]
|
||||
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
c6fc8ac2ac149f1a7cb4f1fe2d65ab001f9b34ee7a60f175f55b4cca8fa05136
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
is_global = true
|
||||
build_property.EnableAotAnalyzer = true
|
||||
build_property.EnableSingleFileAnalyzer = true
|
||||
build_property.EnableTrimAnalyzer = true
|
||||
build_property.IncludeAllContentForSelfExtract =
|
||||
build_property.VerifyReferenceTrimCompatibility =
|
||||
build_property.VerifyReferenceAotCompatibility = true
|
||||
build_property.TargetFramework = net10.0
|
||||
build_property.TargetFrameworkIdentifier = .NETCoreApp
|
||||
build_property.TargetFrameworkVersion = v10.0
|
||||
build_property.TargetPlatformMinVersion =
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = StevanFreeborn.Options
|
||||
build_property.ProjectDir = C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.EffectiveAnalysisLevelStyle = 10.0
|
||||
build_property.EnableCodeStyleSeverity =
|
||||
@@ -0,0 +1,8 @@
|
||||
// <auto-generated/>
|
||||
global using System;
|
||||
global using System.Collections.Generic;
|
||||
global using System.IO;
|
||||
global using System.Linq;
|
||||
global using System.Net.Http;
|
||||
global using System.Threading;
|
||||
global using System.Threading.Tasks;
|
||||
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
ebdf8080e5385d95be1bfaaed13f788a1f16d93c26b797822d289e9bba47778d
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\net10.0\StevanFreeborn.Options.GeneratedMSBuildEditorConfig.editorconfig
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\net10.0\StevanFreeborn.Options.AssemblyInfoInputs.cache
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\net10.0\StevanFreeborn.Options.AssemblyInfo.cs
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\net10.0\StevanFreeborn.Options.csproj.CoreCompileInputs.cache
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\net10.0\StevanFreeborn.Options.xml
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\bin\Debug\net10.0\StevanFreeborn.Options.deps.json
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\bin\Debug\net10.0\StevanFreeborn.Options.dll
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\bin\Debug\net10.0\StevanFreeborn.Options.pdb
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\bin\Debug\net10.0\StevanFreeborn.Options.xml
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\net10.0\StevanFreeborn.Options.dll
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\net10.0\refint\StevanFreeborn.Options.dll
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\net10.0\StevanFreeborn.Options.pdb
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\net10.0\ref\StevanFreeborn.Options.dll
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,205 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>StevanFreeborn.Options</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:StevanFreeborn.Options.Option">
|
||||
<summary>
|
||||
Provides factory methods for creating <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.Some``1(``0)">
|
||||
<summary>
|
||||
Creates an option with the specified value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/> with the specified value.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.None``1">
|
||||
<summary>
|
||||
Creates an empty option.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<returns>An empty <see cref="T:StevanFreeborn.Options.Option`1"/>.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.From``1(``0)">
|
||||
<summary>
|
||||
Creates an option from the specified value, returning None if the value is null.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/> with the value if not null, otherwise None.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.FromT``1(``0)">
|
||||
<summary>
|
||||
Converts a value to an <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/>.</returns>
|
||||
</member>
|
||||
<member name="T:StevanFreeborn.Options.Option`1">
|
||||
<summary>
|
||||
Represents an optional value that may or may not be present.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.IsSome">
|
||||
<summary>
|
||||
Gets a value indicating whether the option has a value.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.IsNone">
|
||||
<summary>
|
||||
Gets a value indicating whether the option is empty.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.Value">
|
||||
<summary>
|
||||
Gets the value of the option.
|
||||
</summary>
|
||||
<exception cref="T:System.InvalidOperationException">Thrown when accessing Value on a None option.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.op_Implicit(`0)~StevanFreeborn.Options.Option{`0}">
|
||||
<summary>
|
||||
Implicitly converts a value to an <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Deconstruct(System.Boolean@,`0@)">
|
||||
<summary>
|
||||
Deconstructs the option into its components.
|
||||
</summary>
|
||||
<param name="isSome">Indicates whether the option has a value.</param>
|
||||
<param name="value">The value of the option.</param>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Map``1(System.Func{`0,``0})">
|
||||
<summary>
|
||||
Maps the value to a new type if the option has a value.
|
||||
</summary>
|
||||
<typeparam name="TNew">The new type.</typeparam>
|
||||
<param name="mapper">The function to map the value.</param>
|
||||
<returns>A new <see cref="T:StevanFreeborn.Options.Option`1"/> with the mapped value if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when mapper is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Bind``1(System.Func{`0,StevanFreeborn.Options.Option{``0}})">
|
||||
<summary>
|
||||
Binds to a new option if the current option has a value.
|
||||
</summary>
|
||||
<typeparam name="TNew">The new option type.</typeparam>
|
||||
<param name="binder">The function to bind to on Some.</param>
|
||||
<returns>The result of the binder function if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when binder is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Match``1(System.Func{`0,``0},System.Func{``0})">
|
||||
<summary>
|
||||
Matches the option and returns a value based on whether it has a value.
|
||||
</summary>
|
||||
<typeparam name="TResult">The type of the result.</typeparam>
|
||||
<param name="onSome">The function to execute on Some.</param>
|
||||
<param name="onNone">The function to execute on None.</param>
|
||||
<returns>The result of the appropriate function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when onSome or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Match(System.Action{`0},System.Action)">
|
||||
<summary>
|
||||
Matches the option and executes the appropriate action.
|
||||
</summary>
|
||||
<param name="onSome">The action to execute on Some.</param>
|
||||
<param name="onNone">The action to execute on None.</param>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when onSome or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Where(System.Func{`0,System.Boolean})">
|
||||
<summary>
|
||||
Filters the option based on the specified predicate.
|
||||
</summary>
|
||||
<param name="predicate">The predicate to filter with.</param>
|
||||
<returns>The current option if Some and the predicate is met, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when predicate is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.GetValueOrDefault(`0)">
|
||||
<summary>
|
||||
Gets the value of the option if Some, otherwise the specified default value.
|
||||
</summary>
|
||||
<param name="defaultValue">The default value.</param>
|
||||
<returns>The value if Some, otherwise the default value.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.GetValueOrDefault(System.Func{`0})">
|
||||
<summary>
|
||||
Gets the value of the option if Some, otherwise the result of the specified factory function.
|
||||
</summary>
|
||||
<param name="factory">The factory function to provide the default value.</param>
|
||||
<returns>The value if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when factory is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.OrElse(System.Func{StevanFreeborn.Options.Option{`0}})">
|
||||
<summary>
|
||||
Returns the current option if Some, otherwise the result of the specified factory function.
|
||||
</summary>
|
||||
<param name="factory">The factory function to provide the fallback option.</param>
|
||||
<returns>The current option if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when factory is null.</exception>
|
||||
</member>
|
||||
<member name="T:StevanFreeborn.Options.OptionAsyncExtensions">
|
||||
<summary>
|
||||
Provides async extension methods for <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.MapAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{``1}})">
|
||||
<summary>
|
||||
Maps the value to a new type asynchronously if the option has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TNew">The new type.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="mapper">The async function to map the value.</param>
|
||||
<returns>A task containing a new <see cref="T:StevanFreeborn.Options.Option`1"/> with the mapped value if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or mapper is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.BindAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{StevanFreeborn.Options.Option{``1}}})">
|
||||
<summary>
|
||||
Binds to a new async result if the current option has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TNew">The new result type.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="binder">The async function to bind to on Some.</param>
|
||||
<returns>A task containing the result of the binder function if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or binder is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.MatchAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{``1}},System.Func{System.Threading.Tasks.Task{``1}})">
|
||||
<summary>
|
||||
Matches the option asynchronously and returns a value based on whether it has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TResult">The type of the result.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="onSome">The async function to execute on Some.</param>
|
||||
<param name="onNone">The async function to execute on None.</param>
|
||||
<returns>A task containing the result of the appropriate function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option, onSome, or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.WhereAsync``1(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{System.Boolean}})">
|
||||
<summary>
|
||||
Filters the option asynchronously based on the specified predicate.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="predicate">The async predicate to filter with.</param>
|
||||
<returns>A task containing the current option if Some and the predicate is met, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or predicate is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.OrElseAsync``1(StevanFreeborn.Options.Option{``0},System.Func{System.Threading.Tasks.Task{StevanFreeborn.Options.Option{``0}}})">
|
||||
<summary>
|
||||
Returns the current option if Some, otherwise the result of the specified async factory function.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="factory">The async factory function to provide the fallback option.</param>
|
||||
<returns>A task containing the current option if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or factory is null.</exception>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Binary file not shown.
Binary file not shown.
+4
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("StevanFreeborn")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyDescriptionAttribute(("A minimalistic, AOT-compatible Option type library for functional programming in " +
|
||||
".NET."))]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("0.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("StevanFreeborn.Options")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("StevanFreeborn.Options")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("0.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://gitea.freeborn.cloud/Stevan/stevanfreeborn.options")]
|
||||
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("StevanFreeborn.Options.Tests")]
|
||||
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
227845e6f5a5a5a2185672ef274e4035ca9355bc7fb2552e1d3fe1a888bd2d50
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
is_global = true
|
||||
build_property.TargetFramework = netstandard2.1
|
||||
build_property.TargetFrameworkIdentifier = .NETStandard
|
||||
build_property.TargetFrameworkVersion = v2.1
|
||||
build_property.TargetPlatformMinVersion = 7.0
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = StevanFreeborn.Options
|
||||
build_property.ProjectDir = C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.CsWinRTUseWindowsUIXamlProjections = false
|
||||
build_property.EffectiveAnalysisLevelStyle = 10.0
|
||||
build_property.EnableCodeStyleSeverity =
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
// <auto-generated/>
|
||||
global using System;
|
||||
global using System.Collections.Generic;
|
||||
global using System.IO;
|
||||
global using System.Linq;
|
||||
global using System.Net.Http;
|
||||
global using System.Threading;
|
||||
global using System.Threading.Tasks;
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
62ac793ace9ab30407364550ba8e3580470e39b4228eda9825ad061a3836bdc9
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\netstandard2.1\StevanFreeborn.Options.GeneratedMSBuildEditorConfig.editorconfig
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\netstandard2.1\StevanFreeborn.Options.AssemblyInfoInputs.cache
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\netstandard2.1\StevanFreeborn.Options.AssemblyInfo.cs
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\netstandard2.1\StevanFreeborn.Options.csproj.CoreCompileInputs.cache
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\netstandard2.1\StevanFreeborn.Options.xml
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\bin\Debug\netstandard2.1\StevanFreeborn.Options.deps.json
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\bin\Debug\netstandard2.1\StevanFreeborn.Options.dll
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\bin\Debug\netstandard2.1\StevanFreeborn.Options.pdb
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\bin\Debug\netstandard2.1\StevanFreeborn.Options.xml
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\netstandard2.1\StevanFreeborn.Options.dll
|
||||
C:\Users\sfree\Repositories\stevanfreeborn.options\src\StevanFreeborn.Options\obj\Debug\netstandard2.1\StevanFreeborn.Options.pdb
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,205 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>StevanFreeborn.Options</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:StevanFreeborn.Options.Option">
|
||||
<summary>
|
||||
Provides factory methods for creating <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.Some``1(``0)">
|
||||
<summary>
|
||||
Creates an option with the specified value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/> with the specified value.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.None``1">
|
||||
<summary>
|
||||
Creates an empty option.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<returns>An empty <see cref="T:StevanFreeborn.Options.Option`1"/>.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.From``1(``0)">
|
||||
<summary>
|
||||
Creates an option from the specified value, returning None if the value is null.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/> with the value if not null, otherwise None.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.FromT``1(``0)">
|
||||
<summary>
|
||||
Converts a value to an <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/>.</returns>
|
||||
</member>
|
||||
<member name="T:StevanFreeborn.Options.Option`1">
|
||||
<summary>
|
||||
Represents an optional value that may or may not be present.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.IsSome">
|
||||
<summary>
|
||||
Gets a value indicating whether the option has a value.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.IsNone">
|
||||
<summary>
|
||||
Gets a value indicating whether the option is empty.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.Value">
|
||||
<summary>
|
||||
Gets the value of the option.
|
||||
</summary>
|
||||
<exception cref="T:System.InvalidOperationException">Thrown when accessing Value on a None option.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.op_Implicit(`0)~StevanFreeborn.Options.Option{`0}">
|
||||
<summary>
|
||||
Implicitly converts a value to an <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Deconstruct(System.Boolean@,`0@)">
|
||||
<summary>
|
||||
Deconstructs the option into its components.
|
||||
</summary>
|
||||
<param name="isSome">Indicates whether the option has a value.</param>
|
||||
<param name="value">The value of the option.</param>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Map``1(System.Func{`0,``0})">
|
||||
<summary>
|
||||
Maps the value to a new type if the option has a value.
|
||||
</summary>
|
||||
<typeparam name="TNew">The new type.</typeparam>
|
||||
<param name="mapper">The function to map the value.</param>
|
||||
<returns>A new <see cref="T:StevanFreeborn.Options.Option`1"/> with the mapped value if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when mapper is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Bind``1(System.Func{`0,StevanFreeborn.Options.Option{``0}})">
|
||||
<summary>
|
||||
Binds to a new option if the current option has a value.
|
||||
</summary>
|
||||
<typeparam name="TNew">The new option type.</typeparam>
|
||||
<param name="binder">The function to bind to on Some.</param>
|
||||
<returns>The result of the binder function if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when binder is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Match``1(System.Func{`0,``0},System.Func{``0})">
|
||||
<summary>
|
||||
Matches the option and returns a value based on whether it has a value.
|
||||
</summary>
|
||||
<typeparam name="TResult">The type of the result.</typeparam>
|
||||
<param name="onSome">The function to execute on Some.</param>
|
||||
<param name="onNone">The function to execute on None.</param>
|
||||
<returns>The result of the appropriate function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when onSome or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Match(System.Action{`0},System.Action)">
|
||||
<summary>
|
||||
Matches the option and executes the appropriate action.
|
||||
</summary>
|
||||
<param name="onSome">The action to execute on Some.</param>
|
||||
<param name="onNone">The action to execute on None.</param>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when onSome or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Where(System.Func{`0,System.Boolean})">
|
||||
<summary>
|
||||
Filters the option based on the specified predicate.
|
||||
</summary>
|
||||
<param name="predicate">The predicate to filter with.</param>
|
||||
<returns>The current option if Some and the predicate is met, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when predicate is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.GetValueOrDefault(`0)">
|
||||
<summary>
|
||||
Gets the value of the option if Some, otherwise the specified default value.
|
||||
</summary>
|
||||
<param name="defaultValue">The default value.</param>
|
||||
<returns>The value if Some, otherwise the default value.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.GetValueOrDefault(System.Func{`0})">
|
||||
<summary>
|
||||
Gets the value of the option if Some, otherwise the result of the specified factory function.
|
||||
</summary>
|
||||
<param name="factory">The factory function to provide the default value.</param>
|
||||
<returns>The value if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when factory is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.OrElse(System.Func{StevanFreeborn.Options.Option{`0}})">
|
||||
<summary>
|
||||
Returns the current option if Some, otherwise the result of the specified factory function.
|
||||
</summary>
|
||||
<param name="factory">The factory function to provide the fallback option.</param>
|
||||
<returns>The current option if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when factory is null.</exception>
|
||||
</member>
|
||||
<member name="T:StevanFreeborn.Options.OptionAsyncExtensions">
|
||||
<summary>
|
||||
Provides async extension methods for <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.MapAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{``1}})">
|
||||
<summary>
|
||||
Maps the value to a new type asynchronously if the option has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TNew">The new type.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="mapper">The async function to map the value.</param>
|
||||
<returns>A task containing a new <see cref="T:StevanFreeborn.Options.Option`1"/> with the mapped value if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or mapper is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.BindAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{StevanFreeborn.Options.Option{``1}}})">
|
||||
<summary>
|
||||
Binds to a new async result if the current option has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TNew">The new result type.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="binder">The async function to bind to on Some.</param>
|
||||
<returns>A task containing the result of the binder function if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or binder is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.MatchAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{``1}},System.Func{System.Threading.Tasks.Task{``1}})">
|
||||
<summary>
|
||||
Matches the option asynchronously and returns a value based on whether it has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TResult">The type of the result.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="onSome">The async function to execute on Some.</param>
|
||||
<param name="onNone">The async function to execute on None.</param>
|
||||
<returns>A task containing the result of the appropriate function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option, onSome, or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.WhereAsync``1(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{System.Boolean}})">
|
||||
<summary>
|
||||
Filters the option asynchronously based on the specified predicate.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="predicate">The async predicate to filter with.</param>
|
||||
<returns>A task containing the current option if Some and the predicate is met, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or predicate is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.OrElseAsync``1(StevanFreeborn.Options.Option{``0},System.Func{System.Threading.Tasks.Task{StevanFreeborn.Options.Option{``0}}})">
|
||||
<summary>
|
||||
Returns the current option if Some, otherwise the result of the specified async factory function.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="factory">The async factory function to provide the fallback option.</param>
|
||||
<returns>A task containing the current option if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or factory is null.</exception>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
@@ -0,0 +1,511 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"C:\\Users\\sfree\\Repositories\\stevanfreeborn.options\\src\\StevanFreeborn.Options\\StevanFreeborn.Options.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"C:\\Users\\sfree\\Repositories\\stevanfreeborn.options\\src\\StevanFreeborn.Options\\StevanFreeborn.Options.csproj": {
|
||||
"version": "0.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\Users\\sfree\\Repositories\\stevanfreeborn.options\\src\\StevanFreeborn.Options\\StevanFreeborn.Options.csproj",
|
||||
"projectName": "StevanFreeborn.Options",
|
||||
"projectPath": "C:\\Users\\sfree\\Repositories\\stevanfreeborn.options\\src\\StevanFreeborn.Options\\StevanFreeborn.Options.csproj",
|
||||
"packagesPath": "C:\\Users\\sfree\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\Users\\sfree\\Repositories\\stevanfreeborn.options\\src\\StevanFreeborn.Options\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"crossTargeting": true,
|
||||
"centralPackageVersionsManagementEnabled": true,
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\sfree\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net10.0",
|
||||
"netstandard2.1"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"C:\\Program Files\\dotnet\\library-packs": {},
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net10.0": {
|
||||
"targetAlias": "net10.0",
|
||||
"projectReferences": {}
|
||||
},
|
||||
"netstandard2.1": {
|
||||
"targetAlias": "netstandard2.1",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"allWarningsAsErrors": true,
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "all"
|
||||
},
|
||||
"SdkAnalysisLevel": "10.0.200"
|
||||
},
|
||||
"frameworks": {
|
||||
"net10.0": {
|
||||
"targetAlias": "net10.0",
|
||||
"dependencies": {
|
||||
"Microsoft.NET.ILLink.Tasks": {
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[10.0.5, )",
|
||||
"autoReferenced": true
|
||||
},
|
||||
"Microsoft.SourceLink.Gitea": {
|
||||
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[10.0.201, )",
|
||||
"versionCentrallyManaged": true
|
||||
}
|
||||
},
|
||||
"centralPackageVersions": {
|
||||
"Microsoft.SourceLink.Gitea": "10.0.201"
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.201/PortableRuntimeIdentifierGraph.json",
|
||||
"packagesToPrune": {
|
||||
"Microsoft.CSharp": "(,4.7.32767]",
|
||||
"Microsoft.VisualBasic": "(,10.4.32767]",
|
||||
"Microsoft.Win32.Primitives": "(,4.3.32767]",
|
||||
"Microsoft.Win32.Registry": "(,5.0.32767]",
|
||||
"runtime.any.System.Collections": "(,4.3.32767]",
|
||||
"runtime.any.System.Diagnostics.Tools": "(,4.3.32767]",
|
||||
"runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]",
|
||||
"runtime.any.System.Globalization": "(,4.3.32767]",
|
||||
"runtime.any.System.Globalization.Calendars": "(,4.3.32767]",
|
||||
"runtime.any.System.IO": "(,4.3.32767]",
|
||||
"runtime.any.System.Reflection": "(,4.3.32767]",
|
||||
"runtime.any.System.Reflection.Extensions": "(,4.3.32767]",
|
||||
"runtime.any.System.Reflection.Primitives": "(,4.3.32767]",
|
||||
"runtime.any.System.Resources.ResourceManager": "(,4.3.32767]",
|
||||
"runtime.any.System.Runtime": "(,4.3.32767]",
|
||||
"runtime.any.System.Runtime.Handles": "(,4.3.32767]",
|
||||
"runtime.any.System.Runtime.InteropServices": "(,4.3.32767]",
|
||||
"runtime.any.System.Text.Encoding": "(,4.3.32767]",
|
||||
"runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]",
|
||||
"runtime.any.System.Threading.Tasks": "(,4.3.32767]",
|
||||
"runtime.any.System.Threading.Timer": "(,4.3.32767]",
|
||||
"runtime.aot.System.Collections": "(,4.3.32767]",
|
||||
"runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]",
|
||||
"runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]",
|
||||
"runtime.aot.System.Globalization": "(,4.3.32767]",
|
||||
"runtime.aot.System.Globalization.Calendars": "(,4.3.32767]",
|
||||
"runtime.aot.System.IO": "(,4.3.32767]",
|
||||
"runtime.aot.System.Reflection": "(,4.3.32767]",
|
||||
"runtime.aot.System.Reflection.Extensions": "(,4.3.32767]",
|
||||
"runtime.aot.System.Reflection.Primitives": "(,4.3.32767]",
|
||||
"runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]",
|
||||
"runtime.aot.System.Runtime": "(,4.3.32767]",
|
||||
"runtime.aot.System.Runtime.Handles": "(,4.3.32767]",
|
||||
"runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]",
|
||||
"runtime.aot.System.Text.Encoding": "(,4.3.32767]",
|
||||
"runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]",
|
||||
"runtime.aot.System.Threading.Tasks": "(,4.3.32767]",
|
||||
"runtime.aot.System.Threading.Timer": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]",
|
||||
"runtime.unix.System.Console": "(,4.3.32767]",
|
||||
"runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]",
|
||||
"runtime.unix.System.IO.FileSystem": "(,4.3.32767]",
|
||||
"runtime.unix.System.Net.Primitives": "(,4.3.32767]",
|
||||
"runtime.unix.System.Net.Sockets": "(,4.3.32767]",
|
||||
"runtime.unix.System.Private.Uri": "(,4.3.32767]",
|
||||
"runtime.unix.System.Runtime.Extensions": "(,4.3.32767]",
|
||||
"runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]",
|
||||
"runtime.win.System.Console": "(,4.3.32767]",
|
||||
"runtime.win.System.Diagnostics.Debug": "(,4.3.32767]",
|
||||
"runtime.win.System.IO.FileSystem": "(,4.3.32767]",
|
||||
"runtime.win.System.Net.Primitives": "(,4.3.32767]",
|
||||
"runtime.win.System.Net.Sockets": "(,4.3.32767]",
|
||||
"runtime.win.System.Runtime.Extensions": "(,4.3.32767]",
|
||||
"runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
|
||||
"runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
|
||||
"runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
|
||||
"runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.win7.System.Private.Uri": "(,4.3.32767]",
|
||||
"runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"System.AppContext": "(,4.3.32767]",
|
||||
"System.Buffers": "(,5.0.32767]",
|
||||
"System.Collections": "(,4.3.32767]",
|
||||
"System.Collections.Concurrent": "(,4.3.32767]",
|
||||
"System.Collections.Immutable": "(,10.0.32767]",
|
||||
"System.Collections.NonGeneric": "(,4.3.32767]",
|
||||
"System.Collections.Specialized": "(,4.3.32767]",
|
||||
"System.ComponentModel": "(,4.3.32767]",
|
||||
"System.ComponentModel.Annotations": "(,4.3.32767]",
|
||||
"System.ComponentModel.EventBasedAsync": "(,4.3.32767]",
|
||||
"System.ComponentModel.Primitives": "(,4.3.32767]",
|
||||
"System.ComponentModel.TypeConverter": "(,4.3.32767]",
|
||||
"System.Console": "(,4.3.32767]",
|
||||
"System.Data.Common": "(,4.3.32767]",
|
||||
"System.Data.DataSetExtensions": "(,4.4.32767]",
|
||||
"System.Diagnostics.Contracts": "(,4.3.32767]",
|
||||
"System.Diagnostics.Debug": "(,4.3.32767]",
|
||||
"System.Diagnostics.DiagnosticSource": "(,10.0.32767]",
|
||||
"System.Diagnostics.FileVersionInfo": "(,4.3.32767]",
|
||||
"System.Diagnostics.Process": "(,4.3.32767]",
|
||||
"System.Diagnostics.StackTrace": "(,4.3.32767]",
|
||||
"System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]",
|
||||
"System.Diagnostics.Tools": "(,4.3.32767]",
|
||||
"System.Diagnostics.TraceSource": "(,4.3.32767]",
|
||||
"System.Diagnostics.Tracing": "(,4.3.32767]",
|
||||
"System.Drawing.Primitives": "(,4.3.32767]",
|
||||
"System.Dynamic.Runtime": "(,4.3.32767]",
|
||||
"System.Formats.Asn1": "(,10.0.32767]",
|
||||
"System.Formats.Tar": "(,10.0.32767]",
|
||||
"System.Globalization": "(,4.3.32767]",
|
||||
"System.Globalization.Calendars": "(,4.3.32767]",
|
||||
"System.Globalization.Extensions": "(,4.3.32767]",
|
||||
"System.IO": "(,4.3.32767]",
|
||||
"System.IO.Compression": "(,4.3.32767]",
|
||||
"System.IO.Compression.ZipFile": "(,4.3.32767]",
|
||||
"System.IO.FileSystem": "(,4.3.32767]",
|
||||
"System.IO.FileSystem.AccessControl": "(,4.4.32767]",
|
||||
"System.IO.FileSystem.DriveInfo": "(,4.3.32767]",
|
||||
"System.IO.FileSystem.Primitives": "(,4.3.32767]",
|
||||
"System.IO.FileSystem.Watcher": "(,4.3.32767]",
|
||||
"System.IO.IsolatedStorage": "(,4.3.32767]",
|
||||
"System.IO.MemoryMappedFiles": "(,4.3.32767]",
|
||||
"System.IO.Pipelines": "(,10.0.32767]",
|
||||
"System.IO.Pipes": "(,4.3.32767]",
|
||||
"System.IO.Pipes.AccessControl": "(,5.0.32767]",
|
||||
"System.IO.UnmanagedMemoryStream": "(,4.3.32767]",
|
||||
"System.Linq": "(,4.3.32767]",
|
||||
"System.Linq.AsyncEnumerable": "(,10.0.32767]",
|
||||
"System.Linq.Expressions": "(,4.3.32767]",
|
||||
"System.Linq.Parallel": "(,4.3.32767]",
|
||||
"System.Linq.Queryable": "(,4.3.32767]",
|
||||
"System.Memory": "(,5.0.32767]",
|
||||
"System.Net.Http": "(,4.3.32767]",
|
||||
"System.Net.Http.Json": "(,10.0.32767]",
|
||||
"System.Net.NameResolution": "(,4.3.32767]",
|
||||
"System.Net.NetworkInformation": "(,4.3.32767]",
|
||||
"System.Net.Ping": "(,4.3.32767]",
|
||||
"System.Net.Primitives": "(,4.3.32767]",
|
||||
"System.Net.Requests": "(,4.3.32767]",
|
||||
"System.Net.Security": "(,4.3.32767]",
|
||||
"System.Net.ServerSentEvents": "(,10.0.32767]",
|
||||
"System.Net.Sockets": "(,4.3.32767]",
|
||||
"System.Net.WebHeaderCollection": "(,4.3.32767]",
|
||||
"System.Net.WebSockets": "(,4.3.32767]",
|
||||
"System.Net.WebSockets.Client": "(,4.3.32767]",
|
||||
"System.Numerics.Vectors": "(,5.0.32767]",
|
||||
"System.ObjectModel": "(,4.3.32767]",
|
||||
"System.Private.DataContractSerialization": "(,4.3.32767]",
|
||||
"System.Private.Uri": "(,4.3.32767]",
|
||||
"System.Reflection": "(,4.3.32767]",
|
||||
"System.Reflection.DispatchProxy": "(,6.0.32767]",
|
||||
"System.Reflection.Emit": "(,4.7.32767]",
|
||||
"System.Reflection.Emit.ILGeneration": "(,4.7.32767]",
|
||||
"System.Reflection.Emit.Lightweight": "(,4.7.32767]",
|
||||
"System.Reflection.Extensions": "(,4.3.32767]",
|
||||
"System.Reflection.Metadata": "(,10.0.32767]",
|
||||
"System.Reflection.Primitives": "(,4.3.32767]",
|
||||
"System.Reflection.TypeExtensions": "(,4.3.32767]",
|
||||
"System.Resources.Reader": "(,4.3.32767]",
|
||||
"System.Resources.ResourceManager": "(,4.3.32767]",
|
||||
"System.Resources.Writer": "(,4.3.32767]",
|
||||
"System.Runtime": "(,4.3.32767]",
|
||||
"System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]",
|
||||
"System.Runtime.CompilerServices.VisualC": "(,4.3.32767]",
|
||||
"System.Runtime.Extensions": "(,4.3.32767]",
|
||||
"System.Runtime.Handles": "(,4.3.32767]",
|
||||
"System.Runtime.InteropServices": "(,4.3.32767]",
|
||||
"System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]",
|
||||
"System.Runtime.Loader": "(,4.3.32767]",
|
||||
"System.Runtime.Numerics": "(,4.3.32767]",
|
||||
"System.Runtime.Serialization.Formatters": "(,4.3.32767]",
|
||||
"System.Runtime.Serialization.Json": "(,4.3.32767]",
|
||||
"System.Runtime.Serialization.Primitives": "(,4.3.32767]",
|
||||
"System.Runtime.Serialization.Xml": "(,4.3.32767]",
|
||||
"System.Security.AccessControl": "(,6.0.32767]",
|
||||
"System.Security.Claims": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.Algorithms": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.Cng": "(,5.0.32767]",
|
||||
"System.Security.Cryptography.Csp": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.Encoding": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.OpenSsl": "(,5.0.32767]",
|
||||
"System.Security.Cryptography.Primitives": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.X509Certificates": "(,4.3.32767]",
|
||||
"System.Security.Principal": "(,4.3.32767]",
|
||||
"System.Security.Principal.Windows": "(,5.0.32767]",
|
||||
"System.Security.SecureString": "(,4.3.32767]",
|
||||
"System.Text.Encoding": "(,4.3.32767]",
|
||||
"System.Text.Encoding.CodePages": "(,10.0.32767]",
|
||||
"System.Text.Encoding.Extensions": "(,4.3.32767]",
|
||||
"System.Text.Encodings.Web": "(,10.0.32767]",
|
||||
"System.Text.Json": "(,10.0.32767]",
|
||||
"System.Text.RegularExpressions": "(,4.3.32767]",
|
||||
"System.Threading": "(,4.3.32767]",
|
||||
"System.Threading.AccessControl": "(,10.0.32767]",
|
||||
"System.Threading.Channels": "(,10.0.32767]",
|
||||
"System.Threading.Overlapped": "(,4.3.32767]",
|
||||
"System.Threading.Tasks": "(,4.3.32767]",
|
||||
"System.Threading.Tasks.Dataflow": "(,10.0.32767]",
|
||||
"System.Threading.Tasks.Extensions": "(,5.0.32767]",
|
||||
"System.Threading.Tasks.Parallel": "(,4.3.32767]",
|
||||
"System.Threading.Thread": "(,4.3.32767]",
|
||||
"System.Threading.ThreadPool": "(,4.3.32767]",
|
||||
"System.Threading.Timer": "(,4.3.32767]",
|
||||
"System.ValueTuple": "(,4.5.32767]",
|
||||
"System.Xml.ReaderWriter": "(,4.3.32767]",
|
||||
"System.Xml.XDocument": "(,4.3.32767]",
|
||||
"System.Xml.XmlDocument": "(,4.3.32767]",
|
||||
"System.Xml.XmlSerializer": "(,4.3.32767]",
|
||||
"System.Xml.XPath": "(,4.3.32767]",
|
||||
"System.Xml.XPath.XDocument": "(,5.0.32767]"
|
||||
}
|
||||
},
|
||||
"netstandard2.1": {
|
||||
"targetAlias": "netstandard2.1",
|
||||
"dependencies": {
|
||||
"Microsoft.SourceLink.Gitea": {
|
||||
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[10.0.201, )",
|
||||
"versionCentrallyManaged": true
|
||||
}
|
||||
},
|
||||
"centralPackageVersions": {
|
||||
"Microsoft.SourceLink.Gitea": "10.0.201"
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"NETStandard.Library": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.201\\RuntimeIdentifierGraph.json",
|
||||
"packagesToPrune": {
|
||||
"Microsoft.Win32.Primitives": "(,4.3.0]",
|
||||
"System.AppContext": "(,4.3.0]",
|
||||
"System.Buffers": "(,4.6.1]",
|
||||
"System.Collections": "(,4.3.0]",
|
||||
"System.Collections.Concurrent": "(,4.3.0]",
|
||||
"System.Collections.NonGeneric": "(,4.3.0]",
|
||||
"System.Collections.Specialized": "(,4.3.0]",
|
||||
"System.ComponentModel": "(,4.3.0]",
|
||||
"System.ComponentModel.EventBasedAsync": "(,4.3.0]",
|
||||
"System.ComponentModel.Primitives": "(,4.3.0]",
|
||||
"System.ComponentModel.TypeConverter": "(,4.3.0]",
|
||||
"System.Console": "(,4.3.1]",
|
||||
"System.Data.Common": "(,4.3.0]",
|
||||
"System.Diagnostics.Contracts": "(,4.3.0]",
|
||||
"System.Diagnostics.Debug": "(,4.3.0]",
|
||||
"System.Diagnostics.FileVersionInfo": "(,4.3.0]",
|
||||
"System.Diagnostics.Process": "(,4.3.0]",
|
||||
"System.Diagnostics.StackTrace": "(,4.3.0]",
|
||||
"System.Diagnostics.TextWriterTraceListener": "(,4.3.0]",
|
||||
"System.Diagnostics.Tools": "(,4.3.0]",
|
||||
"System.Diagnostics.TraceSource": "(,4.3.0]",
|
||||
"System.Diagnostics.Tracing": "(,4.3.0]",
|
||||
"System.Drawing.Primitives": "(,4.3.0]",
|
||||
"System.Dynamic.Runtime": "(,4.3.0]",
|
||||
"System.Globalization": "(,4.3.0]",
|
||||
"System.Globalization.Calendars": "(,4.3.0]",
|
||||
"System.Globalization.Extensions": "(,4.3.0]",
|
||||
"System.IO": "(,4.3.0]",
|
||||
"System.IO.Compression": "(,4.3.0]",
|
||||
"System.IO.Compression.ZipFile": "(,4.3.0]",
|
||||
"System.IO.FileSystem": "(,4.3.0]",
|
||||
"System.IO.FileSystem.DriveInfo": "(,4.3.1]",
|
||||
"System.IO.FileSystem.Primitives": "(,4.3.0]",
|
||||
"System.IO.FileSystem.Watcher": "(,4.3.0]",
|
||||
"System.IO.IsolatedStorage": "(,4.3.0]",
|
||||
"System.IO.MemoryMappedFiles": "(,4.3.0]",
|
||||
"System.IO.Pipes": "(,4.3.0]",
|
||||
"System.IO.UnmanagedMemoryStream": "(,4.3.0]",
|
||||
"System.Linq": "(,4.3.0]",
|
||||
"System.Linq.Expressions": "(,4.3.0]",
|
||||
"System.Linq.Parallel": "(,4.3.0]",
|
||||
"System.Linq.Queryable": "(,4.3.0]",
|
||||
"System.Memory": "(,4.6.3]",
|
||||
"System.Net.Http": "(,4.3.4]",
|
||||
"System.Net.NameResolution": "(,4.3.0]",
|
||||
"System.Net.NetworkInformation": "(,4.3.0]",
|
||||
"System.Net.Ping": "(,4.3.0]",
|
||||
"System.Net.Primitives": "(,4.3.1]",
|
||||
"System.Net.Requests": "(,4.3.0]",
|
||||
"System.Net.Security": "(,4.3.2]",
|
||||
"System.Net.Sockets": "(,4.3.0]",
|
||||
"System.Net.WebHeaderCollection": "(,4.3.0]",
|
||||
"System.Net.WebSockets": "(,4.3.0]",
|
||||
"System.Net.WebSockets.Client": "(,4.3.2]",
|
||||
"System.Numerics.Vectors": "(,4.6.1]",
|
||||
"System.ObjectModel": "(,4.3.0]",
|
||||
"System.Reflection": "(,4.3.0]",
|
||||
"System.Reflection.DispatchProxy": "(,4.5.1]",
|
||||
"System.Reflection.Emit": "(,4.7.0]",
|
||||
"System.Reflection.Emit.ILGeneration": "(,4.7.0]",
|
||||
"System.Reflection.Emit.Lightweight": "(,4.7.0]",
|
||||
"System.Reflection.Extensions": "(,4.3.0]",
|
||||
"System.Reflection.Primitives": "(,4.3.0]",
|
||||
"System.Resources.Reader": "(,4.3.0]",
|
||||
"System.Resources.ResourceManager": "(,4.3.0]",
|
||||
"System.Resources.Writer": "(,4.3.0]",
|
||||
"System.Runtime": "(,4.3.1]",
|
||||
"System.Runtime.CompilerServices.VisualC": "(,4.3.0]",
|
||||
"System.Runtime.Extensions": "(,4.3.1]",
|
||||
"System.Runtime.Handles": "(,4.3.0]",
|
||||
"System.Runtime.InteropServices": "(,4.3.0]",
|
||||
"System.Runtime.InteropServices.RuntimeInformation": "(,4.3.0]",
|
||||
"System.Runtime.Numerics": "(,4.3.0]",
|
||||
"System.Runtime.Serialization.Formatters": "(,4.3.0]",
|
||||
"System.Runtime.Serialization.Json": "(,4.3.0]",
|
||||
"System.Runtime.Serialization.Primitives": "(,4.3.0]",
|
||||
"System.Runtime.Serialization.Xml": "(,4.3.0]",
|
||||
"System.Security.Claims": "(,4.3.0]",
|
||||
"System.Security.Cryptography.Algorithms": "(,4.3.1]",
|
||||
"System.Security.Cryptography.Csp": "(,4.3.0]",
|
||||
"System.Security.Cryptography.Encoding": "(,4.3.0]",
|
||||
"System.Security.Cryptography.Primitives": "(,4.3.0]",
|
||||
"System.Security.Cryptography.X509Certificates": "(,4.3.2]",
|
||||
"System.Security.Principal": "(,4.3.0]",
|
||||
"System.Security.SecureString": "(,4.3.0]",
|
||||
"System.Text.Encoding": "(,4.3.0]",
|
||||
"System.Text.Encoding.Extensions": "(,4.3.0]",
|
||||
"System.Text.RegularExpressions": "(,4.3.0]",
|
||||
"System.Threading": "(,4.3.0]",
|
||||
"System.Threading.Overlapped": "(,4.3.0]",
|
||||
"System.Threading.Tasks": "(,4.3.0]",
|
||||
"System.Threading.Tasks.Extensions": "(,4.6.3]",
|
||||
"System.Threading.Tasks.Parallel": "(,4.3.0]",
|
||||
"System.Threading.Thread": "(,4.3.0]",
|
||||
"System.Threading.ThreadPool": "(,4.3.0]",
|
||||
"System.Threading.Timer": "(,4.3.0]",
|
||||
"System.ValueTuple": "(,4.6.1]",
|
||||
"System.Xml.ReaderWriter": "(,4.3.1]",
|
||||
"System.Xml.XDocument": "(,4.3.0]",
|
||||
"System.Xml.XmlDocument": "(,4.3.0]",
|
||||
"System.Xml.XmlSerializer": "(,4.3.0]",
|
||||
"System.Xml.XPath": "(,4.3.0]",
|
||||
"System.Xml.XPath.XDocument": "(,4.3.0]"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\sfree\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">7.0.0</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\sfree\.nuget\packages\" />
|
||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||
</ItemGroup>
|
||||
<ImportGroup Condition=" '$(TargetFramework)' == '' AND '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.sourcelink.common\10.0.201\buildMultiTargeting\Microsoft.SourceLink.Common.props" Condition="Exists('$(NuGetPackageRoot)microsoft.sourcelink.common\10.0.201\buildMultiTargeting\Microsoft.SourceLink.Common.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.build.tasks.git\10.0.201\buildMultiTargeting\Microsoft.Build.Tasks.Git.props" Condition="Exists('$(NuGetPackageRoot)microsoft.build.tasks.git\10.0.201\buildMultiTargeting\Microsoft.Build.Tasks.Git.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition=" '$(TargetFramework)' == 'net10.0' AND '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.sourcelink.common\10.0.201\buildTransitive\Microsoft.SourceLink.Common.props" Condition="Exists('$(NuGetPackageRoot)microsoft.sourcelink.common\10.0.201\buildTransitive\Microsoft.SourceLink.Common.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.build.tasks.git\10.0.201\buildTransitive\Microsoft.Build.Tasks.Git.props" Condition="Exists('$(NuGetPackageRoot)microsoft.build.tasks.git\10.0.201\buildTransitive\Microsoft.Build.Tasks.Git.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.net.illink.tasks\10.0.5\build\Microsoft.NET.ILLink.Tasks.props" Condition="Exists('$(NuGetPackageRoot)microsoft.net.illink.tasks\10.0.5\build\Microsoft.NET.ILLink.Tasks.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition=" '$(TargetFramework)' == 'netstandard2.1' AND '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.sourcelink.common\10.0.201\buildTransitive\Microsoft.SourceLink.Common.props" Condition="Exists('$(NuGetPackageRoot)microsoft.sourcelink.common\10.0.201\buildTransitive\Microsoft.SourceLink.Common.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.build.tasks.git\10.0.201\buildTransitive\Microsoft.Build.Tasks.Git.props" Condition="Exists('$(NuGetPackageRoot)microsoft.build.tasks.git\10.0.201\buildTransitive\Microsoft.Build.Tasks.Git.props')" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition=" '$(TargetFramework)' == 'net10.0' AND '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<PkgMicrosoft_SourceLink_Common Condition=" '$(PkgMicrosoft_SourceLink_Common)' == '' ">C:\Users\sfree\.nuget\packages\microsoft.sourcelink.common\10.0.201</PkgMicrosoft_SourceLink_Common>
|
||||
<PkgMicrosoft_Build_Tasks_Git Condition=" '$(PkgMicrosoft_Build_Tasks_Git)' == '' ">C:\Users\sfree\.nuget\packages\microsoft.build.tasks.git\10.0.201</PkgMicrosoft_Build_Tasks_Git>
|
||||
<PkgMicrosoft_SourceLink_Gitea Condition=" '$(PkgMicrosoft_SourceLink_Gitea)' == '' ">C:\Users\sfree\.nuget\packages\microsoft.sourcelink.gitea\10.0.201</PkgMicrosoft_SourceLink_Gitea>
|
||||
<PkgMicrosoft_NET_ILLink_Tasks Condition=" '$(PkgMicrosoft_NET_ILLink_Tasks)' == '' ">C:\Users\sfree\.nuget\packages\microsoft.net.illink.tasks\10.0.5</PkgMicrosoft_NET_ILLink_Tasks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.1' AND '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<PkgMicrosoft_SourceLink_Common Condition=" '$(PkgMicrosoft_SourceLink_Common)' == '' ">C:\Users\sfree\.nuget\packages\microsoft.sourcelink.common\10.0.201</PkgMicrosoft_SourceLink_Common>
|
||||
<PkgMicrosoft_Build_Tasks_Git Condition=" '$(PkgMicrosoft_Build_Tasks_Git)' == '' ">C:\Users\sfree\.nuget\packages\microsoft.build.tasks.git\10.0.201</PkgMicrosoft_Build_Tasks_Git>
|
||||
<PkgMicrosoft_SourceLink_Gitea Condition=" '$(PkgMicrosoft_SourceLink_Gitea)' == '' ">C:\Users\sfree\.nuget\packages\microsoft.sourcelink.gitea\10.0.201</PkgMicrosoft_SourceLink_Gitea>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Condition=" '$(TargetFramework)' == '' AND '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.sourcelink.common\10.0.201\buildMultiTargeting\Microsoft.SourceLink.Common.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.sourcelink.common\10.0.201\buildMultiTargeting\Microsoft.SourceLink.Common.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.build.tasks.git\10.0.201\buildMultiTargeting\Microsoft.Build.Tasks.Git.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.build.tasks.git\10.0.201\buildMultiTargeting\Microsoft.Build.Tasks.Git.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.sourcelink.gitea\10.0.201\buildMultiTargeting\Microsoft.SourceLink.Gitea.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.sourcelink.gitea\10.0.201\buildMultiTargeting\Microsoft.SourceLink.Gitea.targets')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition=" '$(TargetFramework)' == 'net10.0' AND '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.sourcelink.common\10.0.201\buildTransitive\Microsoft.SourceLink.Common.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.sourcelink.common\10.0.201\buildTransitive\Microsoft.SourceLink.Common.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.build.tasks.git\10.0.201\buildTransitive\Microsoft.Build.Tasks.Git.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.build.tasks.git\10.0.201\buildTransitive\Microsoft.Build.Tasks.Git.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.sourcelink.gitea\10.0.201\build\Microsoft.SourceLink.Gitea.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.sourcelink.gitea\10.0.201\build\Microsoft.SourceLink.Gitea.targets')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition=" '$(TargetFramework)' == 'netstandard2.1' AND '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.sourcelink.common\10.0.201\buildTransitive\Microsoft.SourceLink.Common.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.sourcelink.common\10.0.201\buildTransitive\Microsoft.SourceLink.Common.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.build.tasks.git\10.0.201\buildTransitive\Microsoft.Build.Tasks.Git.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.build.tasks.git\10.0.201\buildTransitive\Microsoft.Build.Tasks.Git.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.sourcelink.gitea\10.0.201\build\Microsoft.SourceLink.Gitea.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.sourcelink.gitea\10.0.201\build\Microsoft.SourceLink.Gitea.targets')" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,884 @@
|
||||
{
|
||||
"version": 3,
|
||||
"targets": {
|
||||
".NETStandard,Version=v2.1": {
|
||||
"Microsoft.Build.Tasks.Git/10.0.201": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
"System.IO.Hashing": "10.0.5"
|
||||
},
|
||||
"build": {
|
||||
"buildTransitive/Microsoft.Build.Tasks.Git.props": {},
|
||||
"buildTransitive/Microsoft.Build.Tasks.Git.targets": {}
|
||||
},
|
||||
"buildMultiTargeting": {
|
||||
"buildMultiTargeting/Microsoft.Build.Tasks.Git.props": {},
|
||||
"buildMultiTargeting/Microsoft.Build.Tasks.Git.targets": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.SourceLink.Common/10.0.201": {
|
||||
"type": "package",
|
||||
"build": {
|
||||
"buildTransitive/Microsoft.SourceLink.Common.props": {},
|
||||
"buildTransitive/Microsoft.SourceLink.Common.targets": {}
|
||||
},
|
||||
"buildMultiTargeting": {
|
||||
"buildMultiTargeting/Microsoft.SourceLink.Common.props": {},
|
||||
"buildMultiTargeting/Microsoft.SourceLink.Common.targets": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.SourceLink.Gitea/10.0.201": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
"Microsoft.Build.Tasks.Git": "10.0.201",
|
||||
"Microsoft.SourceLink.Common": "10.0.201",
|
||||
"System.IO.Hashing": "10.0.5"
|
||||
},
|
||||
"build": {
|
||||
"build/Microsoft.SourceLink.Gitea.targets": {}
|
||||
},
|
||||
"buildMultiTargeting": {
|
||||
"buildMultiTargeting/Microsoft.SourceLink.Gitea.targets": {}
|
||||
}
|
||||
},
|
||||
"System.IO.Hashing/10.0.5": {
|
||||
"type": "package",
|
||||
"compile": {
|
||||
"lib/netstandard2.0/_._": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/System.IO.Hashing.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"net10.0": {
|
||||
"Microsoft.Build.Tasks.Git/10.0.201": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
"System.IO.Hashing": "10.0.5"
|
||||
},
|
||||
"build": {
|
||||
"buildTransitive/Microsoft.Build.Tasks.Git.props": {},
|
||||
"buildTransitive/Microsoft.Build.Tasks.Git.targets": {}
|
||||
},
|
||||
"buildMultiTargeting": {
|
||||
"buildMultiTargeting/Microsoft.Build.Tasks.Git.props": {},
|
||||
"buildMultiTargeting/Microsoft.Build.Tasks.Git.targets": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.NET.ILLink.Tasks/10.0.5": {
|
||||
"type": "package",
|
||||
"build": {
|
||||
"build/Microsoft.NET.ILLink.Tasks.props": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.SourceLink.Common/10.0.201": {
|
||||
"type": "package",
|
||||
"build": {
|
||||
"buildTransitive/Microsoft.SourceLink.Common.props": {},
|
||||
"buildTransitive/Microsoft.SourceLink.Common.targets": {}
|
||||
},
|
||||
"buildMultiTargeting": {
|
||||
"buildMultiTargeting/Microsoft.SourceLink.Common.props": {},
|
||||
"buildMultiTargeting/Microsoft.SourceLink.Common.targets": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.SourceLink.Gitea/10.0.201": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
"Microsoft.Build.Tasks.Git": "10.0.201",
|
||||
"Microsoft.SourceLink.Common": "10.0.201",
|
||||
"System.IO.Hashing": "10.0.5"
|
||||
},
|
||||
"build": {
|
||||
"build/Microsoft.SourceLink.Gitea.targets": {}
|
||||
},
|
||||
"buildMultiTargeting": {
|
||||
"buildMultiTargeting/Microsoft.SourceLink.Gitea.targets": {}
|
||||
}
|
||||
},
|
||||
"System.IO.Hashing/10.0.5": {
|
||||
"type": "package",
|
||||
"compile": {
|
||||
"lib/net10.0/_._": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/System.IO.Hashing.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"build": {
|
||||
"buildTransitive/net8.0/_._": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"Microsoft.Build.Tasks.Git/10.0.201": {
|
||||
"sha512": "DMYBnrFZvLnBKn14VavEuuIr31CY6YY2i2L9P8DorS/Qp6ifRR8ZPLdJCFLFfjikNq8DykbYyLd/RP6lSqHcWw==",
|
||||
"type": "package",
|
||||
"path": "microsoft.build.tasks.git/10.0.201",
|
||||
"hasTools": true,
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Icon.png",
|
||||
"LICENSE.txt",
|
||||
"build/Microsoft.Build.Tasks.Git.props",
|
||||
"build/Microsoft.Build.Tasks.Git.targets",
|
||||
"buildMultiTargeting/Microsoft.Build.Tasks.Git.props",
|
||||
"buildMultiTargeting/Microsoft.Build.Tasks.Git.targets",
|
||||
"buildTransitive/Microsoft.Build.Tasks.Git.props",
|
||||
"buildTransitive/Microsoft.Build.Tasks.Git.targets",
|
||||
"microsoft.build.tasks.git.10.0.201.nupkg.sha512",
|
||||
"microsoft.build.tasks.git.nuspec",
|
||||
"tools/net/Microsoft.Build.Tasks.Git.deps.json",
|
||||
"tools/net/Microsoft.Build.Tasks.Git.dll",
|
||||
"tools/net/Microsoft.Build.Tasks.Git.pdb",
|
||||
"tools/net/System.IO.Hashing.dll",
|
||||
"tools/net/cs/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/net/de/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/net/es/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/net/fr/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/net/it/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/net/ja/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/net/ko/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/net/pl/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/net/pt-BR/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/net/ru/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/net/tr/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/net/zh-Hans/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/net/zh-Hant/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/netframework/Microsoft.Build.Tasks.Git.dll",
|
||||
"tools/netframework/Microsoft.Build.Tasks.Git.dll.config",
|
||||
"tools/netframework/Microsoft.Build.Tasks.Git.pdb",
|
||||
"tools/netframework/System.Buffers.dll",
|
||||
"tools/netframework/System.IO.Hashing.dll",
|
||||
"tools/netframework/System.Memory.dll",
|
||||
"tools/netframework/System.Numerics.Vectors.dll",
|
||||
"tools/netframework/System.Runtime.CompilerServices.Unsafe.dll",
|
||||
"tools/netframework/cs/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/netframework/de/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/netframework/es/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/netframework/fr/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/netframework/it/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/netframework/ja/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/netframework/ko/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/netframework/pl/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/netframework/pt-BR/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/netframework/ru/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/netframework/tr/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/netframework/zh-Hans/Microsoft.Build.Tasks.Git.resources.dll",
|
||||
"tools/netframework/zh-Hant/Microsoft.Build.Tasks.Git.resources.dll"
|
||||
]
|
||||
},
|
||||
"Microsoft.NET.ILLink.Tasks/10.0.5": {
|
||||
"sha512": "A+5ZuQ0f449tM+MQrhf6R9ZX7lYpjk/ODEwLYKrnF6111rtARx8fVsm4YznUnQiKnnXfaXNBqgxmil6RW3L3SA==",
|
||||
"type": "package",
|
||||
"path": "microsoft.net.illink.tasks/10.0.5",
|
||||
"hasTools": true,
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Icon.png",
|
||||
"Sdk/Sdk.props",
|
||||
"THIRD-PARTY-NOTICES.TXT",
|
||||
"analyzers/dotnet/cs/ILLink.CodeFixProvider.dll",
|
||||
"analyzers/dotnet/cs/ILLink.RoslynAnalyzer.dll",
|
||||
"build/Microsoft.NET.ILLink.Analyzers.props",
|
||||
"build/Microsoft.NET.ILLink.Tasks.props",
|
||||
"build/Microsoft.NET.ILLink.targets",
|
||||
"microsoft.net.illink.tasks.10.0.5.nupkg.sha512",
|
||||
"microsoft.net.illink.tasks.nuspec",
|
||||
"tools/net/ILLink.Tasks.deps.json",
|
||||
"tools/net/ILLink.Tasks.dll",
|
||||
"tools/net/Mono.Cecil.Mdb.dll",
|
||||
"tools/net/Mono.Cecil.Pdb.dll",
|
||||
"tools/net/Mono.Cecil.Rocks.dll",
|
||||
"tools/net/Mono.Cecil.dll",
|
||||
"tools/net/Sdk/Sdk.props",
|
||||
"tools/net/build/Microsoft.NET.ILLink.Analyzers.props",
|
||||
"tools/net/build/Microsoft.NET.ILLink.Tasks.props",
|
||||
"tools/net/build/Microsoft.NET.ILLink.targets",
|
||||
"tools/net/illink.deps.json",
|
||||
"tools/net/illink.dll",
|
||||
"tools/net/illink.runtimeconfig.json",
|
||||
"tools/netframework/ILLink.Tasks.dll",
|
||||
"tools/netframework/ILLink.Tasks.dll.config",
|
||||
"tools/netframework/Mono.Cecil.Mdb.dll",
|
||||
"tools/netframework/Mono.Cecil.Pdb.dll",
|
||||
"tools/netframework/Mono.Cecil.Rocks.dll",
|
||||
"tools/netframework/Mono.Cecil.dll",
|
||||
"tools/netframework/Sdk/Sdk.props",
|
||||
"tools/netframework/System.Buffers.dll",
|
||||
"tools/netframework/System.Collections.Immutable.dll",
|
||||
"tools/netframework/System.Memory.dll",
|
||||
"tools/netframework/System.Numerics.Vectors.dll",
|
||||
"tools/netframework/System.Reflection.Metadata.dll",
|
||||
"tools/netframework/System.Runtime.CompilerServices.Unsafe.dll",
|
||||
"tools/netframework/build/Microsoft.NET.ILLink.Analyzers.props",
|
||||
"tools/netframework/build/Microsoft.NET.ILLink.Tasks.props",
|
||||
"tools/netframework/build/Microsoft.NET.ILLink.targets",
|
||||
"useSharedDesignerContext.txt"
|
||||
]
|
||||
},
|
||||
"Microsoft.SourceLink.Common/10.0.201": {
|
||||
"sha512": "QbBYhkjgL6rCnBfDbzsAJLlsad13TlBHqYCFDIw56OO2g6ix+9RsmY8uxiQGdWwFKbZXaXyAA6jDCzFYVGCZDw==",
|
||||
"type": "package",
|
||||
"path": "microsoft.sourcelink.common/10.0.201",
|
||||
"hasTools": true,
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Icon.png",
|
||||
"LICENSE.txt",
|
||||
"build/InitializeSourceControlInformation.targets",
|
||||
"build/Microsoft.SourceLink.Common.props",
|
||||
"build/Microsoft.SourceLink.Common.targets",
|
||||
"buildMultiTargeting/Microsoft.SourceLink.Common.props",
|
||||
"buildMultiTargeting/Microsoft.SourceLink.Common.targets",
|
||||
"buildTransitive/Microsoft.SourceLink.Common.props",
|
||||
"buildTransitive/Microsoft.SourceLink.Common.targets",
|
||||
"microsoft.sourcelink.common.10.0.201.nupkg.sha512",
|
||||
"microsoft.sourcelink.common.nuspec",
|
||||
"tools/net/Microsoft.SourceLink.Common.deps.json",
|
||||
"tools/net/Microsoft.SourceLink.Common.dll",
|
||||
"tools/net/Microsoft.SourceLink.Common.pdb",
|
||||
"tools/net/cs/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/net/de/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/net/es/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/net/fr/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/net/it/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/net/ja/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/net/ko/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/net/pl/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/net/pt-BR/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/net/ru/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/net/tr/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/net/zh-Hans/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/net/zh-Hant/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/netframework/Microsoft.SourceLink.Common.dll",
|
||||
"tools/netframework/Microsoft.SourceLink.Common.dll.config",
|
||||
"tools/netframework/Microsoft.SourceLink.Common.pdb",
|
||||
"tools/netframework/cs/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/netframework/de/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/netframework/es/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/netframework/fr/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/netframework/it/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/netframework/ja/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/netframework/ko/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/netframework/pl/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/netframework/pt-BR/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/netframework/ru/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/netframework/tr/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/netframework/zh-Hans/Microsoft.SourceLink.Common.resources.dll",
|
||||
"tools/netframework/zh-Hant/Microsoft.SourceLink.Common.resources.dll"
|
||||
]
|
||||
},
|
||||
"Microsoft.SourceLink.Gitea/10.0.201": {
|
||||
"sha512": "F8hUc8x+9PzpnT3LAyUHHOAGPzGe0W9cTeR4INEeu43bah+xKEJOAgN4fHA/YkrgMp1z/0wAaIaIQWrIdt2E3A==",
|
||||
"type": "package",
|
||||
"path": "microsoft.sourcelink.gitea/10.0.201",
|
||||
"hasTools": true,
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Icon.png",
|
||||
"LICENSE.txt",
|
||||
"build/Microsoft.SourceLink.Gitea.targets",
|
||||
"buildMultiTargeting/Microsoft.SourceLink.Gitea.targets",
|
||||
"microsoft.sourcelink.gitea.10.0.201.nupkg.sha512",
|
||||
"microsoft.sourcelink.gitea.nuspec",
|
||||
"tools/net/Microsoft.SourceLink.Gitea.deps.json",
|
||||
"tools/net/Microsoft.SourceLink.Gitea.dll",
|
||||
"tools/net/Microsoft.SourceLink.Gitea.pdb",
|
||||
"tools/net/System.IO.Hashing.dll",
|
||||
"tools/net/cs/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/net/de/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/net/es/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/net/fr/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/net/it/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/net/ja/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/net/ko/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/net/pl/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/net/pt-BR/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/net/ru/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/net/tr/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/net/zh-Hans/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/net/zh-Hant/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/netframework/Microsoft.SourceLink.Gitea.dll",
|
||||
"tools/netframework/Microsoft.SourceLink.Gitea.dll.config",
|
||||
"tools/netframework/Microsoft.SourceLink.Gitea.pdb",
|
||||
"tools/netframework/System.Buffers.dll",
|
||||
"tools/netframework/System.IO.Hashing.dll",
|
||||
"tools/netframework/System.Memory.dll",
|
||||
"tools/netframework/System.Numerics.Vectors.dll",
|
||||
"tools/netframework/System.Runtime.CompilerServices.Unsafe.dll",
|
||||
"tools/netframework/cs/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/netframework/de/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/netframework/es/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/netframework/fr/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/netframework/it/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/netframework/ja/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/netframework/ko/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/netframework/pl/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/netframework/pt-BR/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/netframework/ru/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/netframework/tr/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/netframework/zh-Hans/Microsoft.SourceLink.Gitea.resources.dll",
|
||||
"tools/netframework/zh-Hant/Microsoft.SourceLink.Gitea.resources.dll"
|
||||
]
|
||||
},
|
||||
"System.IO.Hashing/10.0.5": {
|
||||
"sha512": "8IBJWcCT9+e4Bmevm4T7+fQEiAh133KGiz4oiVTgJckd3Q76OFdR1falgn9lpz7+C4HJvogCDJeAa2QmvbeVtg==",
|
||||
"type": "package",
|
||||
"path": "system.io.hashing/10.0.5",
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Icon.png",
|
||||
"PACKAGE.md",
|
||||
"THIRD-PARTY-NOTICES.TXT",
|
||||
"buildTransitive/net461/System.IO.Hashing.targets",
|
||||
"buildTransitive/net462/_._",
|
||||
"buildTransitive/net8.0/_._",
|
||||
"buildTransitive/netcoreapp2.0/System.IO.Hashing.targets",
|
||||
"lib/net10.0/System.IO.Hashing.dll",
|
||||
"lib/net10.0/System.IO.Hashing.xml",
|
||||
"lib/net462/System.IO.Hashing.dll",
|
||||
"lib/net462/System.IO.Hashing.xml",
|
||||
"lib/net8.0/System.IO.Hashing.dll",
|
||||
"lib/net8.0/System.IO.Hashing.xml",
|
||||
"lib/net9.0/System.IO.Hashing.dll",
|
||||
"lib/net9.0/System.IO.Hashing.xml",
|
||||
"lib/netstandard2.0/System.IO.Hashing.dll",
|
||||
"lib/netstandard2.0/System.IO.Hashing.xml",
|
||||
"system.io.hashing.10.0.5.nupkg.sha512",
|
||||
"system.io.hashing.nuspec",
|
||||
"useSharedDesignerContext.txt"
|
||||
]
|
||||
}
|
||||
},
|
||||
"projectFileDependencyGroups": {
|
||||
".NETStandard,Version=v2.1": [
|
||||
"Microsoft.SourceLink.Gitea >= 10.0.201"
|
||||
],
|
||||
"net10.0": [
|
||||
"Microsoft.NET.ILLink.Tasks >= 10.0.5",
|
||||
"Microsoft.SourceLink.Gitea >= 10.0.201"
|
||||
]
|
||||
},
|
||||
"packageFolders": {
|
||||
"C:\\Users\\sfree\\.nuget\\packages\\": {},
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
|
||||
},
|
||||
"project": {
|
||||
"version": "0.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\Users\\sfree\\Repositories\\stevanfreeborn.options\\src\\StevanFreeborn.Options\\StevanFreeborn.Options.csproj",
|
||||
"projectName": "StevanFreeborn.Options",
|
||||
"projectPath": "C:\\Users\\sfree\\Repositories\\stevanfreeborn.options\\src\\StevanFreeborn.Options\\StevanFreeborn.Options.csproj",
|
||||
"packagesPath": "C:\\Users\\sfree\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\Users\\sfree\\Repositories\\stevanfreeborn.options\\src\\StevanFreeborn.Options\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"crossTargeting": true,
|
||||
"centralPackageVersionsManagementEnabled": true,
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\sfree\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net10.0",
|
||||
"netstandard2.1"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"C:\\Program Files\\dotnet\\library-packs": {},
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net10.0": {
|
||||
"targetAlias": "net10.0",
|
||||
"projectReferences": {}
|
||||
},
|
||||
"netstandard2.1": {
|
||||
"targetAlias": "netstandard2.1",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"allWarningsAsErrors": true,
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "all"
|
||||
},
|
||||
"SdkAnalysisLevel": "10.0.200"
|
||||
},
|
||||
"frameworks": {
|
||||
"net10.0": {
|
||||
"targetAlias": "net10.0",
|
||||
"dependencies": {
|
||||
"Microsoft.NET.ILLink.Tasks": {
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[10.0.5, )",
|
||||
"autoReferenced": true
|
||||
},
|
||||
"Microsoft.SourceLink.Gitea": {
|
||||
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[10.0.201, )",
|
||||
"versionCentrallyManaged": true
|
||||
}
|
||||
},
|
||||
"centralPackageVersions": {
|
||||
"Microsoft.SourceLink.Gitea": "10.0.201"
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.201/PortableRuntimeIdentifierGraph.json",
|
||||
"packagesToPrune": {
|
||||
"Microsoft.CSharp": "(,4.7.32767]",
|
||||
"Microsoft.VisualBasic": "(,10.4.32767]",
|
||||
"Microsoft.Win32.Primitives": "(,4.3.32767]",
|
||||
"Microsoft.Win32.Registry": "(,5.0.32767]",
|
||||
"runtime.any.System.Collections": "(,4.3.32767]",
|
||||
"runtime.any.System.Diagnostics.Tools": "(,4.3.32767]",
|
||||
"runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]",
|
||||
"runtime.any.System.Globalization": "(,4.3.32767]",
|
||||
"runtime.any.System.Globalization.Calendars": "(,4.3.32767]",
|
||||
"runtime.any.System.IO": "(,4.3.32767]",
|
||||
"runtime.any.System.Reflection": "(,4.3.32767]",
|
||||
"runtime.any.System.Reflection.Extensions": "(,4.3.32767]",
|
||||
"runtime.any.System.Reflection.Primitives": "(,4.3.32767]",
|
||||
"runtime.any.System.Resources.ResourceManager": "(,4.3.32767]",
|
||||
"runtime.any.System.Runtime": "(,4.3.32767]",
|
||||
"runtime.any.System.Runtime.Handles": "(,4.3.32767]",
|
||||
"runtime.any.System.Runtime.InteropServices": "(,4.3.32767]",
|
||||
"runtime.any.System.Text.Encoding": "(,4.3.32767]",
|
||||
"runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]",
|
||||
"runtime.any.System.Threading.Tasks": "(,4.3.32767]",
|
||||
"runtime.any.System.Threading.Timer": "(,4.3.32767]",
|
||||
"runtime.aot.System.Collections": "(,4.3.32767]",
|
||||
"runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]",
|
||||
"runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]",
|
||||
"runtime.aot.System.Globalization": "(,4.3.32767]",
|
||||
"runtime.aot.System.Globalization.Calendars": "(,4.3.32767]",
|
||||
"runtime.aot.System.IO": "(,4.3.32767]",
|
||||
"runtime.aot.System.Reflection": "(,4.3.32767]",
|
||||
"runtime.aot.System.Reflection.Extensions": "(,4.3.32767]",
|
||||
"runtime.aot.System.Reflection.Primitives": "(,4.3.32767]",
|
||||
"runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]",
|
||||
"runtime.aot.System.Runtime": "(,4.3.32767]",
|
||||
"runtime.aot.System.Runtime.Handles": "(,4.3.32767]",
|
||||
"runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]",
|
||||
"runtime.aot.System.Text.Encoding": "(,4.3.32767]",
|
||||
"runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]",
|
||||
"runtime.aot.System.Threading.Tasks": "(,4.3.32767]",
|
||||
"runtime.aot.System.Threading.Timer": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]",
|
||||
"runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]",
|
||||
"runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]",
|
||||
"runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]",
|
||||
"runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]",
|
||||
"runtime.unix.System.Console": "(,4.3.32767]",
|
||||
"runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]",
|
||||
"runtime.unix.System.IO.FileSystem": "(,4.3.32767]",
|
||||
"runtime.unix.System.Net.Primitives": "(,4.3.32767]",
|
||||
"runtime.unix.System.Net.Sockets": "(,4.3.32767]",
|
||||
"runtime.unix.System.Private.Uri": "(,4.3.32767]",
|
||||
"runtime.unix.System.Runtime.Extensions": "(,4.3.32767]",
|
||||
"runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]",
|
||||
"runtime.win.System.Console": "(,4.3.32767]",
|
||||
"runtime.win.System.Diagnostics.Debug": "(,4.3.32767]",
|
||||
"runtime.win.System.IO.FileSystem": "(,4.3.32767]",
|
||||
"runtime.win.System.Net.Primitives": "(,4.3.32767]",
|
||||
"runtime.win.System.Net.Sockets": "(,4.3.32767]",
|
||||
"runtime.win.System.Runtime.Extensions": "(,4.3.32767]",
|
||||
"runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
|
||||
"runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
|
||||
"runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]",
|
||||
"runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"runtime.win7.System.Private.Uri": "(,4.3.32767]",
|
||||
"runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]",
|
||||
"System.AppContext": "(,4.3.32767]",
|
||||
"System.Buffers": "(,5.0.32767]",
|
||||
"System.Collections": "(,4.3.32767]",
|
||||
"System.Collections.Concurrent": "(,4.3.32767]",
|
||||
"System.Collections.Immutable": "(,10.0.32767]",
|
||||
"System.Collections.NonGeneric": "(,4.3.32767]",
|
||||
"System.Collections.Specialized": "(,4.3.32767]",
|
||||
"System.ComponentModel": "(,4.3.32767]",
|
||||
"System.ComponentModel.Annotations": "(,4.3.32767]",
|
||||
"System.ComponentModel.EventBasedAsync": "(,4.3.32767]",
|
||||
"System.ComponentModel.Primitives": "(,4.3.32767]",
|
||||
"System.ComponentModel.TypeConverter": "(,4.3.32767]",
|
||||
"System.Console": "(,4.3.32767]",
|
||||
"System.Data.Common": "(,4.3.32767]",
|
||||
"System.Data.DataSetExtensions": "(,4.4.32767]",
|
||||
"System.Diagnostics.Contracts": "(,4.3.32767]",
|
||||
"System.Diagnostics.Debug": "(,4.3.32767]",
|
||||
"System.Diagnostics.DiagnosticSource": "(,10.0.32767]",
|
||||
"System.Diagnostics.FileVersionInfo": "(,4.3.32767]",
|
||||
"System.Diagnostics.Process": "(,4.3.32767]",
|
||||
"System.Diagnostics.StackTrace": "(,4.3.32767]",
|
||||
"System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]",
|
||||
"System.Diagnostics.Tools": "(,4.3.32767]",
|
||||
"System.Diagnostics.TraceSource": "(,4.3.32767]",
|
||||
"System.Diagnostics.Tracing": "(,4.3.32767]",
|
||||
"System.Drawing.Primitives": "(,4.3.32767]",
|
||||
"System.Dynamic.Runtime": "(,4.3.32767]",
|
||||
"System.Formats.Asn1": "(,10.0.32767]",
|
||||
"System.Formats.Tar": "(,10.0.32767]",
|
||||
"System.Globalization": "(,4.3.32767]",
|
||||
"System.Globalization.Calendars": "(,4.3.32767]",
|
||||
"System.Globalization.Extensions": "(,4.3.32767]",
|
||||
"System.IO": "(,4.3.32767]",
|
||||
"System.IO.Compression": "(,4.3.32767]",
|
||||
"System.IO.Compression.ZipFile": "(,4.3.32767]",
|
||||
"System.IO.FileSystem": "(,4.3.32767]",
|
||||
"System.IO.FileSystem.AccessControl": "(,4.4.32767]",
|
||||
"System.IO.FileSystem.DriveInfo": "(,4.3.32767]",
|
||||
"System.IO.FileSystem.Primitives": "(,4.3.32767]",
|
||||
"System.IO.FileSystem.Watcher": "(,4.3.32767]",
|
||||
"System.IO.IsolatedStorage": "(,4.3.32767]",
|
||||
"System.IO.MemoryMappedFiles": "(,4.3.32767]",
|
||||
"System.IO.Pipelines": "(,10.0.32767]",
|
||||
"System.IO.Pipes": "(,4.3.32767]",
|
||||
"System.IO.Pipes.AccessControl": "(,5.0.32767]",
|
||||
"System.IO.UnmanagedMemoryStream": "(,4.3.32767]",
|
||||
"System.Linq": "(,4.3.32767]",
|
||||
"System.Linq.AsyncEnumerable": "(,10.0.32767]",
|
||||
"System.Linq.Expressions": "(,4.3.32767]",
|
||||
"System.Linq.Parallel": "(,4.3.32767]",
|
||||
"System.Linq.Queryable": "(,4.3.32767]",
|
||||
"System.Memory": "(,5.0.32767]",
|
||||
"System.Net.Http": "(,4.3.32767]",
|
||||
"System.Net.Http.Json": "(,10.0.32767]",
|
||||
"System.Net.NameResolution": "(,4.3.32767]",
|
||||
"System.Net.NetworkInformation": "(,4.3.32767]",
|
||||
"System.Net.Ping": "(,4.3.32767]",
|
||||
"System.Net.Primitives": "(,4.3.32767]",
|
||||
"System.Net.Requests": "(,4.3.32767]",
|
||||
"System.Net.Security": "(,4.3.32767]",
|
||||
"System.Net.ServerSentEvents": "(,10.0.32767]",
|
||||
"System.Net.Sockets": "(,4.3.32767]",
|
||||
"System.Net.WebHeaderCollection": "(,4.3.32767]",
|
||||
"System.Net.WebSockets": "(,4.3.32767]",
|
||||
"System.Net.WebSockets.Client": "(,4.3.32767]",
|
||||
"System.Numerics.Vectors": "(,5.0.32767]",
|
||||
"System.ObjectModel": "(,4.3.32767]",
|
||||
"System.Private.DataContractSerialization": "(,4.3.32767]",
|
||||
"System.Private.Uri": "(,4.3.32767]",
|
||||
"System.Reflection": "(,4.3.32767]",
|
||||
"System.Reflection.DispatchProxy": "(,6.0.32767]",
|
||||
"System.Reflection.Emit": "(,4.7.32767]",
|
||||
"System.Reflection.Emit.ILGeneration": "(,4.7.32767]",
|
||||
"System.Reflection.Emit.Lightweight": "(,4.7.32767]",
|
||||
"System.Reflection.Extensions": "(,4.3.32767]",
|
||||
"System.Reflection.Metadata": "(,10.0.32767]",
|
||||
"System.Reflection.Primitives": "(,4.3.32767]",
|
||||
"System.Reflection.TypeExtensions": "(,4.3.32767]",
|
||||
"System.Resources.Reader": "(,4.3.32767]",
|
||||
"System.Resources.ResourceManager": "(,4.3.32767]",
|
||||
"System.Resources.Writer": "(,4.3.32767]",
|
||||
"System.Runtime": "(,4.3.32767]",
|
||||
"System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]",
|
||||
"System.Runtime.CompilerServices.VisualC": "(,4.3.32767]",
|
||||
"System.Runtime.Extensions": "(,4.3.32767]",
|
||||
"System.Runtime.Handles": "(,4.3.32767]",
|
||||
"System.Runtime.InteropServices": "(,4.3.32767]",
|
||||
"System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]",
|
||||
"System.Runtime.Loader": "(,4.3.32767]",
|
||||
"System.Runtime.Numerics": "(,4.3.32767]",
|
||||
"System.Runtime.Serialization.Formatters": "(,4.3.32767]",
|
||||
"System.Runtime.Serialization.Json": "(,4.3.32767]",
|
||||
"System.Runtime.Serialization.Primitives": "(,4.3.32767]",
|
||||
"System.Runtime.Serialization.Xml": "(,4.3.32767]",
|
||||
"System.Security.AccessControl": "(,6.0.32767]",
|
||||
"System.Security.Claims": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.Algorithms": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.Cng": "(,5.0.32767]",
|
||||
"System.Security.Cryptography.Csp": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.Encoding": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.OpenSsl": "(,5.0.32767]",
|
||||
"System.Security.Cryptography.Primitives": "(,4.3.32767]",
|
||||
"System.Security.Cryptography.X509Certificates": "(,4.3.32767]",
|
||||
"System.Security.Principal": "(,4.3.32767]",
|
||||
"System.Security.Principal.Windows": "(,5.0.32767]",
|
||||
"System.Security.SecureString": "(,4.3.32767]",
|
||||
"System.Text.Encoding": "(,4.3.32767]",
|
||||
"System.Text.Encoding.CodePages": "(,10.0.32767]",
|
||||
"System.Text.Encoding.Extensions": "(,4.3.32767]",
|
||||
"System.Text.Encodings.Web": "(,10.0.32767]",
|
||||
"System.Text.Json": "(,10.0.32767]",
|
||||
"System.Text.RegularExpressions": "(,4.3.32767]",
|
||||
"System.Threading": "(,4.3.32767]",
|
||||
"System.Threading.AccessControl": "(,10.0.32767]",
|
||||
"System.Threading.Channels": "(,10.0.32767]",
|
||||
"System.Threading.Overlapped": "(,4.3.32767]",
|
||||
"System.Threading.Tasks": "(,4.3.32767]",
|
||||
"System.Threading.Tasks.Dataflow": "(,10.0.32767]",
|
||||
"System.Threading.Tasks.Extensions": "(,5.0.32767]",
|
||||
"System.Threading.Tasks.Parallel": "(,4.3.32767]",
|
||||
"System.Threading.Thread": "(,4.3.32767]",
|
||||
"System.Threading.ThreadPool": "(,4.3.32767]",
|
||||
"System.Threading.Timer": "(,4.3.32767]",
|
||||
"System.ValueTuple": "(,4.5.32767]",
|
||||
"System.Xml.ReaderWriter": "(,4.3.32767]",
|
||||
"System.Xml.XDocument": "(,4.3.32767]",
|
||||
"System.Xml.XmlDocument": "(,4.3.32767]",
|
||||
"System.Xml.XmlSerializer": "(,4.3.32767]",
|
||||
"System.Xml.XPath": "(,4.3.32767]",
|
||||
"System.Xml.XPath.XDocument": "(,5.0.32767]"
|
||||
}
|
||||
},
|
||||
"netstandard2.1": {
|
||||
"targetAlias": "netstandard2.1",
|
||||
"dependencies": {
|
||||
"Microsoft.SourceLink.Gitea": {
|
||||
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[10.0.201, )",
|
||||
"versionCentrallyManaged": true
|
||||
}
|
||||
},
|
||||
"centralPackageVersions": {
|
||||
"Microsoft.SourceLink.Gitea": "10.0.201"
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"NETStandard.Library": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.201\\RuntimeIdentifierGraph.json",
|
||||
"packagesToPrune": {
|
||||
"Microsoft.Win32.Primitives": "(,4.3.0]",
|
||||
"System.AppContext": "(,4.3.0]",
|
||||
"System.Buffers": "(,4.6.1]",
|
||||
"System.Collections": "(,4.3.0]",
|
||||
"System.Collections.Concurrent": "(,4.3.0]",
|
||||
"System.Collections.NonGeneric": "(,4.3.0]",
|
||||
"System.Collections.Specialized": "(,4.3.0]",
|
||||
"System.ComponentModel": "(,4.3.0]",
|
||||
"System.ComponentModel.EventBasedAsync": "(,4.3.0]",
|
||||
"System.ComponentModel.Primitives": "(,4.3.0]",
|
||||
"System.ComponentModel.TypeConverter": "(,4.3.0]",
|
||||
"System.Console": "(,4.3.1]",
|
||||
"System.Data.Common": "(,4.3.0]",
|
||||
"System.Diagnostics.Contracts": "(,4.3.0]",
|
||||
"System.Diagnostics.Debug": "(,4.3.0]",
|
||||
"System.Diagnostics.FileVersionInfo": "(,4.3.0]",
|
||||
"System.Diagnostics.Process": "(,4.3.0]",
|
||||
"System.Diagnostics.StackTrace": "(,4.3.0]",
|
||||
"System.Diagnostics.TextWriterTraceListener": "(,4.3.0]",
|
||||
"System.Diagnostics.Tools": "(,4.3.0]",
|
||||
"System.Diagnostics.TraceSource": "(,4.3.0]",
|
||||
"System.Diagnostics.Tracing": "(,4.3.0]",
|
||||
"System.Drawing.Primitives": "(,4.3.0]",
|
||||
"System.Dynamic.Runtime": "(,4.3.0]",
|
||||
"System.Globalization": "(,4.3.0]",
|
||||
"System.Globalization.Calendars": "(,4.3.0]",
|
||||
"System.Globalization.Extensions": "(,4.3.0]",
|
||||
"System.IO": "(,4.3.0]",
|
||||
"System.IO.Compression": "(,4.3.0]",
|
||||
"System.IO.Compression.ZipFile": "(,4.3.0]",
|
||||
"System.IO.FileSystem": "(,4.3.0]",
|
||||
"System.IO.FileSystem.DriveInfo": "(,4.3.1]",
|
||||
"System.IO.FileSystem.Primitives": "(,4.3.0]",
|
||||
"System.IO.FileSystem.Watcher": "(,4.3.0]",
|
||||
"System.IO.IsolatedStorage": "(,4.3.0]",
|
||||
"System.IO.MemoryMappedFiles": "(,4.3.0]",
|
||||
"System.IO.Pipes": "(,4.3.0]",
|
||||
"System.IO.UnmanagedMemoryStream": "(,4.3.0]",
|
||||
"System.Linq": "(,4.3.0]",
|
||||
"System.Linq.Expressions": "(,4.3.0]",
|
||||
"System.Linq.Parallel": "(,4.3.0]",
|
||||
"System.Linq.Queryable": "(,4.3.0]",
|
||||
"System.Memory": "(,4.6.3]",
|
||||
"System.Net.Http": "(,4.3.4]",
|
||||
"System.Net.NameResolution": "(,4.3.0]",
|
||||
"System.Net.NetworkInformation": "(,4.3.0]",
|
||||
"System.Net.Ping": "(,4.3.0]",
|
||||
"System.Net.Primitives": "(,4.3.1]",
|
||||
"System.Net.Requests": "(,4.3.0]",
|
||||
"System.Net.Security": "(,4.3.2]",
|
||||
"System.Net.Sockets": "(,4.3.0]",
|
||||
"System.Net.WebHeaderCollection": "(,4.3.0]",
|
||||
"System.Net.WebSockets": "(,4.3.0]",
|
||||
"System.Net.WebSockets.Client": "(,4.3.2]",
|
||||
"System.Numerics.Vectors": "(,4.6.1]",
|
||||
"System.ObjectModel": "(,4.3.0]",
|
||||
"System.Reflection": "(,4.3.0]",
|
||||
"System.Reflection.DispatchProxy": "(,4.5.1]",
|
||||
"System.Reflection.Emit": "(,4.7.0]",
|
||||
"System.Reflection.Emit.ILGeneration": "(,4.7.0]",
|
||||
"System.Reflection.Emit.Lightweight": "(,4.7.0]",
|
||||
"System.Reflection.Extensions": "(,4.3.0]",
|
||||
"System.Reflection.Primitives": "(,4.3.0]",
|
||||
"System.Resources.Reader": "(,4.3.0]",
|
||||
"System.Resources.ResourceManager": "(,4.3.0]",
|
||||
"System.Resources.Writer": "(,4.3.0]",
|
||||
"System.Runtime": "(,4.3.1]",
|
||||
"System.Runtime.CompilerServices.VisualC": "(,4.3.0]",
|
||||
"System.Runtime.Extensions": "(,4.3.1]",
|
||||
"System.Runtime.Handles": "(,4.3.0]",
|
||||
"System.Runtime.InteropServices": "(,4.3.0]",
|
||||
"System.Runtime.InteropServices.RuntimeInformation": "(,4.3.0]",
|
||||
"System.Runtime.Numerics": "(,4.3.0]",
|
||||
"System.Runtime.Serialization.Formatters": "(,4.3.0]",
|
||||
"System.Runtime.Serialization.Json": "(,4.3.0]",
|
||||
"System.Runtime.Serialization.Primitives": "(,4.3.0]",
|
||||
"System.Runtime.Serialization.Xml": "(,4.3.0]",
|
||||
"System.Security.Claims": "(,4.3.0]",
|
||||
"System.Security.Cryptography.Algorithms": "(,4.3.1]",
|
||||
"System.Security.Cryptography.Csp": "(,4.3.0]",
|
||||
"System.Security.Cryptography.Encoding": "(,4.3.0]",
|
||||
"System.Security.Cryptography.Primitives": "(,4.3.0]",
|
||||
"System.Security.Cryptography.X509Certificates": "(,4.3.2]",
|
||||
"System.Security.Principal": "(,4.3.0]",
|
||||
"System.Security.SecureString": "(,4.3.0]",
|
||||
"System.Text.Encoding": "(,4.3.0]",
|
||||
"System.Text.Encoding.Extensions": "(,4.3.0]",
|
||||
"System.Text.RegularExpressions": "(,4.3.0]",
|
||||
"System.Threading": "(,4.3.0]",
|
||||
"System.Threading.Overlapped": "(,4.3.0]",
|
||||
"System.Threading.Tasks": "(,4.3.0]",
|
||||
"System.Threading.Tasks.Extensions": "(,4.6.3]",
|
||||
"System.Threading.Tasks.Parallel": "(,4.3.0]",
|
||||
"System.Threading.Thread": "(,4.3.0]",
|
||||
"System.Threading.ThreadPool": "(,4.3.0]",
|
||||
"System.Threading.Timer": "(,4.3.0]",
|
||||
"System.ValueTuple": "(,4.6.1]",
|
||||
"System.Xml.ReaderWriter": "(,4.3.1]",
|
||||
"System.Xml.XDocument": "(,4.3.0]",
|
||||
"System.Xml.XmlDocument": "(,4.3.0]",
|
||||
"System.Xml.XmlSerializer": "(,4.3.0]",
|
||||
"System.Xml.XPath": "(,4.3.0]",
|
||||
"System.Xml.XPath.XDocument": "(,4.3.0]"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "sqs8WMAlK3E=",
|
||||
"success": true,
|
||||
"projectFilePath": "C:\\Users\\sfree\\Repositories\\stevanfreeborn.options\\src\\StevanFreeborn.Options\\StevanFreeborn.Options.csproj",
|
||||
"expectedPackageFiles": [
|
||||
"C:\\Users\\sfree\\.nuget\\packages\\microsoft.build.tasks.git\\10.0.201\\microsoft.build.tasks.git.10.0.201.nupkg.sha512",
|
||||
"C:\\Users\\sfree\\.nuget\\packages\\microsoft.net.illink.tasks\\10.0.5\\microsoft.net.illink.tasks.10.0.5.nupkg.sha512",
|
||||
"C:\\Users\\sfree\\.nuget\\packages\\microsoft.sourcelink.common\\10.0.201\\microsoft.sourcelink.common.10.0.201.nupkg.sha512",
|
||||
"C:\\Users\\sfree\\.nuget\\packages\\microsoft.sourcelink.gitea\\10.0.201\\microsoft.sourcelink.gitea.10.0.201.nupkg.sha512",
|
||||
"C:\\Users\\sfree\\.nuget\\packages\\system.io.hashing\\10.0.5\\system.io.hashing.10.0.5.nupkg.sha512"
|
||||
],
|
||||
"logs": []
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
[*.cs]
|
||||
|
||||
dotnet_diagnostic.CA1515.severity = none
|
||||
dotnet_diagnostic.CA2007.severity = none
|
||||
dotnet_diagnostic.CA2201.severity = none
|
||||
dotnet_diagnostic.CA1707.severity = none
|
||||
@@ -0,0 +1,3 @@
|
||||
<Project>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
|
||||
</Project>
|
||||
@@ -0,0 +1,8 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageVersion Include="TUnit" Version="1.23.7" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,54 @@
|
||||
using System.Globalization;
|
||||
|
||||
namespace StevanFreeborn.Options.Tests;
|
||||
|
||||
public class OptionAsyncExtensionsTests
|
||||
{
|
||||
[Test]
|
||||
public async Task MapAsync_WhenSome_ItShouldTransformValue()
|
||||
{
|
||||
var option = Option.Some(5);
|
||||
var mapped = await option.MapAsync(x => Task.FromResult(x.ToString(CultureInfo.InvariantCulture)));
|
||||
|
||||
await Assert.That(mapped.IsSome).IsTrue();
|
||||
await Assert.That(mapped.Value).IsEqualTo("5");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task BindAsync_WhenSome_ItShouldChainToBinderResult()
|
||||
{
|
||||
var option = Option.Some(5);
|
||||
var bound = await option.BindAsync(x => Task.FromResult(Option.Some(x.ToString(CultureInfo.InvariantCulture))));
|
||||
|
||||
await Assert.That(bound.IsSome).IsTrue();
|
||||
await Assert.That(bound.Value).IsEqualTo("5");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task MatchAsync_WhenSome_ItShouldInvokeOnSome()
|
||||
{
|
||||
var option = Option.Some("test");
|
||||
var result = await option.MatchAsync(v => Task.FromResult(v.Length), () => Task.FromResult(0));
|
||||
|
||||
await Assert.That(result).IsEqualTo(4);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task WhereAsync_WhenPredicateMatches_ItShouldReturnSameOption()
|
||||
{
|
||||
var option = Option.Some(10);
|
||||
var filtered = await option.WhereAsync(x => Task.FromResult(x > 5));
|
||||
|
||||
await Assert.That(filtered).IsEqualTo(option);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task OrElseAsync_WhenNone_ItShouldReturnFallbackOption()
|
||||
{
|
||||
var option = Option.None<string>();
|
||||
var result = await option.OrElseAsync(() => Task.FromResult(Option.Some("fallback")));
|
||||
|
||||
await Assert.That(result.IsSome).IsTrue();
|
||||
await Assert.That(result.Value).IsEqualTo("fallback");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,193 @@
|
||||
using System.Globalization;
|
||||
|
||||
namespace StevanFreeborn.Options.Tests;
|
||||
|
||||
public class OptionTests
|
||||
{
|
||||
[Test]
|
||||
public async Task Some_WhenCalledWithValue_ItShouldReturnSomeOption()
|
||||
{
|
||||
var option = Option.Some("test");
|
||||
|
||||
await Assert.That(option.IsSome).IsTrue();
|
||||
await Assert.That(option.IsNone).IsFalse();
|
||||
await Assert.That(option.Value).IsEqualTo("test");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task None_WhenCalled_ItShouldReturnNoneOption()
|
||||
{
|
||||
var option = Option.None<string>();
|
||||
|
||||
await Assert.That(option.IsNone).IsTrue();
|
||||
await Assert.That(option.IsSome).IsFalse();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Some_WhenCalledWithNull_ItShouldThrowArgumentNullException()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => _ = Option.Some<string>(null!));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task From_WhenValueNotNull_ItShouldReturnSomeOption()
|
||||
{
|
||||
var option = Option.From("test");
|
||||
|
||||
await Assert.That(option.IsSome).IsTrue();
|
||||
await Assert.That(option.Value).IsEqualTo("test");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task From_WhenValueNull_ItShouldReturnNoneOption()
|
||||
{
|
||||
var option = Option.From<string>(null);
|
||||
|
||||
await Assert.That(option.IsNone).IsTrue();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Value_WhenOptionIsNone_ItShouldThrowInvalidOperationException()
|
||||
{
|
||||
var option = Option.None<string>();
|
||||
|
||||
Assert.Throws<InvalidOperationException>(() => _ = option.Value);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task ImplicitConversion_FromValue_ItShouldReturnSomeOption()
|
||||
{
|
||||
Option<string> option = "test";
|
||||
|
||||
await Assert.That(option.IsSome).IsTrue();
|
||||
await Assert.That(option.Value).IsEqualTo("test");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task ImplicitConversion_FromNull_ItShouldReturnNoneOption()
|
||||
{
|
||||
Option<string> option = null!;
|
||||
|
||||
await Assert.That(option.IsNone).IsTrue();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Deconstruct_WhenSome_ItShouldReturnTrueAndValue()
|
||||
{
|
||||
var option = Option.Some("test");
|
||||
var (isSome, value) = option;
|
||||
|
||||
await Assert.That(isSome).IsTrue();
|
||||
await Assert.That(value).IsEqualTo("test");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Deconstruct_WhenNone_ItShouldReturnFalseAndDefault()
|
||||
{
|
||||
var option = Option.None<string>();
|
||||
var (isSome, value) = option;
|
||||
|
||||
await Assert.That(isSome).IsFalse();
|
||||
await Assert.That(value).IsNull();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Map_WhenSome_ItShouldTransformValue()
|
||||
{
|
||||
var option = Option.Some(5);
|
||||
var mapped = option.Map(x => x.ToString(CultureInfo.InvariantCulture));
|
||||
|
||||
await Assert.That(mapped.IsSome).IsTrue();
|
||||
await Assert.That(mapped.Value).IsEqualTo("5");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Map_WhenNone_ItShouldReturnNone()
|
||||
{
|
||||
var option = Option.None<int>();
|
||||
var mapped = option.Map(x => x.ToString(CultureInfo.InvariantCulture));
|
||||
|
||||
await Assert.That(mapped.IsNone).IsTrue();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Bind_WhenSome_ItShouldChainToBinderResult()
|
||||
{
|
||||
var option = Option.Some(5);
|
||||
var bound = option.Bind(x => Option.Some(x.ToString(CultureInfo.InvariantCulture)));
|
||||
|
||||
await Assert.That(bound.IsSome).IsTrue();
|
||||
await Assert.That(bound.Value).IsEqualTo("5");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Match_WhenSome_ItShouldReturnOnSomeValue()
|
||||
{
|
||||
var option = Option.Some("test");
|
||||
var result = option.Match(v => v.Length, () => 0);
|
||||
|
||||
await Assert.That(result).IsEqualTo(4);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Match_WhenNone_ItShouldReturnOnNoneValue()
|
||||
{
|
||||
var option = Option.None<string>();
|
||||
var result = option.Match(v => v.Length, () => -1);
|
||||
|
||||
await Assert.That(result).IsEqualTo(-1);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Where_WhenPredicateMatches_ItShouldReturnSameOption()
|
||||
{
|
||||
var option = Option.Some(10);
|
||||
var filtered = option.Where(x => x > 5);
|
||||
|
||||
await Assert.That(filtered).IsEqualTo(option);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Where_WhenPredicateDoesNotMatch_ItShouldReturnNone()
|
||||
{
|
||||
var option = Option.Some(3);
|
||||
var filtered = option.Where(x => x > 5);
|
||||
|
||||
await Assert.That(filtered.IsNone).IsTrue();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetValueOrDefault_WhenSome_ItShouldReturnValue()
|
||||
{
|
||||
var option = Option.Some("test");
|
||||
|
||||
await Assert.That(option.GetValueOrDefault("default")).IsEqualTo("test");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task GetValueOrDefault_WhenNone_ItShouldReturnDefault()
|
||||
{
|
||||
var option = Option.None<string>();
|
||||
|
||||
await Assert.That(option.GetValueOrDefault("default")).IsEqualTo("default");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task OrElse_WhenSome_ItShouldReturnSameOption()
|
||||
{
|
||||
var option = Option.Some("test");
|
||||
var result = option.OrElse(() => Option.Some("fallback"));
|
||||
|
||||
await Assert.That(result).IsEqualTo(option);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task OrElse_WhenNone_ItShouldReturnFallbackOption()
|
||||
{
|
||||
var option = Option.None<string>();
|
||||
var result = option.OrElse(() => Option.Some("fallback"));
|
||||
|
||||
await Assert.That(result.IsSome).IsTrue();
|
||||
await Assert.That(result.Value).IsEqualTo("fallback");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RootNamespace>StevanFreeborn.Options.Tests</RootNamespace>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="TUnit" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\StevanFreeborn.Options\StevanFreeborn.Options.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
BIN
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,14 @@
|
||||
2026-03-30T19:37:49.1968784+00:00 Microsoft.Testing.Platform.Builder.TestApplication INFORMATION Version: 2.1.0+26fb0d3e539b7900114443db5edf1e0c4e9d4b82
|
||||
2026-03-30T19:37:49.2082545+00:00 Microsoft.Testing.Platform.Builder.TestApplication INFORMATION Logging mode: asynchronous
|
||||
2026-03-30T19:37:49.2087577+00:00 Microsoft.Testing.Platform.Builder.TestApplication INFORMATION Logging level: Information
|
||||
2026-03-30T19:37:49.2087607+00:00 Microsoft.Testing.Platform.Builder.TestApplication INFORMATION CreateBuilderAsync entry time: 19:37:49.183
|
||||
2026-03-30T19:37:49.2088184+00:00 Microsoft.Testing.Platform.Builder.TestApplication INFORMATION PID: 49068
|
||||
2026-03-30T19:37:49.2088369+00:00 Microsoft.Testing.Platform.Builder.TestApplication INFORMATION Runtime information: win-x64 - .NET 10.0.5
|
||||
2026-03-30T19:37:49.2088489+00:00 Microsoft.Testing.Platform.Builder.TestApplication INFORMATION Runtime location: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.5\System.Private.CoreLib.dll
|
||||
2026-03-30T19:37:49.2088539+00:00 Microsoft.Testing.Platform.Builder.TestApplication INFORMATION IsDynamicCodeSupported: True
|
||||
2026-03-30T19:37:49.2089049+00:00 Microsoft.Testing.Platform.Builder.TestApplication INFORMATION Test module: C:\Users\sfree\Repositories\stevanfreeborn.options\tests\StevanFreeborn.Options.Tests\bin\Debug\net10.0\StevanFreeborn.Options.Tests.dll
|
||||
2026-03-30T19:37:49.2089786+00:00 Microsoft.Testing.Platform.Builder.TestApplication INFORMATION Command line arguments: '--server --diagnostic --diagnostic-verbosity Information --diagnostic-output-directory C:\Users\sfree\Repositories\stevanfreeborn.options\tests\StevanFreeborn.Options.Tests\bin\Debug\net10.0\Log --client-port 51312'
|
||||
2026-03-30T19:37:49.2094607+00:00 Microsoft.Testing.Platform.Builder.TestApplication INFORMATION TESTINGPLATFORM_DEFAULT_HANG_TIMEOUT: ''
|
||||
2026-03-30T19:37:49.3949618+00:00 Microsoft.Testing.Platform.Hosts.TestHostBuilder INFORMATION Setting RegisterEnvironmentVariablesConfigurationSource: 'True'
|
||||
2026-03-30T19:37:49.4030885+00:00 Microsoft.Testing.Platform.Hosts.TestHostBuilder INFORMATION Setting PlatformExitProcessOnUnhandledException: 'False', config file: False environment variable:
|
||||
2026-03-30T19:37:49.5515838+00:00 Microsoft.Testing.Platform.Requests.TestHostTestFrameworkInvoker INFORMATION Test framework UID: 'TUnitExtension' Version: '1.23.7.0' DisplayName: 'TUnit' Description: 'TUnit Framework for Microsoft Testing Platform'
|
||||
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+748
@@ -0,0 +1,748 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v10.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v10.0": {
|
||||
"StevanFreeborn.Options.Tests/1.0.0": {
|
||||
"dependencies": {
|
||||
"StevanFreeborn.Options": "0.0.0",
|
||||
"TUnit": "1.23.7"
|
||||
},
|
||||
"runtime": {
|
||||
"StevanFreeborn.Options.Tests.dll": {}
|
||||
}
|
||||
},
|
||||
"EnumerableAsyncProcessor/3.8.4": {
|
||||
"runtime": {
|
||||
"lib/net9.0/EnumerableAsyncProcessor.dll": {
|
||||
"assemblyVersion": "3.8.4.0",
|
||||
"fileVersion": "3.8.4.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.ApplicationInsights/2.23.0": {
|
||||
"runtime": {
|
||||
"lib/netstandard2.0/Microsoft.ApplicationInsights.dll": {
|
||||
"assemblyVersion": "2.23.0.29",
|
||||
"fileVersion": "2.23.0.29"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.DiaSymReader/2.2.3": {
|
||||
"runtime": {
|
||||
"lib/net10.0/Microsoft.DiaSymReader.dll": {
|
||||
"assemblyVersion": "2.2.3.0",
|
||||
"fileVersion": "2.200.326.7603"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.DependencyModel/8.0.2": {
|
||||
"runtime": {
|
||||
"lib/net8.0/Microsoft.Extensions.DependencyModel.dll": {
|
||||
"assemblyVersion": "8.0.0.2",
|
||||
"fileVersion": "8.0.1024.46610"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Testing.Extensions.CodeCoverage/18.5.2": {
|
||||
"dependencies": {
|
||||
"Microsoft.DiaSymReader": "2.2.3",
|
||||
"Microsoft.Extensions.DependencyModel": "8.0.2",
|
||||
"Microsoft.Testing.Platform": "2.1.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Microsoft.CodeCoverage.Core.dll": {
|
||||
"assemblyVersion": "18.5.2.0",
|
||||
"fileVersion": "18.500.226.15207"
|
||||
},
|
||||
"lib/net8.0/Microsoft.CodeCoverage.Instrumentation.Core.dll": {
|
||||
"assemblyVersion": "18.5.2.0",
|
||||
"fileVersion": "18.500.226.15207"
|
||||
},
|
||||
"lib/net8.0/Microsoft.CodeCoverage.Instrumentation.dll": {
|
||||
"assemblyVersion": "18.5.2.0",
|
||||
"fileVersion": "18.500.226.15207"
|
||||
},
|
||||
"lib/net8.0/Microsoft.CodeCoverage.Interprocess.dll": {
|
||||
"assemblyVersion": "18.5.2.0",
|
||||
"fileVersion": "18.500.226.15207"
|
||||
},
|
||||
"lib/net8.0/Microsoft.Testing.Extensions.CodeCoverage.dll": {
|
||||
"assemblyVersion": "18.5.2.0",
|
||||
"fileVersion": "18.500.226.15207"
|
||||
},
|
||||
"lib/net8.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll": {
|
||||
"assemblyVersion": "15.0.0.0",
|
||||
"fileVersion": "18.500.226.15207"
|
||||
},
|
||||
"lib/net8.0/Mono.Cecil.Mdb.dll": {
|
||||
"assemblyVersion": "0.11.5.0",
|
||||
"fileVersion": "0.11.5.0"
|
||||
},
|
||||
"lib/net8.0/Mono.Cecil.Pdb.dll": {
|
||||
"assemblyVersion": "0.11.5.0",
|
||||
"fileVersion": "0.11.5.0"
|
||||
},
|
||||
"lib/net8.0/Mono.Cecil.Rocks.dll": {
|
||||
"assemblyVersion": "0.11.5.0",
|
||||
"fileVersion": "0.11.5.0"
|
||||
},
|
||||
"lib/net8.0/Mono.Cecil.dll": {
|
||||
"assemblyVersion": "0.11.5.0",
|
||||
"fileVersion": "0.11.5.0"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"lib/net8.0/cs/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "cs"
|
||||
},
|
||||
"lib/net8.0/de/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "de"
|
||||
},
|
||||
"lib/net8.0/es/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "es"
|
||||
},
|
||||
"lib/net8.0/fr/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "fr"
|
||||
},
|
||||
"lib/net8.0/hu/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "hu"
|
||||
},
|
||||
"lib/net8.0/it/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "it"
|
||||
},
|
||||
"lib/net8.0/ja/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "ja"
|
||||
},
|
||||
"lib/net8.0/ko/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "ko"
|
||||
},
|
||||
"lib/net8.0/nl/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "nl"
|
||||
},
|
||||
"lib/net8.0/pl/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "pl"
|
||||
},
|
||||
"lib/net8.0/pt-BR/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "pt-BR"
|
||||
},
|
||||
"lib/net8.0/pt-PT/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "pt-PT"
|
||||
},
|
||||
"lib/net8.0/ru/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "ru"
|
||||
},
|
||||
"lib/net8.0/sv/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "sv"
|
||||
},
|
||||
"lib/net8.0/tr/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "tr"
|
||||
},
|
||||
"lib/net8.0/zh-Hans/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "zh-Hans"
|
||||
},
|
||||
"lib/net8.0/zh-Hant/Microsoft.Testing.Extensions.CodeCoverage.resources.dll": {
|
||||
"locale": "zh-Hant"
|
||||
}
|
||||
},
|
||||
"runtimeTargets": {
|
||||
"runtimes/linux-musl-x64/native/Cov_x64.config": {
|
||||
"rid": "linux-musl-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-musl-x64/native/libCoverageInstrumentationMethod.so": {
|
||||
"rid": "linux-musl-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-musl-x64/native/libInstrumentationEngine.so": {
|
||||
"rid": "linux-musl-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-x64/native/Cov_x64.config": {
|
||||
"rid": "linux-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-x64/native/libCoverageInstrumentationMethod.so": {
|
||||
"rid": "linux-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/linux-x64/native/libInstrumentationEngine.so": {
|
||||
"rid": "linux-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/osx-x64/native/Cov_x64.config": {
|
||||
"rid": "osx-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/osx-x64/native/libCoverageInstrumentationMethod.dylib": {
|
||||
"rid": "osx-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/osx-x64/native/libInstrumentationEngine.dylib": {
|
||||
"rid": "osx-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-arm64/native/CodeCoverageMessages.dll": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "18.2.26152.59847"
|
||||
},
|
||||
"runtimes/win-arm64/native/Cov_arm64.config": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-arm64/native/Cov_x64.config": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-arm64/native/Cov_x86.config": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-arm64/native/MicrosoftInstrumentationEngine_arm64.dll": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "15.1.0.49995"
|
||||
},
|
||||
"runtimes/win-arm64/native/MicrosoftInstrumentationEngine_x64.dll": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "15.1.0.49995"
|
||||
},
|
||||
"runtimes/win-arm64/native/MicrosoftInstrumentationEngine_x86.dll": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "15.1.0.49995"
|
||||
},
|
||||
"runtimes/win-arm64/native/covrun32.dll": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "18.2.26152.59847"
|
||||
},
|
||||
"runtimes/win-arm64/native/covrun64.dll": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "18.2.26152.59847"
|
||||
},
|
||||
"runtimes/win-arm64/native/covrunarm64.dll": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "18.2.26152.59847"
|
||||
},
|
||||
"runtimes/win-arm64/native/msdia140.dll": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "14.50.35719.0"
|
||||
},
|
||||
"runtimes/win-x64/native/CodeCoverageMessages.dll": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "18.2.26152.59847"
|
||||
},
|
||||
"runtimes/win-x64/native/Cov_arm64.config": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-x64/native/Cov_x64.config": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-x64/native/Cov_x86.config": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-x64/native/MicrosoftInstrumentationEngine_arm64.dll": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "15.1.0.49995"
|
||||
},
|
||||
"runtimes/win-x64/native/MicrosoftInstrumentationEngine_x64.dll": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "15.1.0.49995"
|
||||
},
|
||||
"runtimes/win-x64/native/MicrosoftInstrumentationEngine_x86.dll": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "15.1.0.49995"
|
||||
},
|
||||
"runtimes/win-x64/native/covrun32.dll": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "18.2.26152.59847"
|
||||
},
|
||||
"runtimes/win-x64/native/covrun64.dll": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "18.2.26152.59847"
|
||||
},
|
||||
"runtimes/win-x64/native/covrunarm64.dll": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "18.2.26152.59847"
|
||||
},
|
||||
"runtimes/win-x64/native/msdia140.dll": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "14.50.35719.0"
|
||||
},
|
||||
"runtimes/win-x86/native/CodeCoverageMessages.dll": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "18.2.26152.59847"
|
||||
},
|
||||
"runtimes/win-x86/native/Cov_arm64.config": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-x86/native/Cov_x64.config": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-x86/native/Cov_x86.config": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "0.0.0.0"
|
||||
},
|
||||
"runtimes/win-x86/native/MicrosoftInstrumentationEngine_arm64.dll": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "15.1.0.49995"
|
||||
},
|
||||
"runtimes/win-x86/native/MicrosoftInstrumentationEngine_x64.dll": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "15.1.0.49995"
|
||||
},
|
||||
"runtimes/win-x86/native/MicrosoftInstrumentationEngine_x86.dll": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "15.1.0.49995"
|
||||
},
|
||||
"runtimes/win-x86/native/covrun32.dll": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "18.2.26152.59847"
|
||||
},
|
||||
"runtimes/win-x86/native/covrun64.dll": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "18.2.26152.59847"
|
||||
},
|
||||
"runtimes/win-x86/native/covrunarm64.dll": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "18.2.26152.59847"
|
||||
},
|
||||
"runtimes/win-x86/native/msdia140.dll": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "14.50.35719.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Testing.Extensions.Telemetry/2.1.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.ApplicationInsights": "2.23.0",
|
||||
"Microsoft.Testing.Platform": "2.1.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Testing.Extensions.Telemetry.dll": {
|
||||
"assemblyVersion": "2.1.0.0",
|
||||
"fileVersion": "2.100.26.10311"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"lib/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll": {
|
||||
"locale": "cs"
|
||||
},
|
||||
"lib/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll": {
|
||||
"locale": "de"
|
||||
},
|
||||
"lib/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll": {
|
||||
"locale": "es"
|
||||
},
|
||||
"lib/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll": {
|
||||
"locale": "fr"
|
||||
},
|
||||
"lib/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll": {
|
||||
"locale": "it"
|
||||
},
|
||||
"lib/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll": {
|
||||
"locale": "ja"
|
||||
},
|
||||
"lib/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll": {
|
||||
"locale": "ko"
|
||||
},
|
||||
"lib/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll": {
|
||||
"locale": "pl"
|
||||
},
|
||||
"lib/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll": {
|
||||
"locale": "pt-BR"
|
||||
},
|
||||
"lib/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll": {
|
||||
"locale": "ru"
|
||||
},
|
||||
"lib/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll": {
|
||||
"locale": "tr"
|
||||
},
|
||||
"lib/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll": {
|
||||
"locale": "zh-Hans"
|
||||
},
|
||||
"lib/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll": {
|
||||
"locale": "zh-Hant"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Testing.Extensions.TrxReport/2.1.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Testing.Extensions.TrxReport.Abstractions": "2.1.0",
|
||||
"Microsoft.Testing.Platform": "2.1.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Testing.Extensions.TrxReport.dll": {
|
||||
"assemblyVersion": "2.1.0.0",
|
||||
"fileVersion": "2.100.26.10311"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"lib/net9.0/cs/Microsoft.Testing.Extensions.TrxReport.resources.dll": {
|
||||
"locale": "cs"
|
||||
},
|
||||
"lib/net9.0/de/Microsoft.Testing.Extensions.TrxReport.resources.dll": {
|
||||
"locale": "de"
|
||||
},
|
||||
"lib/net9.0/es/Microsoft.Testing.Extensions.TrxReport.resources.dll": {
|
||||
"locale": "es"
|
||||
},
|
||||
"lib/net9.0/fr/Microsoft.Testing.Extensions.TrxReport.resources.dll": {
|
||||
"locale": "fr"
|
||||
},
|
||||
"lib/net9.0/it/Microsoft.Testing.Extensions.TrxReport.resources.dll": {
|
||||
"locale": "it"
|
||||
},
|
||||
"lib/net9.0/ja/Microsoft.Testing.Extensions.TrxReport.resources.dll": {
|
||||
"locale": "ja"
|
||||
},
|
||||
"lib/net9.0/ko/Microsoft.Testing.Extensions.TrxReport.resources.dll": {
|
||||
"locale": "ko"
|
||||
},
|
||||
"lib/net9.0/pl/Microsoft.Testing.Extensions.TrxReport.resources.dll": {
|
||||
"locale": "pl"
|
||||
},
|
||||
"lib/net9.0/pt-BR/Microsoft.Testing.Extensions.TrxReport.resources.dll": {
|
||||
"locale": "pt-BR"
|
||||
},
|
||||
"lib/net9.0/ru/Microsoft.Testing.Extensions.TrxReport.resources.dll": {
|
||||
"locale": "ru"
|
||||
},
|
||||
"lib/net9.0/tr/Microsoft.Testing.Extensions.TrxReport.resources.dll": {
|
||||
"locale": "tr"
|
||||
},
|
||||
"lib/net9.0/zh-Hans/Microsoft.Testing.Extensions.TrxReport.resources.dll": {
|
||||
"locale": "zh-Hans"
|
||||
},
|
||||
"lib/net9.0/zh-Hant/Microsoft.Testing.Extensions.TrxReport.resources.dll": {
|
||||
"locale": "zh-Hant"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Testing.Extensions.TrxReport.Abstractions/2.1.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Testing.Platform": "2.1.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll": {
|
||||
"assemblyVersion": "2.1.0.0",
|
||||
"fileVersion": "2.100.26.10311"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Testing.Platform/2.1.0": {
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Testing.Platform.dll": {
|
||||
"assemblyVersion": "2.1.0.0",
|
||||
"fileVersion": "2.100.26.10311"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"lib/net9.0/cs/Microsoft.Testing.Platform.resources.dll": {
|
||||
"locale": "cs"
|
||||
},
|
||||
"lib/net9.0/de/Microsoft.Testing.Platform.resources.dll": {
|
||||
"locale": "de"
|
||||
},
|
||||
"lib/net9.0/es/Microsoft.Testing.Platform.resources.dll": {
|
||||
"locale": "es"
|
||||
},
|
||||
"lib/net9.0/fr/Microsoft.Testing.Platform.resources.dll": {
|
||||
"locale": "fr"
|
||||
},
|
||||
"lib/net9.0/it/Microsoft.Testing.Platform.resources.dll": {
|
||||
"locale": "it"
|
||||
},
|
||||
"lib/net9.0/ja/Microsoft.Testing.Platform.resources.dll": {
|
||||
"locale": "ja"
|
||||
},
|
||||
"lib/net9.0/ko/Microsoft.Testing.Platform.resources.dll": {
|
||||
"locale": "ko"
|
||||
},
|
||||
"lib/net9.0/pl/Microsoft.Testing.Platform.resources.dll": {
|
||||
"locale": "pl"
|
||||
},
|
||||
"lib/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll": {
|
||||
"locale": "pt-BR"
|
||||
},
|
||||
"lib/net9.0/ru/Microsoft.Testing.Platform.resources.dll": {
|
||||
"locale": "ru"
|
||||
},
|
||||
"lib/net9.0/tr/Microsoft.Testing.Platform.resources.dll": {
|
||||
"locale": "tr"
|
||||
},
|
||||
"lib/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll": {
|
||||
"locale": "zh-Hans"
|
||||
},
|
||||
"lib/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll": {
|
||||
"locale": "zh-Hant"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Testing.Platform.MSBuild/2.1.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Testing.Platform": "2.1.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Testing.Extensions.MSBuild.dll": {
|
||||
"assemblyVersion": "2.1.0.0",
|
||||
"fileVersion": "2.100.26.10311"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"lib/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll": {
|
||||
"locale": "cs"
|
||||
},
|
||||
"lib/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll": {
|
||||
"locale": "de"
|
||||
},
|
||||
"lib/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll": {
|
||||
"locale": "es"
|
||||
},
|
||||
"lib/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll": {
|
||||
"locale": "fr"
|
||||
},
|
||||
"lib/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll": {
|
||||
"locale": "it"
|
||||
},
|
||||
"lib/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll": {
|
||||
"locale": "ja"
|
||||
},
|
||||
"lib/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll": {
|
||||
"locale": "ko"
|
||||
},
|
||||
"lib/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll": {
|
||||
"locale": "pl"
|
||||
},
|
||||
"lib/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll": {
|
||||
"locale": "pt-BR"
|
||||
},
|
||||
"lib/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll": {
|
||||
"locale": "ru"
|
||||
},
|
||||
"lib/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll": {
|
||||
"locale": "tr"
|
||||
},
|
||||
"lib/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll": {
|
||||
"locale": "zh-Hans"
|
||||
},
|
||||
"lib/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll": {
|
||||
"locale": "zh-Hant"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TUnit/1.23.7": {
|
||||
"dependencies": {
|
||||
"Microsoft.Testing.Extensions.CodeCoverage": "18.5.2",
|
||||
"Microsoft.Testing.Extensions.Telemetry": "2.1.0",
|
||||
"Microsoft.Testing.Extensions.TrxReport": "2.1.0",
|
||||
"TUnit.Assertions": "1.23.7",
|
||||
"TUnit.Engine": "1.23.7"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/TUnit.dll": {
|
||||
"assemblyVersion": "1.23.7.0",
|
||||
"fileVersion": "1.23.7.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TUnit.Assertions/1.23.7": {
|
||||
"runtime": {
|
||||
"lib/net10.0/TUnit.Assertions.dll": {
|
||||
"assemblyVersion": "1.23.7.0",
|
||||
"fileVersion": "1.23.7.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TUnit.Core/1.23.7": {
|
||||
"runtime": {
|
||||
"lib/net10.0/TUnit.Core.dll": {
|
||||
"assemblyVersion": "1.23.7.0",
|
||||
"fileVersion": "1.23.7.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"TUnit.Engine/1.23.7": {
|
||||
"dependencies": {
|
||||
"EnumerableAsyncProcessor": "3.8.4",
|
||||
"Microsoft.Testing.Extensions.TrxReport.Abstractions": "2.1.0",
|
||||
"Microsoft.Testing.Platform": "2.1.0",
|
||||
"Microsoft.Testing.Platform.MSBuild": "2.1.0",
|
||||
"TUnit.Core": "1.23.7"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/TUnit.Engine.dll": {
|
||||
"assemblyVersion": "1.23.7.0",
|
||||
"fileVersion": "1.23.7.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"StevanFreeborn.Options/0.0.0": {
|
||||
"runtime": {
|
||||
"StevanFreeborn.Options.dll": {
|
||||
"assemblyVersion": "0.0.0.0",
|
||||
"fileVersion": "0.0.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"StevanFreeborn.Options.Tests/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"EnumerableAsyncProcessor/3.8.4": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-KlbpupRCz3Kf+P7gsiDvFXJ980i/9lfihMZFmmxIk0Gf6mopEjy74OTJZmdaKDQpE29eQDBnMZB5khyW3eugrg==",
|
||||
"path": "enumerableasyncprocessor/3.8.4",
|
||||
"hashPath": "enumerableasyncprocessor.3.8.4.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.ApplicationInsights/2.23.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-nWArUZTdU7iqZLycLKWe0TDms48KKGE6pONH2terYNa8REXiqixrMOkf1sk5DHGMaUTqONU2YkS4SAXBhLStgw==",
|
||||
"path": "microsoft.applicationinsights/2.23.0",
|
||||
"hashPath": "microsoft.applicationinsights.2.23.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.DiaSymReader/2.2.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-bhwzJfzyiJM0nXJyNB7Y9OfsEXyxLdDBHG99soIp5JjnPydwkOaBdRCtRtWgQh3noSLi2cSIZ/wpbHNNE9knxQ==",
|
||||
"path": "microsoft.diasymreader/2.2.3",
|
||||
"hashPath": "microsoft.diasymreader.2.2.3.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.DependencyModel/8.0.2": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-mUBDZZRgZrSyFOsJ2qJJ9fXfqd/kXJwf3AiDoqLD9m6TjY5OO/vLNOb9fb4juC0487eq4hcGN/M2Rh/CKS7QYw==",
|
||||
"path": "microsoft.extensions.dependencymodel/8.0.2",
|
||||
"hashPath": "microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Testing.Extensions.CodeCoverage/18.5.2": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-UNcGLx9pVtlXF8MPDR8KDp+/OKKNIJjpzwRyZSt609TSGvaD8mtuQMb5GKZvhMucPp0a5Juvn3kxXDceQZWmAg==",
|
||||
"path": "microsoft.testing.extensions.codecoverage/18.5.2",
|
||||
"hashPath": "microsoft.testing.extensions.codecoverage.18.5.2.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Testing.Extensions.Telemetry/2.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-5TwgTx2u7k9Al/xbZ18QXq4Hdy2xewkVTI6K3sk+jY2ykqUkIKNuj7rFu3GOV5KnEUkevhw6eZcyZs77STHJIA==",
|
||||
"path": "microsoft.testing.extensions.telemetry/2.1.0",
|
||||
"hashPath": "microsoft.testing.extensions.telemetry.2.1.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Testing.Extensions.TrxReport/2.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-cXmP225WcMLLOSrW8xekaNhfzdBwXX3cbXbE5qSzmLbK0KZe3z8rAObKj70FWiPPPzm2W22x0ZW93gsmAfK6Mg==",
|
||||
"path": "microsoft.testing.extensions.trxreport/2.1.0",
|
||||
"hashPath": "microsoft.testing.extensions.trxreport.2.1.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Testing.Extensions.TrxReport.Abstractions/2.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-D8xmIJYQFJ6D49Rx5/vPrkZZxb338Jkew+eSqZLBfBiWKw4QZKy3i1BOXiLfz0lOmaNErwDz/YWRojCdNl+B9Q==",
|
||||
"path": "microsoft.testing.extensions.trxreport.abstractions/2.1.0",
|
||||
"hashPath": "microsoft.testing.extensions.trxreport.abstractions.2.1.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Testing.Platform/2.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-aHkjNTGIA+Zbdw6RJgSFrbDrCjO0CgqpElqYcvkRSeUhBv2bKarnvU3ep786U7UqrPlArT/B7VmImRibJD0Zrg==",
|
||||
"path": "microsoft.testing.platform/2.1.0",
|
||||
"hashPath": "microsoft.testing.platform.2.1.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Testing.Platform.MSBuild/2.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-UpfPebXQtHGrWz21+YLHmJSm+5zsuPE9U9pfdCtoB+67g75fDmWlNgpkH2ZmdVhSwkjNIed9Icg8Iu63z2ei5Q==",
|
||||
"path": "microsoft.testing.platform.msbuild/2.1.0",
|
||||
"hashPath": "microsoft.testing.platform.msbuild.2.1.0.nupkg.sha512"
|
||||
},
|
||||
"TUnit/1.23.7": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-PVEu/QwlNe2413Qpfru4B7wixLTKGcjqxISKXqUCGAeEKQ84NHMvNVVnm5JKbpMsam2Sf79S6S2HaAIaXy7NYA==",
|
||||
"path": "tunit/1.23.7",
|
||||
"hashPath": "tunit.1.23.7.nupkg.sha512"
|
||||
},
|
||||
"TUnit.Assertions/1.23.7": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-eWCF4SVUxu4vEfJj8wZuE92ONv5lZdL/E3b3Y/axpM55BG0X4dRpvf0Hm80DNB9uJoBjdq9u/QMom2G1wsENgQ==",
|
||||
"path": "tunit.assertions/1.23.7",
|
||||
"hashPath": "tunit.assertions.1.23.7.nupkg.sha512"
|
||||
},
|
||||
"TUnit.Core/1.23.7": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-035xcZ8Lf9y7FI93uvKTWqlwKxY2FBPZ00k0awur38iStXP9Vw3C+Hfz5hDHHryU+H8r0FiYYkqzGDannZ2G/g==",
|
||||
"path": "tunit.core/1.23.7",
|
||||
"hashPath": "tunit.core.1.23.7.nupkg.sha512"
|
||||
},
|
||||
"TUnit.Engine/1.23.7": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-yek0/Lg0jncyu5mHfLRZyBFNVEbWIofpKcWP5VpscY46IzOeqqgPSURhkg3t52zEbCEPyPOmSZrcDTK2undk7g==",
|
||||
"path": "tunit.engine/1.23.7",
|
||||
"hashPath": "tunit.engine.1.23.7.nupkg.sha512"
|
||||
},
|
||||
"StevanFreeborn.Options/0.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net10.0",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "10.0.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,205 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>StevanFreeborn.Options</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:StevanFreeborn.Options.Option">
|
||||
<summary>
|
||||
Provides factory methods for creating <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.Some``1(``0)">
|
||||
<summary>
|
||||
Creates an option with the specified value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/> with the specified value.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.None``1">
|
||||
<summary>
|
||||
Creates an empty option.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<returns>An empty <see cref="T:StevanFreeborn.Options.Option`1"/>.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.From``1(``0)">
|
||||
<summary>
|
||||
Creates an option from the specified value, returning None if the value is null.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/> with the value if not null, otherwise None.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option.FromT``1(``0)">
|
||||
<summary>
|
||||
Converts a value to an <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="value">The value.</param>
|
||||
<returns>An <see cref="T:StevanFreeborn.Options.Option`1"/>.</returns>
|
||||
</member>
|
||||
<member name="T:StevanFreeborn.Options.Option`1">
|
||||
<summary>
|
||||
Represents an optional value that may or may not be present.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.IsSome">
|
||||
<summary>
|
||||
Gets a value indicating whether the option has a value.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.IsNone">
|
||||
<summary>
|
||||
Gets a value indicating whether the option is empty.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:StevanFreeborn.Options.Option`1.Value">
|
||||
<summary>
|
||||
Gets the value of the option.
|
||||
</summary>
|
||||
<exception cref="T:System.InvalidOperationException">Thrown when accessing Value on a None option.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.op_Implicit(`0)~StevanFreeborn.Options.Option{`0}">
|
||||
<summary>
|
||||
Implicitly converts a value to an <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
<param name="value">The value to convert.</param>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Deconstruct(System.Boolean@,`0@)">
|
||||
<summary>
|
||||
Deconstructs the option into its components.
|
||||
</summary>
|
||||
<param name="isSome">Indicates whether the option has a value.</param>
|
||||
<param name="value">The value of the option.</param>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Map``1(System.Func{`0,``0})">
|
||||
<summary>
|
||||
Maps the value to a new type if the option has a value.
|
||||
</summary>
|
||||
<typeparam name="TNew">The new type.</typeparam>
|
||||
<param name="mapper">The function to map the value.</param>
|
||||
<returns>A new <see cref="T:StevanFreeborn.Options.Option`1"/> with the mapped value if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when mapper is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Bind``1(System.Func{`0,StevanFreeborn.Options.Option{``0}})">
|
||||
<summary>
|
||||
Binds to a new option if the current option has a value.
|
||||
</summary>
|
||||
<typeparam name="TNew">The new option type.</typeparam>
|
||||
<param name="binder">The function to bind to on Some.</param>
|
||||
<returns>The result of the binder function if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when binder is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Match``1(System.Func{`0,``0},System.Func{``0})">
|
||||
<summary>
|
||||
Matches the option and returns a value based on whether it has a value.
|
||||
</summary>
|
||||
<typeparam name="TResult">The type of the result.</typeparam>
|
||||
<param name="onSome">The function to execute on Some.</param>
|
||||
<param name="onNone">The function to execute on None.</param>
|
||||
<returns>The result of the appropriate function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when onSome or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Match(System.Action{`0},System.Action)">
|
||||
<summary>
|
||||
Matches the option and executes the appropriate action.
|
||||
</summary>
|
||||
<param name="onSome">The action to execute on Some.</param>
|
||||
<param name="onNone">The action to execute on None.</param>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when onSome or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.Where(System.Func{`0,System.Boolean})">
|
||||
<summary>
|
||||
Filters the option based on the specified predicate.
|
||||
</summary>
|
||||
<param name="predicate">The predicate to filter with.</param>
|
||||
<returns>The current option if Some and the predicate is met, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when predicate is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.GetValueOrDefault(`0)">
|
||||
<summary>
|
||||
Gets the value of the option if Some, otherwise the specified default value.
|
||||
</summary>
|
||||
<param name="defaultValue">The default value.</param>
|
||||
<returns>The value if Some, otherwise the default value.</returns>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.GetValueOrDefault(System.Func{`0})">
|
||||
<summary>
|
||||
Gets the value of the option if Some, otherwise the result of the specified factory function.
|
||||
</summary>
|
||||
<param name="factory">The factory function to provide the default value.</param>
|
||||
<returns>The value if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when factory is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.Option`1.OrElse(System.Func{StevanFreeborn.Options.Option{`0}})">
|
||||
<summary>
|
||||
Returns the current option if Some, otherwise the result of the specified factory function.
|
||||
</summary>
|
||||
<param name="factory">The factory function to provide the fallback option.</param>
|
||||
<returns>The current option if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when factory is null.</exception>
|
||||
</member>
|
||||
<member name="T:StevanFreeborn.Options.OptionAsyncExtensions">
|
||||
<summary>
|
||||
Provides async extension methods for <see cref="T:StevanFreeborn.Options.Option`1"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.MapAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{``1}})">
|
||||
<summary>
|
||||
Maps the value to a new type asynchronously if the option has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TNew">The new type.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="mapper">The async function to map the value.</param>
|
||||
<returns>A task containing a new <see cref="T:StevanFreeborn.Options.Option`1"/> with the mapped value if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or mapper is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.BindAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{StevanFreeborn.Options.Option{``1}}})">
|
||||
<summary>
|
||||
Binds to a new async result if the current option has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TNew">The new result type.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="binder">The async function to bind to on Some.</param>
|
||||
<returns>A task containing the result of the binder function if Some, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or binder is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.MatchAsync``2(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{``1}},System.Func{System.Threading.Tasks.Task{``1}})">
|
||||
<summary>
|
||||
Matches the option asynchronously and returns a value based on whether it has a value.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<typeparam name="TResult">The type of the result.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="onSome">The async function to execute on Some.</param>
|
||||
<param name="onNone">The async function to execute on None.</param>
|
||||
<returns>A task containing the result of the appropriate function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option, onSome, or onNone is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.WhereAsync``1(StevanFreeborn.Options.Option{``0},System.Func{``0,System.Threading.Tasks.Task{System.Boolean}})">
|
||||
<summary>
|
||||
Filters the option asynchronously based on the specified predicate.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="predicate">The async predicate to filter with.</param>
|
||||
<returns>A task containing the current option if Some and the predicate is met, otherwise None.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or predicate is null.</exception>
|
||||
</member>
|
||||
<member name="M:StevanFreeborn.Options.OptionAsyncExtensions.OrElseAsync``1(StevanFreeborn.Options.Option{``0},System.Func{System.Threading.Tasks.Task{StevanFreeborn.Options.Option{``0}}})">
|
||||
<summary>
|
||||
Returns the current option if Some, otherwise the result of the specified async factory function.
|
||||
</summary>
|
||||
<typeparam name="T">The type of the value.</typeparam>
|
||||
<param name="option">The option.</param>
|
||||
<param name="factory">The async factory function to provide the fallback option.</param>
|
||||
<returns>A task containing the current option if Some, otherwise the result of the factory function.</returns>
|
||||
<exception cref="T:System.ArgumentNullException">Thrown when option or factory is null.</exception>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user