Dependencies/Assemblies/Microsoft365DSC.Converter.xml

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft365DSC.Converter</name>
    </assembly>
    <members>
        <member name="T:Microsoft365DSC.Converter.ComplexObjectConverter">
            <summary>
            Provides optimized CIM instance to hashtable conversion with cached reflection.
            Replaces repeated reflection-based property access with cached PropertyInfo lookups.
            </summary>
        </member>
        <member name="M:Microsoft365DSC.Converter.ComplexObjectConverter.ToHashtable(System.Object)">
            <summary>
            Converts a CIM instance or object to a hashtable with cached property reflection.
            </summary>
            <param name="complexObject">Complex object instance to convert</param>
            <returns>Hashtable representation of the object</returns>
        </member>
        <member name="M:Microsoft365DSC.Converter.ComplexObjectConverter.ToHashtableArray(System.Array)">
            <summary>
            Converts an array of complex objects to an array of hashtables.
            </summary>
            <param name="complexObjects">Array of complex objects to convert</param>
            <returns>Array of hashtables representing the complex objects</returns>
        </member>
        <member name="M:Microsoft365DSC.Converter.ComplexObjectConverter.ConvertArray(System.Array)">
            <summary>
            Converts an array, handling nested CIM instances and complex objects.
            </summary>
            <param name="source">The source array to convert.</param>
            <returns>A new array with the converted values.</returns>
        </member>
        <member name="M:Microsoft365DSC.Converter.ComplexObjectConverter.IsCimLikeObject(System.Object)">
            <summary>
            Determines if an object is a CIM-like complex object (not a primitive or common .NET type).
            </summary>
            <param name="obj">The object to check.</param>
            <returns>True if the object is CIM-like, false otherwise.</returns>
        </member>
        <member name="M:Microsoft365DSC.Converter.ComplexObjectConverter.GetValueFromObject(System.Object)">
            <summary>
            Gets a value from an object, handling various types.
            </summary>
            <param name="value">The object to get the value from.</param>
            <returns>The extracted value.</returns>
        </member>
        <member name="M:Microsoft365DSC.Converter.ComplexObjectConverter.GetValueFromGraphObject(System.Object)">
            <summary>
            Creates a hashtable representation of the public and selected non-public properties of the specified complex
            object.
            </summary>
            <remarks>Properties named "EntityItem" are excluded from the result. Non-public properties
            containing "AdditionalProperties" in their name are also included. The method uses a cache to improve
            performance when processing objects of the same type.</remarks>
            <param name="complexObject">The object whose properties are to be extracted and represented in the resulting hashtable. Cannot be null.</param>
            <returns>A hashtable containing the names and values of the object's properties. Property names are used as keys, and
            their corresponding values are recursively processed. The hashtable is case-insensitive with respect to
            keys.</returns>
        </member>
        <member name="M:Microsoft365DSC.Converter.ComplexObjectConverter.ClearCache">
            <summary>
            Clears the property reflection cache (primarily for testing purposes).
            </summary>
        </member>
        <member name="M:Microsoft365DSC.Converter.ComplexObjectConverter.ToDscString(System.Object,System.String,System.Collections.Generic.List{Microsoft365DSC.Converter.ComplexTypeMapping},System.String,System.UInt32,System.Boolean)">
            <summary>
            Converts a complex object to its DSC configuration string representation.
            </summary>
            <param name="complexObject">The complex object to convert (can be null, object, or array)</param>
            <param name="cimInstanceName">The name of the CIM instance type</param>
            <param name="complexTypeMapping">Optional mapping of complex type properties (not implemented yet)</param>
            <param name="whitespace">Optional whitespace for formatting</param>
            <param name="indentLevel">The indentation level (default is 3)</param>
            <param name="isArray">Indicates if the object is part of an array</param>
            <returns>A formatted DSC configuration string</returns>
        </member>
        <member name="M:Microsoft365DSC.Converter.HashtableConverter.ToString(System.Collections.Hashtable)">
            <summary>
            Converts the specified hashtable to its string representation.
            </summary>
            <param name="hashtable">The hashtable to convert to a string.</param>
            <returns>A string that represents the specified hashtable.</returns>
        </member>
        <member name="T:Microsoft365DSC.Converter.ObjectNormalizer">
            <summary>
            Recursively converts any object (CimInstance, PSObject, IDictionary, Graph SDK types,
            arrays of any of these) into a uniform Hashtable tree with case-insensitive key lookup.
            After normalization every node is either a Hashtable, a primitive/string, or an
            object[] of those. This eliminates all CimInstance/PSObject type-specific handling
            from the comparison pipeline.
            </summary>
        </member>
        <member name="M:Microsoft365DSC.Converter.ObjectNormalizer.Normalize(System.Object)">
            <summary>
            Normalizes an arbitrary object into the primitives, Array or Hashtable tree.
            - null stays null
            - Primitives, strings, DateTime, Guid stay as-is
            - Arrays become object[] where each element is normalized
            - CimInstance / PSObject / IDictionary / Graph SDK objects become
              Hashtable (case-insensitive) with recursively normalized values
            </summary>
        </member>
        <member name="M:Microsoft365DSC.Converter.ObjectNormalizer.IsLeafType(System.Object)">
            <summary>
            Returns true if the object is a leaf type that should not be decomposed further.
            </summary>
        </member>
        <member name="M:Microsoft365DSC.Converter.ObjectNormalizer.NormalizeArray(System.Array)">
            <summary>
            Normalizes an array. Returns object[] with each element normalized.
            </summary>
        </member>
        <member name="M:Microsoft365DSC.Converter.ObjectNormalizer.NormalizeEnumerable(System.Collections.IEnumerable)">
            <summary>
            Normalizes an IEnumerable (non-array, non-string, non-dictionary)
            by materializing to a list and converting to object[].
            </summary>
        </member>
        <member name="M:Microsoft365DSC.Converter.SimpleObjectConverter.ToDscString(System.String,System.Object,System.String)">
            <summary>
            Converts a simple object type to its string representation in DSC format.
            </summary>
            <param name="key">The property key/name</param>
            <param name="value">The value to convert</param>
            <param name="space">The indentation spacing (default: 16 spaces)</param>
            <returns>A formatted string representation of the key-value pair</returns>
        </member>
    </members>
</doc>