Skip to content

Commit 270c72d

Browse files
release: prepare SER 1.0 integrity baseline
1 parent 72227a0 commit 270c72d

174 files changed

Lines changed: 7715 additions & 1686 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ SER.sln.DotSettings.user
1111
/VS Code Extension/out/ser_method_info.js
1212
/Tooling/node_modules
1313
/Tooling/visual-editor/dist
14+
/artifacts

App.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
</dependentAssembly>
2020
<dependentAssembly>
2121
<assemblyIdentity name="LabApi" publicKeyToken="null" culture="neutral" />
22-
<bindingRedirect oldVersion="0.0.0.0-1.1.6.1" newVersion="1.1.6.1" />
22+
<bindingRedirect oldVersion="0.0.0.0-1.1.7.0" newVersion="1.1.7.0" />
2323
</dependentAssembly>
2424
<dependentAssembly>
2525
<assemblyIdentity name="NorthwoodLib" publicKeyToken="null" culture="neutral" />

CHANGELOG.md

Lines changed: 0 additions & 43 deletions
This file was deleted.

Code/ArgumentSystem/Arguments/DoorArgument.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using SER.Code.Extensions;
66
using SER.Code.Helpers.ResultSystem;
77
using SER.Code.TokenSystem.Tokens;
8+
using SER.Code.ValueSystem;
89

910
namespace SER.Code.ArgumentSystem.Arguments;
1011

@@ -19,12 +20,12 @@ public class DoorArgument(string name) : EnumHandlingArgument(name)
1920
[UsedImplicitly]
2021
public DynamicTryGet<Door> GetConvertSolution(BaseToken token)
2122
{
22-
if (token.CanReturnReference<Door>(out var func))
23+
return ValueOrEnumResolver<Door>(token, value =>
2324
{
24-
return func;
25-
}
26-
27-
return EnumResolver<Door>(token, [
25+
return value is ReferenceValue reference
26+
? reference.GetAs<Door>()
27+
: GenericError(token);
28+
}, [
2829
new EnumHandler<DoorName, Door>(name => new(() =>
2930
{
3031
return Door.List
@@ -46,4 +47,4 @@ public DynamicTryGet<Door> GetConvertSolution(BaseToken token)
4647
}))
4748
]);
4849
}
49-
}
50+
}

Code/ArgumentSystem/Arguments/DoorsArgument.cs

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,30 +27,25 @@ public DynamicTryGet<Door[]> GetConvertSolution(BaseToken token)
2727
return new(() => Door.List.Where(d => d is not ElevatorDoor).ToArray());
2828
}
2929

30-
if (token.CanReturn<ReferenceValue>(out var get))
30+
return ValueOrEnumResolver<Door[]>(token, value =>
3131
{
32-
return new(() =>
32+
if (value is not ReferenceValue reference)
3333
{
34-
if (get().HasErrored(out var error, out var refToken))
35-
{
36-
return error;
37-
}
38-
39-
if (refToken.ValueIs<Door>(out var door))
40-
{
41-
return new[] { door };
42-
}
34+
return GenericError(token);
35+
}
4336

44-
if (refToken.ValueIs<Room>(out var room))
45-
{
46-
return room.Doors.ToArray();
47-
}
37+
if (reference.ValueIs<Door>(out var door))
38+
{
39+
return new[] { door };
40+
}
4841

49-
return GenericError(token);
50-
});
51-
}
42+
if (reference.ValueIs<Room>(out var room))
43+
{
44+
return room.Doors.ToArray();
45+
}
5246

53-
return EnumResolver<Door[]>(token, [
47+
return GenericError(token);
48+
}, [
5449
new EnumHandler<DoorName, Door[]>(name => new(() =>
5550
{
5651
return Door.List
@@ -78,4 +73,4 @@ public DynamicTryGet<Door[]> GetConvertSolution(BaseToken token)
7873
}))
7974
]);
8075
}
81-
}
76+
}

Code/ArgumentSystem/Arguments/ElevatorsArgument.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using SER.Code.Extensions;
55
using SER.Code.Helpers.ResultSystem;
66
using SER.Code.TokenSystem.Tokens;
7+
using SER.Code.ValueSystem;
78

89
namespace SER.Code.ArgumentSystem.Arguments;
910

@@ -22,18 +23,17 @@ public DynamicTryGet<Elevator[]> GetConvertSolution(BaseToken token)
2223
return new(() => Elevator.List.ToArray());
2324
}
2425

25-
if (token.CanReturnReference<Elevator>(out var func))
26+
return ValueOrEnumResolver<Elevator[]>(token, value =>
2627
{
27-
return new(() => func().OnSuccess<Elevator[]>(e => [e]));
28-
}
29-
30-
return EnumResolver<Elevator[]>(token, [
28+
return value is ReferenceValue reference
29+
? reference.GetAs<Elevator>().OnSuccess<Elevator[]>(elevator => [elevator])
30+
: GenericError(token);
31+
}, [
3132
new EnumHandler<ElevatorGroup, Elevator[]>(group => new(() =>
3233
{
3334
return Elevator.List
3435
.Where(elevator => elevator.Group == group)
3536
.ToArray();
36-
}))]
37-
);
37+
}))]);
3838
}
39-
}
39+
}

Code/ArgumentSystem/Arguments/EnumArgument.cs

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using SER.Code.Plugin.Commands.HelpSystem;
66
using SER.Code.TokenSystem.Tokens;
77
using SER.Code.TokenSystem.Tokens.Interfaces;
8+
using SER.Code.ValueSystem;
89

910
namespace SER.Code.ArgumentSystem.Arguments;
1011

@@ -54,25 +55,22 @@ public override string InputDescription
5455
[UsedImplicitly]
5556
public DynamicTryGet<TEnum> GetConvertSolution(BaseToken token)
5657
{
57-
if (InternalConvert(token).WasSuccessful(out var value))
58+
if (token is IValueToken { IsConstant: false } valueToken)
5859
{
59-
return value;
60-
}
60+
if (!valueToken.CapableOf<LiteralValue>(out _))
61+
{
62+
return $"Not a {InputDescription}.";
63+
}
6164

62-
if (token is not IValueToken valToken || valToken.IsConstant)
63-
{
64-
return $"Not a {InputDescription}.";
65+
return new(() => InternalConvert(token));
6566
}
6667

67-
return new(() =>
68+
if (InternalConvert(token).WasSuccessful(out var value))
6869
{
69-
if (InternalConvert(token).HasErrored(out var error, out value))
70-
{
71-
return error;
72-
}
73-
7470
return value;
75-
});
71+
}
72+
73+
return $"Not a {InputDescription}.";
7674
}
7775

7876
public static TryGet<TEnum> Convert(BaseToken token, bool isFlag)

Code/ArgumentSystem/Arguments/FloatArgument.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using SER.Code.ArgumentSystem.BaseArguments;
1+
using SER.Code.ArgumentSystem.BaseArguments;
22
using SER.Code.Exceptions;
33
using SER.Code.Extensions;
44
using SER.Code.Helpers.ResultSystem;
@@ -22,7 +22,7 @@ public FloatArgument(
2222
{
2323
if (minValue.HasValue && maxValue.HasValue && minValue.Value > maxValue.Value)
2424
{
25-
throw new AndrzejFuckedUpException(
25+
throw new CoreInvariantException(
2626
$"{nameof(FloatArgument)} has minValue at {minValue.Value} and maxValue at {maxValue.Value}.");
2727
}
2828

Code/ArgumentSystem/Arguments/GateArgument.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using SER.Code.Extensions;
55
using SER.Code.Helpers.ResultSystem;
66
using SER.Code.TokenSystem.Tokens;
7+
using SER.Code.ValueSystem;
78

89
namespace SER.Code.ArgumentSystem.Arguments;
910

@@ -16,18 +17,17 @@ public class GateArgument(string name) : EnumHandlingArgument(name)
1617
[UsedImplicitly]
1718
public DynamicTryGet<Gate> GetConvertSolution(BaseToken token)
1819
{
19-
if (token.CanReturnReference<Gate>(out var func))
20+
return ValueOrEnumResolver<Gate>(token, value =>
2021
{
21-
return func;
22-
}
23-
24-
return EnumResolver<Gate>(token, [
22+
return value is ReferenceValue reference
23+
? reference.GetAs<Gate>()
24+
: GenericError(token);
25+
}, [
2526
new EnumHandler<DoorName, Gate>(doorName => new(() =>
2627
{
2728
return Gate.List
2829
.Where(gate => gate.DoorName == doorName)
2930
.TryGetRandomValue($"Gate with name '{doorName}' does not exist.");
30-
}))]
31-
);
31+
}))]);
3232
}
33-
}
33+
}

Code/ArgumentSystem/Arguments/IntArgument.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using SER.Code.ArgumentSystem.BaseArguments;
1+
using SER.Code.ArgumentSystem.BaseArguments;
22
using SER.Code.Exceptions;
33
using SER.Code.Extensions;
44
using SER.Code.Helpers.ResultSystem;
@@ -17,7 +17,7 @@ public IntArgument(string name, int? minValue = null, int? maxValue = null) : ba
1717
{
1818
if (minValue.HasValue && maxValue.HasValue && minValue.Value > maxValue.Value)
1919
{
20-
throw new AndrzejFuckedUpException(
20+
throw new CoreInvariantException(
2121
$"{nameof(IntArgument)} has minValue at {minValue.Value} and maxValue at {maxValue.Value}.");
2222
}
2323

0 commit comments

Comments
 (0)