public static DependencyCollection AddJsonConverter(this DependencyCollection dependencies, IJsonConverter converter) { dependencies.Add(new InstanceDependency(ConverterContracts, converter)); return(dependencies); }
public static DependencyCollection AddEnvironmentSettings(this DependencyCollection dependencies) { var dependency = new InstanceDependency(SettingsSourceContract, new EnvironmentSource()); dependencies.Add(dependency); return(dependencies); }
public static DependencyCollection AddInstance <TContract>( this DependencyCollection dependencies, TContract instance) where TContract : class { var contracts = new[] { Typeof <TContract> .Raw }; return(dependencies.Add(new InstanceDependency(contracts, instance))); }
public static DependencyCollection AddDefaultConsoleLogWriter(this DependencyCollection dependencies, LogLevel level = LogLevel.Debug) { var dependency = new InstanceDependency(LogWriterContracts, new DefaultConsoleWriter(level)); dependencies.Add(dependency); return(dependencies); }
public static DependencyCollection AddJsonSettings(this DependencyCollection dependencies, string path = "appsettings.json", bool required = false) { var dependency = new InstanceDependency(SettingsSourceContract, new JsonFileSource(path, required)); dependencies.Add(dependency); return(dependencies); }
public static DependencyCollection AddCommandLineSettings(this DependencyCollection dependencies, string[] commandLineArgs) { var dependency = new InstanceDependency(SettingsSourceContract, new CommandLineSource(commandLineArgs)); dependencies.Add(dependency); return(dependencies); }
public static DependencyCollection AddDefaultFileLogWriter(this DependencyCollection dependencies, string?filePath = null, LogLevel level = LogLevel.Debug) { filePath ??= $"{AppDomain.CurrentDomain.FriendlyName}.log"; var dependency = new InstanceDependency(LogWriterContracts, new DefaultFileWriter(filePath, level)); dependencies.Add(dependency); return(dependencies); }
public static DependencyCollection AddAssets(this DependencyCollection dependencies, IEntitySource <Asset> assetSource) { if (assetSource == null) { throw Error.Null(nameof(assetSource)); } var dependency = new InstanceDependency(AssetSourceContracts, assetSource); dependencies.Add(dependency); return(dependencies); }
private static void AddTransient(DependencyCollection dependencies, ServiceDescriptor descriptor) { if (descriptor.ImplementationFactory == null) { dependencies.AddTransient(descriptor.ServiceType, descriptor.ImplementationType); } else { var contracts = new[] { descriptor.ServiceType }; var resolver = BuildDelegateResolver(descriptor); dependencies.Add(new TransientDependency(contracts, resolver)); } }
public static DependencyCollection AddAssets( this DependencyCollection dependencies, Func <IEntitySourceContext <Asset>, IEnumerable <Asset> > assets) { if (assets == null) { throw Error.Null(nameof(assets)); } var instance = new DelegateSource <Asset>(assets); var dependency = new InstanceDependency(AssetSourceContracts, instance); dependencies.Add(dependency); return(dependencies); }
private static void AddSingleton(DependencyCollection dependencies, ServiceDescriptor descriptor) { if (descriptor.ImplementationInstance != null) { dependencies.AddInstance(descriptor.ServiceType, descriptor.ImplementationInstance); } else if (descriptor.ImplementationFactory == null) { dependencies.AddSingleton(descriptor.ServiceType, descriptor.ImplementationType); } else { var contracts = new[] { descriptor.ServiceType }; var resolver = BuildDelegateResolver(descriptor); dependencies.Add(new SingletonDependency(contracts, resolver)); } }