예제 #1
0
        public async Task <LeprechaunModuleConfiguration> GetModule(SerializationModuleConfiguration moduleConfiguration)
        {
            var ds = new FilesystemTreeDataStore((IReadOnlyList <FilesystemTreeSpec>)moduleConfiguration.Items.Includes, _serializationFormatter, _loggerFactory.CreateLogger <FilesystemTreeDataStore>(), false);
            await ds.Initialize();

            return(new LeprechaunModuleConfiguration(moduleConfiguration, ds));
        }
예제 #2
0
 public LeprechaunModuleConfiguration(
     SerializationModuleConfiguration serializationModule,
     FilesystemTreeDataStore dataStore)
 {
     SerializationModule = serializationModule;
     DataStore           = dataStore;
 }
예제 #3
0
        public static string GetLeprechaunModuleName(this SerializationModuleConfiguration configuration)
        {
            if (configuration == null)
            {
                throw new NullReferenceException("SerializationModuleConfiguration is null");
            }

            if (!configuration.Extensions.ContainsKey("leprechaun"))
            {
                return(configuration.Namespace);
            }

            var configName = configuration.Extensions["leprechaun"].SelectToken("configuration").Value <string>("@name");

            return(string.IsNullOrEmpty(configName) ? configuration.Namespace : configName);
        }
예제 #4
0
 public LeprechaunModuleConfiguration GetModuleSync(SerializationModuleConfiguration moduleConfiguration)
 {
     return(Task.Run(async() => await GetModule(moduleConfiguration)).GetAwaiter().GetResult());
 }