Skip to content

Commit

Permalink
Removing bad ToOptionalObject helper
Browse files Browse the repository at this point in the history
  • Loading branch information
Gekctek committed Feb 6, 2023
1 parent a1f1131 commit 806173b
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 57 deletions.
30 changes: 0 additions & 30 deletions src/Candid/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,6 @@
- [Reserved()](#M-EdjCase-ICP-Candid-Models-CandidTypedValue-Reserved 'EdjCase.ICP.Candid.Models.CandidTypedValue.Reserved')
- [Text(value)](#M-EdjCase-ICP-Candid-Models-CandidTypedValue-Text-System-String- 'EdjCase.ICP.Candid.Models.CandidTypedValue.Text(System.String)')
- [ToObject\`\`1(converter)](#M-EdjCase-ICP-Candid-Models-CandidTypedValue-ToObject``1-EdjCase-ICP-Candid-CandidConverter- 'EdjCase.ICP.Candid.Models.CandidTypedValue.ToObject``1(EdjCase.ICP.Candid.CandidConverter)')
- [ToOptionalObject\`\`1(converter)](#M-EdjCase-ICP-Candid-Models-CandidTypedValue-ToOptionalObject``1-EdjCase-ICP-Candid-CandidConverter- 'EdjCase.ICP.Candid.Models.CandidTypedValue.ToOptionalObject``1(EdjCase.ICP.Candid.CandidConverter)')
- [Vector(innerType,values)](#M-EdjCase-ICP-Candid-Models-CandidTypedValue-Vector-EdjCase-ICP-Candid-Models-Types-CandidType,EdjCase-ICP-Candid-Models-Values-CandidValue[]- 'EdjCase.ICP.Candid.Models.CandidTypedValue.Vector(EdjCase.ICP.Candid.Models.Types.CandidType,EdjCase.ICP.Candid.Models.Values.CandidValue[])')
- [Vector\`\`1(innerType,values,valueConverter)](#M-EdjCase-ICP-Candid-Models-CandidTypedValue-Vector``1-EdjCase-ICP-Candid-Models-Types-CandidType,System-Collections-Generic-IEnumerable{``0},System-Func{``0,EdjCase-ICP-Candid-Models-Values-CandidValue}- 'EdjCase.ICP.Candid.Models.CandidTypedValue.Vector``1(EdjCase.ICP.Candid.Models.Types.CandidType,System.Collections.Generic.IEnumerable{``0},System.Func{``0,EdjCase.ICP.Candid.Models.Values.CandidValue})')
- [op_Equality()](#M-EdjCase-ICP-Candid-Models-CandidTypedValue-op_Equality-EdjCase-ICP-Candid-Models-CandidTypedValue,EdjCase-ICP-Candid-Models-CandidTypedValue- 'EdjCase.ICP.Candid.Models.CandidTypedValue.op_Equality(EdjCase.ICP.Candid.Models.CandidTypedValue,EdjCase.ICP.Candid.Models.CandidTypedValue)')
Expand Down Expand Up @@ -4137,35 +4136,6 @@ Value of type T
| ---- | ----------- |
| T | Type to convert the candid value to |

<a name='M-EdjCase-ICP-Candid-Models-CandidTypedValue-ToOptionalObject``1-EdjCase-ICP-Candid-CandidConverter-'></a>
### ToOptionalObject\`\`1(converter) `method`

##### Summary

Helper method to convert a typed value to an optional value. The typed value must be an opt

##### Returns

Optional value of T

##### Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| converter | [EdjCase.ICP.Candid.CandidConverter](#T-EdjCase-ICP-Candid-CandidConverter 'EdjCase.ICP.Candid.CandidConverter') | Optional. Converter to use for the conversion, otherwise will use default converter |

##### Generic Types

| Name | Description |
| ---- | ----------- |
| T | Type to convert the candid value to |

##### Exceptions

| Name | Description |
| ---- | ----------- |
| [System.InvalidOperationException](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.InvalidOperationException 'System.InvalidOperationException') | Throws if the value is not an opt |

<a name='M-EdjCase-ICP-Candid-Models-CandidTypedValue-Vector-EdjCase-ICP-Candid-Models-Types-CandidType,EdjCase-ICP-Candid-Models-Values-CandidValue[]-'></a>
### Vector(innerType,values) `method`

Expand Down
9 changes: 0 additions & 9 deletions src/Candid/API.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 2 additions & 18 deletions src/Candid/Models/CandidTypedValue.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,23 +30,7 @@ public CandidTypedValue(CandidValue value, CandidType type)
this.Value = value ?? throw new ArgumentNullException(nameof(value));
this.Type = type ?? throw new ArgumentNullException(nameof(type));
}

/// <summary>
/// Helper method to convert a typed value to an optional value. The typed value must be an opt
/// </summary>
/// <typeparam name="T">Type to convert the candid value to</typeparam>
/// <param name="converter">Optional. Converter to use for the conversion, otherwise will use default converter</param>
/// <returns>Optional value of T</returns>
/// <exception cref="InvalidOperationException">Throws if the value is not an opt</exception>
public OptionalValue<T> ToOptionalObject<T>(CandidConverter? converter = null)
{
if (this.Value is CandidOptional o)
{
return (converter ?? CandidConverter.Default).ToOptionalObject<T>(o);
}
throw new InvalidOperationException("Value must be an optional type");
}


/// <summary>
/// Helper method to convert a typed value to an generic type value
/// </summary>
Expand All @@ -55,7 +39,7 @@ public OptionalValue<T> ToOptionalObject<T>(CandidConverter? converter = null)
/// <returns>Value of type T</returns>
public T ToObject<T>(CandidConverter? converter = null)
{
return this.ToOptionalObject<T>(converter).GetValueOrThrow();
return (converter ?? CandidConverter.Default).ToObject<T>(this.Value);
}

/// <inheritdoc cref="CandidValue.AsPrimitive"/>
Expand Down

0 comments on commit 806173b

Please sign in to comment.