blob: e96ce649824a075214bfb5547ccdddae837cf559 [file] [log] [blame]
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.DocAsCode.Utility</name>
</assembly>
<members>
<member name="T:Microsoft.DocAsCode.Utility.AsyncConcurrentCache`2">
<summary>
An asynchronous wrapper over concurrent dictionary
</summary>
<typeparam name="TKey">Type of keys</typeparam>
<typeparam name="TValue">Type of values</typeparam>
<remarks>Implementation copied from http://msdn.microsoft.com/en-us/library/hh873173(v=vs.110).aspx, AsyncCache</remarks>
</member>
<member name="M:Microsoft.DocAsCode.Utility.AsyncConcurrentCache`2.GetOrAdd(`0,System.Func{`0,System.Threading.Tasks.Task{`1}},System.Boolean)">
<summary>
Adds a key/value pair to the <see cref="T:Microsoft.DocAsCode.Utility.AsyncConcurrentCache`2"/> by using the specified function, if the key does not already exist.
</summary>
<param name="key">The key of the element to add.</param>
<param name="valueFactory">The function used to get a task to generate value for the key</param>
<param name="removeKeyOnFaulted">A flag indicating whether to remove the key from cache on faulted.</param>
<returns>The task to generate value for the key</returns>
</member>
<member name="M:Microsoft.DocAsCode.Utility.AsyncConcurrentCache`2.TryGetValue(`0,System.Threading.Tasks.Task{`1}@)">
<summary>
Attempts to get the value associated with the specified key in cache.
</summary>
<param name="key">The key of the element</param>
<param name="value">The task to generate value for the key</param>
<returns>true if the task was found; otherwise, false.</returns>
</member>
<member name="P:Microsoft.DocAsCode.Utility.AsyncConcurrentCache`2.Values">
<summary>
Gets a list of tasks in cache.
</summary>
</member>
<member name="T:Microsoft.DocAsCode.Utility.CompositeStream">
<summary>
Write-only composite stream.
</summary>
</member>
<member name="P:Microsoft.DocAsCode.Utility.GitDetail.RelativePath">
<summary>
Relative path of current file to the Git Root Directory
</summary>
</member>
<member name="M:Microsoft.DocAsCode.Utility.GitUtility.GetGitDetail(System.String)">
<summary>
TODO: only get GitDetail on Project level?
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="T:Microsoft.DocAsCode.Utility.PathUtility">
<summary>
</summary>
</member>
<member name="M:Microsoft.DocAsCode.Utility.PathUtility.IsVaildFilePath(System.String)">
<summary>
http://stackoverflow.com/questions/422090/in-c-sharp-check-that-filename-is-possibly-valid-not-that-it-exists
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:Microsoft.DocAsCode.Utility.PathUtility.MakeRelativePath(System.String,System.String)">
<summary>
Creates a relative path from one file or folder to another.
</summary>
<param name="basePath">Contains the directory that defines the start of the relative path.</param>
<param name="absolutePath">Contains the path that defines the endpoint of the relative path.</param>
<returns>The relative path from the start directory to the end path.</returns>
<exception cref="T:System.ArgumentNullException"></exception>
<exception cref="T:System.UriFormatException"></exception>
<exception cref="T:System.InvalidOperationException"></exception>
</member>
<member name="M:Microsoft.DocAsCode.Utility.PathUtility.FormatPath(System.String,System.UriKind,System.String)">
<summary>
Also change backslash to forward slash
</summary>
<param name="path"></param>
<param name="kind"></param>
<param name="basePath"></param>
<returns></returns>
</member>
<member name="T:Microsoft.DocAsCode.Utility.RelativePath">
<summary>
relative path
</summary>
</member>
<member name="M:Microsoft.DocAsCode.Utility.RelativePath.BasedOn(Microsoft.DocAsCode.Utility.RelativePath)">
<summary>
Concat two relative path
e.g.:
{d/e.txt}.BasedOn({a/b/c/}) = {a/b/c/d/e.txt}
{../d/e.txt}.BasedOn({a/b/c/}) = {a/b/d/e.txt}
{d/e.txt}.BasedOn({a/b/c.txt}) = {a/b/d/e.txt}
{../e.txt}.BasedOn({a/b/c.txt}) = {a/e.txt}
{../e.txt}.BasedOn({../c.txt}) = {../../e.txt}
</summary>
</member>
<member name="M:Microsoft.DocAsCode.Utility.RelativePath.MakeRelativeTo(Microsoft.DocAsCode.Utility.RelativePath)">
<summary>
Get relative path from right relative path to left relative path
e.g.:
{a/b/c.txt}.MakeRelativeTo({d/e.txt}) = {../a/b/c.txt}
{a/b/c.txt}.MakeRelativeTo({a/d.txt}) = {b/c.txt}
{../../a.txt}.MakeRelativeTo({../b.txt}) = {../a.txt}
{../../a.txt}.MakeRelativeTo({../b/c.txt}) = {../../a.txt}
{a.txt}.MakeRelativeTo({../b.txt}) = Oop...
</summary>
</member>
<member name="M:Microsoft.DocAsCode.Utility.RelativePath.Rebase(Microsoft.DocAsCode.Utility.RelativePath,Microsoft.DocAsCode.Utility.RelativePath)">
<summary>
Rebase the relative path
</summary>
<param name="from">original base path</param>
<param name="to">new base path</param>
<returns>rebased relative path</returns>
</member>
<member name="M:Microsoft.DocAsCode.Utility.RelativePath.op_Addition(Microsoft.DocAsCode.Utility.RelativePath,Microsoft.DocAsCode.Utility.RelativePath)">
<summary>
Concat two relative path
e.g.:
a/b/c/ + d/e.txt = a/b/c/d/e.txt
a/b/c/ + ../d/e.txt = a/b/d/e.txt
a/b/c.txt + d/e.txt = a/b/d/e.txt
a/b/c.txt + ../e.txt = a/e.txt
../c.txt + ../e.txt = ../../e.txt
</summary>
</member>
<member name="M:Microsoft.DocAsCode.Utility.RelativePath.op_Subtraction(Microsoft.DocAsCode.Utility.RelativePath,Microsoft.DocAsCode.Utility.RelativePath)">
<summary>
Get relative path from right relative path to left relative path
e.g.:
a/b/c.txt - d/e.txt = ../a/b/c.txt
a/b/c.txt - a/d.txt = b/c.txt
../../a.txt - ../b.txt = ../a.txt
../../a.txt - ../b/c.txt = ../../a.txt
a.txt - ../b.txt = Oop...
</summary>
</member>
<member name="M:Microsoft.DocAsCode.Utility.StringExtension.ToNormalizedFullPath(System.String)">
<summary>
Should not convert path to lower case as under Linux/Unix, path is case sensitive
Also, Website URL should be case sensitive consider the server might be running under Linux/Unix
So we could even not lower the path under Windows as the generated YAML should be ideally OS irrelevant
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:Microsoft.DocAsCode.Utility.TaskHelper.ForEachInParallelAsync``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Threading.Tasks.Task},System.Int32)">
<summary>
Provide parallel version for ForEach
</summary>
<typeparam name="T">The type for the enumerable</typeparam>
<param name="source">The enumerable to control the foreach loop</param>
<param name="body">The task body</param>
<param name="maxParallelism">The max parallelism allowed</param>
<returns>The task</returns>
</member>
<member name="M:Microsoft.DocAsCode.Utility.TaskHelper.ForEachInParallelAsync``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Threading.Tasks.Task})">
<summary>
Provide parallel version for ForEach
</summary>
<typeparam name="T">The type for the enumerable</typeparam>
<param name="source">The enumerable to control the foreach loop</param>
<param name="body">The task body</param>
<returns>The task</returns>
<remarks>The max parallelism is 64.</remarks>
</member>
<member name="M:Microsoft.DocAsCode.Utility.TaskHelper.SelectInParallelAsync``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Threading.Tasks.Task{``1}},System.Int32)">
<summary>
Provide parallel version for Select that each element will map to a result
</summary>
<typeparam name="TSource">The type for the enumerable</typeparam>
<typeparam name="TResult">The type for the result</typeparam>
<param name="source">The enumerable to control the select</param>
<param name="body">The select body</param>
<param name="maxParallelism">The max parallelism allowed</param>
<returns>The task</returns>
</member>
<member name="M:Microsoft.DocAsCode.Utility.TaskHelper.SelectInParallelAsync``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Threading.Tasks.Task{``1}})">
<summary>
Provide parallel version for Select that each element will map to a result
</summary>
<typeparam name="TSource">The type for the enumerable</typeparam>
<typeparam name="TResult">The type for the result</typeparam>
<param name="source">The enumerable to control the select</param>
<param name="body">The select body</param>
<returns>The task</returns>
<remarks>The max parallelism is 64.</remarks>
</member>
<member name="F:Microsoft.DocAsCode.Utility.TaskHelper.Completed">
<summary>
A completed task
</summary>
</member>
<member name="F:Microsoft.DocAsCode.Utility.EntityMergers.MergeOption.MergeKey">
<summary>
Identify merge item in list.
</summary>
</member>
<member name="F:Microsoft.DocAsCode.Utility.EntityMergers.MergeOption.Ignore">
<summary>
Do not merge this property.
</summary>
</member>
<member name="F:Microsoft.DocAsCode.Utility.EntityMergers.MergeOption.Merge">
<summary>
Standard merge(default behavior):
<list>
<item>for list, merge the items in the list by the merge key.</item>
<item>for string or any value type, replace it when it is not null or default value in override entity.</item>
<item>for other type, merge each property.</item>
</list>
</summary>
</member>
<member name="F:Microsoft.DocAsCode.Utility.EntityMergers.MergeOption.MergeNullOrDefault">
<summary>
When it is not null or default value in override entity, it is same with merge.
When it is null or default value in override entity, it will replace the property to null or default value.
</summary>
</member>
<member name="F:Microsoft.DocAsCode.Utility.EntityMergers.MergeOption.Replace">
<summary>
Replace it when it is not null or default value in override entity.
</summary>
</member>
<member name="F:Microsoft.DocAsCode.Utility.EntityMergers.MergeOption.ReplaceNullOrDefault">
<summary>
Always replace.
</summary>
</member>
<member name="M:Microsoft.DocAsCode.Utility.EntityMergers.MergeOptionAttribute.#ctor(System.Type)">
<summary>
Hint merger use custom merge handler.
</summary>
<param name="handlerType">the type of custom merge handler, it should implement <see cref="T:Microsoft.DocAsCode.Utility.EntityMergers.IMergeHandler"/>.</param>
</member>
</members>
</doc>