AnPv2/CSharp/Managers/SettingsManager.cs

31 lines
1.2 KiB
C#

using System.Collections.Generic;
using AnP.Utils;
using AnP.Interfaces.Application;
namespace AnP.Managers{
public class SettingsManager{
public static readonly Dictionary<string, object?> DEFAULT_SETTINGS = new Dictionary<string, object?>{};
public static readonly Options GET_OPTIONS = new Options(Options.ALLOW_NULLS);
public static readonly Options ADD_OPTIONS = new Options(Options.NO_OVERWRITE);
public AnPInterface anp;
public Dictionary<string, object?> settings = new Dictionary<string, object?>(){};
public Dictionary<string, object?> secrets = new Dictionary<string, object?>(){};
public Dictionary<string, object?> inputs;
public SettingsManager(AnPInterface anp, object? inputs = null){
this.anp = anp;
this.inputs = Common.get_dictionary<object?>(inputs);
}
public T? get<T>(object keys, object? inputs, T? _default = default(T?), int custom_options = 0){
return Common.get<T>(keys, new object?[]{
inputs, this.inputs, secrets, settings, DEFAULT_SETTINGS
}, _default, new Options(custom_options, GET_OPTIONS).get());
}
public void add(object? items, int custom_options = 0){}
}
}