public PageInfo GetPageInfo(Type pageType)
        {
            PageInfo pageInfo;

            TurboSync.TryGetPage(pageType, out pageInfo);
            return(pageInfo);
        }
        public AppInfo GetAppInfo <TApp>()
        {
            AppInfo appInfo;

            if (TurboSync.TryGetApp <TApp>(out appInfo))
            {
                return(appInfo);
            }

            var appMeta = _metadata.GetAppMeta <TApp>();

            if (appMeta.Meta == null)
            {
                return(null);
            }

            return(TurboSync.AddApp(appMeta));
        }
        public PartInfo GetPartInfo(Type partType)
        {
            PartInfo partInfo;

            if (TurboSync.TryGetPart(partType, out partInfo))
            {
                return(partInfo);
            }

            var meta = _metadata.GetPartMeta(partType);

            if (meta.Meta == null)
            {
                return(null);
            }

            return(TurboSync.AddPart(meta));
        }
        public PageInfo GetPageInfo <TPage>(AppInfo appInfo)
        {
            PageInfo pageInfo;

            if (TurboSync.TryGetPage <TPage>(out pageInfo))
            {
                return(pageInfo);
            }

            var pageMeta = _metadata.GetPageMeta <TPage>();

            if (pageMeta.Meta == null)
            {
                return(null);
            }

            return(TurboSync.AddPage(appInfo.App, pageMeta));
        }