From 2a1cd4fda8a4a8e649910d16b4dfa1ce7ae63543 Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Fri, 12 May 2023 09:24:40 +0800 Subject: *misc --- .../src/CsvHelper.Website/TocItem.cs | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 ThirdParty/CsvHelper-master/src/CsvHelper.Website/TocItem.cs (limited to 'ThirdParty/CsvHelper-master/src/CsvHelper.Website/TocItem.cs') diff --git a/ThirdParty/CsvHelper-master/src/CsvHelper.Website/TocItem.cs b/ThirdParty/CsvHelper-master/src/CsvHelper.Website/TocItem.cs new file mode 100644 index 0000000..14df9e6 --- /dev/null +++ b/ThirdParty/CsvHelper-master/src/CsvHelper.Website/TocItem.cs @@ -0,0 +1,40 @@ +// Copyright 2009-2022 Josh Close +// This file is a part of CsvHelper and is dual licensed under MS-PL and Apache 2.0. +// See LICENSE.txt for details or visit http://www.opensource.org/licenses/ms-pl.html for MS-PL and http://opensource.org/licenses/Apache-2.0 for Apache 2.0. +// https://github.com/JoshClose/CsvHelper +using Statiq.Common; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CsvHelper.Website +{ + public class TocItem + { + public string Title { get; set; } + + public string Link { get; set; } + + public List Children { get; set; } = new List(); + + public static TocItem Create(IMetadataDictionary data) + { + var tocItem = new TocItem() + { + Title = data.Get("title"), + Link = data.Get("link"), + }; + + if (data.ContainsKey("children")) + { + tocItem.Children = Create(data.GetList("children")); + } + + return tocItem; + } + + public static List Create(IEnumerable objects, TocItem parent = null) => objects?.Select(Create).ToList() ?? new List(); + } +} -- cgit v1.1-26-g67d0