IStreamSource IStreamResolver.ResolveInclude(IStreamSource baseStream, string includePath) { if (includePath == "%code%") { StringBuilder sb = new StringBuilder(4096); StringWriter sw = new StringWriter(sb); sw.WriteLine(); GenerateScriptCore(sw); string compiledCode = sb.ToString(); return(new CodeStreamSource(compiledCode)); } else { IStreamResolver resolver = baseStream as IStreamResolver; if (resolver != null) { return(resolver.ResolveInclude(baseStream, includePath)); } string resolvedPath = Path.Combine(Path.GetDirectoryName(Path.GetFullPath(baseStream.FullName)), includePath); return(new FileInputStreamSource(resolvedPath)); } }
public static async Task <TrackData> Parse(string input) { if (File.Exists(input)) { return(new TrackData(input, Utils.GetFilename(input))); } IStreamResolver resolver = await FindValidResovler(input); if (resolver == null) { return(null); } TrackData retval = new TrackData(input, resolver); if (resolver.SupportsTrackNames) { retval.Name = await resolver.GetTrackName(input); } else { retval.Name = input; } return(retval); }
public EventSourceFacade(IStreamResolver streamResolver, IDatabaseLookup databaseLookup) { var dbPath = databaseLookup.GetDatabase(streamResolver.GetStream()); var options = new DbContextOptionsBuilder <DomainContext>() .UseSqlite($"Data Source={dbPath}") .Options; _context = new DomainContext(options); }
public ReadModel(IStreamResolver streamResolver, IEventLookup eventLookup, IDataContext dataContext, IDatabaseLookup databaseLookup) { _eventLookup = eventLookup; _dataContext = dataContext; _eventHandlers = new List <Action <BaseEvent> >(); var eventDbFile = databaseLookup.GetDatabase(streamResolver.GetStream()); var options = new DbContextOptionsBuilder <DomainContext>() .UseSqlite($"Data Source={eventDbFile}") .Options; _context = new DomainContext(options); }
public PreprocessorTextReader(IStreamSource source, ICollection<string> predefinedVariables, IStreamResolver includeResolver, IScriptInfo scriptInfo) { Debug.Assert(source != null); _source = source; _includeResolver = includeResolver; _scriptInfo = scriptInfo; _definedVariables = new Dictionary<string, string>(); _activeInstructions = new Stack<Instruction>(); if ((predefinedVariables != null) && (predefinedVariables.Count != 0)) { foreach (string s in predefinedVariables) { _definedVariables[s] = String.Empty; } } _currentLinePosition = -1; }
public PreprocessorTextReader(IStreamSource source, ICollection <string> predefinedVariables, IStreamResolver includeResolver) { Debug.Assert(source != null); _source = source; _includeResolver = includeResolver; _definedVariables = new Dictionary <string, string>(); _activeInstructions = new Stack <Instruction>(); if ((predefinedVariables != null) && (predefinedVariables.Count != 0)) { foreach (string s in predefinedVariables) { _definedVariables[s] = String.Empty; } } _currentLinePosition = -1; }
private async Task <string> GetStreamUrl() { if (File.Exists(Location)) { return(Location); } if (_cachedResolver != null) { return(await _cachedResolver.ResolveStreamUrl(Location)); } IStreamResolver resolver = await FindValidResovler(Location); if (resolver == null) { return(null); } return(await resolver.ResolveStreamUrl(Location)); }
private static async Task <IStreamResolver> FindValidResovler(string location) { IStreamResolver resolver = null; foreach (IStreamResolver candidateResolver in Resolvers) { if (candidateResolver.SupportsAsyncCanResolve) { if (await candidateResolver.AsyncCanResolve(location)) { resolver = candidateResolver; break; } } else if (candidateResolver.SyncCanResolve(location)) { resolver = candidateResolver; break; } } return(resolver); }
private TrackData(string location, IStreamResolver resovler) { Location = location; _cachedResolver = resovler; }
internal ScriptPreprocessor(IStreamResolver includeResolver, IErrorHandler errorHandler, IScriptInfo scriptInfo) { _scriptInfo = scriptInfo; _includeResolver = includeResolver; _errorHandler = errorHandler; }
public ScriptPreprocessor(IStreamResolver includeResolver, IErrorHandler errorHandler) : this(includeResolver, errorHandler, null) { }
public ScriptPreprocessor(IStreamResolver includeResolver, IErrorHandler errorHandler) { _includeResolver = includeResolver; _errorHandler = errorHandler; }