public ParserNamespaces(INamespaceRoot packer) { Default = new DefaultNamespaceParserContainer(packer, new ParserDiscovery(this)); // This makes all namespace with default namespace title to map Namespaces = new ConcurrentDictionary <string, ParserContainer>(DefaultNamespaceTitle.Select(x => new KeyValuePair <string, ParserContainer>(x, Default))); // Optimizations Point : For all `Internal` namespaces, we should also be able to really fetch them real fast without string lookups // Note : This might only speed up startup times for most format, but it'll be faster for us to resolve a anonymous object }
public DefaultNamespaceParserContainer(INamespaceRoot root, ParserDiscovery defaultLocator) : base("Default") { Root = root; DefaultLocator = defaultLocator; }
public abstract void LoadContext(INamespaceRoot packer);
public static IParserDiscovery GetNamespace(this INamespaceRoot packer, params string[] parserNamespace) => packer.CreateDiscovery(parserNamespace);