Пример #1
0
        public (object, string[]) Resolve(string[] path)
        {
            if (path?.Length == 0)
            {
                return(null, Array.Empty <string>());
            }

            switch (path[0])
            {
            case "object":
                return(new Link {
                    Cid = Object
                }, path.Skip(1));

            case "type":
                return(Type, path.Skip(1));

            case "tagger":
                return(path.Length == 1 ? (Tagger, Array.Empty <string>()) : Tagger.Resolve(path.Skip(1)));

            case "message":
                return(Message, path.Skip(1));

            case "tag":
                return(Name, path.Skip(1));

            default:
                return(null, path.Skip(1));
            }
        }