Exemplo n.º 1
0
        /// <summary>
        /// Json text into a tree.
        /// </summary>
        /// <param name="text"></param>
        /// <param name="lineFormat"></param>
        /// <returns></returns>
        public ILineTree ReadLineTree(TextReader text, ILineFormat lineFormat = default)
        {
            LineTree root = new LineTree();

            using (var ini = new IniTokenizer(text.ReadToEnd()))
                ReadIniIntoTree(ini, root, lineFormat, null);
            return(root);
        }
        /// <summary>
        /// Json text into a tree.
        /// </summary>
        /// <param name="text"></param>
        /// <param name="lineFormat">unused</param>
        /// <returns></returns>
        public ILineTree ReadLineTree(TextReader text, ILineFormat lineFormat = default)
        {
            LineTree root = new LineTree();

            using (var json = new JsonTextReader(text))
            {
                ReadJsonIntoTree(json, root, lineFormat, null);
            }
            return(root);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Convert <paramref name="lines"/> to Key Tree of one level.
        /// </summary>
        /// <param name="lines"></param>
        /// <param name="lineFormat"></param>
        /// <returns></returns>
        public static ILineTree ToLineTree(this IEnumerable <ILine> lines, ILineFormat lineFormat)
        {
            LineTree tree = new LineTree();

            if (lineFormat is ILinePattern pattern)
            {
                tree.AddRange(lines, pattern, lineFormat.GetParameterInfos());
            }
            else
            {
                tree.AddRange(lines);
            }
            return(tree);
        }
 /// <summary>
 /// Parse string key of each line and put into <see cref="ILineTree"/>.
 /// </summary>
 /// <param name="lines"></param>
 /// <param name="lineFormat"><see cref="ILineFormatParser"/> parses strings to lines.</param>
 /// <returns></returns>
 public static ILineTree ToLineTree(this IEnumerable <KeyValuePair <string, IString> > lines, ILineFormat lineFormat)
 => LineTree.Create(lines.ToLines(lineFormat), null, lineFormat.GetParameterInfos());