Little renames
This commit is contained in:
parent
71a7a115e2
commit
3bbf5e50df
11
imm/Imm.cs
11
imm/Imm.cs
@ -7,13 +7,6 @@ using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
// A spot for immutable helpers
|
||||
|
||||
// TODO
|
||||
// TODO
|
||||
// TODO
|
||||
// x) Wrap metadata into its own struct
|
||||
|
||||
namespace imm;
|
||||
|
||||
|
||||
@ -32,8 +25,7 @@ static public class Util
|
||||
return obj;
|
||||
}
|
||||
|
||||
//This can handle both Timed and Recorded
|
||||
static public T Versioned<T>( ref T obj, Func<T, T> fn, string reason = "",
|
||||
static public T LightProcess<T>( ref T obj, Func<T, T> fn, string reason = "",
|
||||
[CallerMemberName] string memberName = "",
|
||||
[CallerFilePath] string filePath = "",
|
||||
[CallerLineNumber] int lineNumber = 0,
|
||||
@ -162,7 +154,6 @@ public record class Recorded<T> : Versioned<T>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public record class Timed<T> : Recorded<T>
|
||||
where T : Timed<T>
|
||||
{
|
||||
|
||||
40
imm/iu.cs
Normal file
40
imm/iu.cs
Normal file
@ -0,0 +1,40 @@
|
||||
|
||||
// A spot for immutable helpers
|
||||
|
||||
// TODO
|
||||
// TODO
|
||||
// TODO
|
||||
// x) Wrap metadata into its own struct
|
||||
// x) Make metadata a struct vs a class
|
||||
|
||||
using imm;
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
static public class iu
|
||||
{
|
||||
//This can handle both Timed and Recorded
|
||||
static public T Process<T>( ref T obj, Func<T, T> fn, string reason = "",
|
||||
[CallerMemberName] string memberName = "",
|
||||
[CallerFilePath] string filePath = "",
|
||||
[CallerLineNumber] int lineNumber = 0,
|
||||
[CallerArgumentExpression("fn")]
|
||||
string expression = default )
|
||||
where T : Recorded<T>
|
||||
{
|
||||
obj = obj.Process( fn, reason, memberName, filePath, lineNumber, expression );
|
||||
return obj;
|
||||
}
|
||||
|
||||
static public T LightProcess<T>( ref T obj, Func<T, T> fn, string reason = "",
|
||||
[CallerMemberName] string memberName = "",
|
||||
[CallerFilePath] string filePath = "",
|
||||
[CallerLineNumber] int lineNumber = 0,
|
||||
[CallerArgumentExpression("fn")]
|
||||
string expression = default )
|
||||
where T : Versioned<T>
|
||||
{
|
||||
obj = obj.Process( fn, reason );
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
@ -58,30 +58,34 @@ namespace lib
|
||||
public Types Types { get; set; } = Types.Default;
|
||||
}
|
||||
|
||||
public class WLChildAttributes : Attribute
|
||||
public class ChildAttributes : Attribute
|
||||
{
|
||||
public string[] Values { get; private set; }
|
||||
|
||||
public WLChildAttributes( params string[] values )
|
||||
public ChildAttributes( params string[] values )
|
||||
{
|
||||
this.Values = values;
|
||||
}
|
||||
}
|
||||
|
||||
public class WLChildFieldsAttribute : WLChildAttributes
|
||||
public class ChildFieldsAttribute : ChildAttributes
|
||||
{
|
||||
public WLChildFieldsAttribute( params string[] values ) : base( values ) { }
|
||||
public ChildFieldsAttribute( params string[] values ) : base( values ) { }
|
||||
}
|
||||
|
||||
public class WLChildPropsAttribute : WLChildAttributes
|
||||
public class ChildPropsAttribute : ChildAttributes
|
||||
{
|
||||
public WLChildPropsAttribute( params string[] values ) : base( values ) { }
|
||||
public ChildPropsAttribute( params string[] values ) : base( values ) { }
|
||||
}
|
||||
|
||||
public enum Datastructure
|
||||
{
|
||||
Invalid,
|
||||
|
||||
//
|
||||
Tree,
|
||||
|
||||
//
|
||||
Graph,
|
||||
|
||||
}
|
||||
@ -91,6 +95,9 @@ namespace lib
|
||||
public Datastructure datastructure = Datastructure.Graph;
|
||||
|
||||
public int Version = 2;
|
||||
|
||||
public Dictionary<string, List<string>> WLProps = new();
|
||||
public Dictionary<string, List<string>> WLFields= new();
|
||||
}
|
||||
|
||||
public class XmlFormatter2: IFormatter
|
||||
@ -102,8 +109,6 @@ namespace lib
|
||||
|
||||
XmlFormatter2Cfg m_cfg = new XmlFormatter2Cfg();
|
||||
|
||||
|
||||
|
||||
#region Unimplimented
|
||||
public ISurrogateSelector SurrogateSelector
|
||||
{
|
||||
@ -119,10 +124,6 @@ namespace lib
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public XmlFormatter2()
|
||||
{
|
||||
Context = new StreamingContext( StreamingContextStates.All );
|
||||
@ -502,10 +503,6 @@ namespace lib
|
||||
|
||||
childPi.SetValue( obj, childObj );
|
||||
}
|
||||
else
|
||||
{
|
||||
log.warn( $"" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -519,7 +516,7 @@ namespace lib
|
||||
{
|
||||
if( doImpls )
|
||||
{
|
||||
if( mi.GetCustomAttribute<WLChildAttributes>() == null ) return true;
|
||||
if( mi.GetCustomAttribute<ChildAttributes>() == null ) return true;
|
||||
}
|
||||
|
||||
if( filterFields && !whitelistFields.Contains( name ) ) return true;
|
||||
@ -923,8 +920,8 @@ namespace lib
|
||||
|
||||
private static void GetFilters( MemberInfo mi, Type type, out bool filterFields, out bool filterProps, out bool doImpls, out bool doFields, out bool doProps, out HashSet<string> whitelistFields, out HashSet<string> whitelistProps )
|
||||
{
|
||||
var custWLFields = mi?.GetCustomAttribute<WLChildFieldsAttribute>();
|
||||
var custWLProps = mi?.GetCustomAttribute<WLChildPropsAttribute>();
|
||||
var custWLFields = mi?.GetCustomAttribute<ChildFieldsAttribute>();
|
||||
var custWLProps = mi?.GetCustomAttribute<ChildPropsAttribute>();
|
||||
|
||||
filterFields = custWLFields != null;
|
||||
filterProps = custWLProps != null;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user