PSModuleDevelopment
A column in a format table definition
The name to select a property by. Ignored if a scriptblock is set.
A scriptblock to determine column content at runtime
The label to apply to the column
Total width of the column. Anything less than one will be ignored.
Name to show and sort with. Used for sorting and to explicitly assign positions.
How to align the text.
The text to use in the definition's header
The text to use in the definition's body
Compares one column with another
The item to compare the current one with
-1, 0 or 1
The way text can be oriented
No alignment implies the property being not set. Instead, it will use the datatype default orientation.
Text is oriented to the left
Text is centered
Text is oriented to the right
There was no alignment specified. Used to not apply changes during transformation
A set of transformation rules that determine, wheter a column needs to be updated
A filter rule, based on the name of the view
A filter rule, based on the name of the column
Whether the rule should be added as an additional property, if no matching ColumName was found.
A scriptblock to determine column content at runtime
The label to apply to the column
Total width of the column. Anything less than one will be ignored.
How to align the text.
Empty constructor for manual assembly
Hashtable constructor, in order to automatically convert&understand input
The hashtable to parse
Applies changes to column
The column to affect
A format document. Should be written to a *.Format.ps1xml format.
Name of the document. Purely cosmetic in nature.
List of views stored in this document.
The XML definition of this format document
Returns the string representation of the format XML
The string representation of the format XML
A Format Table definition
Whether to automatically size the column width
List of columns to
The string representation of a format table fragment.
Sets the columns to this specified order, using the SortableName property to assign.
Not listed properties will be moved to the end of the list.
The names to sort by
Applies a transformation rule to the columns stored in this view
The transformation rule to apply
The default string representation of a tableview format definition
The default string representation of a tableview format definition
Base class for format definitions
The name of the definition
The typenames selected by
The selectionset to select by
The string representation. Must be overridden by all implementing classes.
The string representation. Must be overridden by all implementing classes.
The format string to produce for the format file.
Implement IComparable
The item to compare the current instance with
1, 0 or -1
Class containing information about a class's constructor
The type the constructor is part of
The constructor definition
Whether the constructor is public
The actual parameters of the constructor
The actual constructor object
Creates a new constructor object, designed for display in PowerShell
The constructor info object describing the constructor
Base class for all kinds of parameters gen 2+
Name of the parameter
Description of the parameter
Get the value associated with this parameter
The value to insert into the artifact generated from the template
A template parameter where the user is prompted for input.
The value provided by the user
List of legal values to provide
A validation pattern that needs to be met.
An error description that will be shown if the user provides invalid input to a parameter with pattern validation.
Test whether the input meets the validation rules
The value to test
Whether the value is valid.
Return the value specified by the user.
The value specified by the user
Parameter type executing
The scriptblock to execute.
Wrapped as string for serialization purposes.
The value of the scriptblock.
Populated by the GetValue() method usually called with the "StartUp" timing.
When exactly during the template process should this scriptblock be executed?
Setting this to true will cause the Invoke-PSMDTemplate command to omit inserting values for the
Returns the string value of the scriptblock by executing it!
The string value of the scriptblock by executing it!
Execute the scriptblock "Just-in-time" during either PreItemCreation or PostItemCreation Timing.
The file/directory info object of the object recently or about to be created
Returns a string value resulting from the scriptblock to insert
Execute the scriptblock "Just-in-time" during either PreItemCreation or PostItemCreation Timing.
The path to the file/directory info object of the object recently or about to be created
Whether the object (about to be) created is a file.
Returns a string value resulting from the scriptblock to insert
When will a specific scriptblock parameter be executed?
Executed when starting the overall template invocation
Executed before an individual item using it is created.
Values will be inserted into the file-content before writing to disk if applicable.
Executed after the individual item using it has been created.
Output will be discarded, but scriptblock will receive path of file / folder.
Executed after the entire project has been written.
Enables post-processing.
A script used to calculate content to be inserted
Name of the scriptblock (auto-assigned or specified)
The scriptblock to invoke
Direct string representation of the scriptblock.
Creates an empty parameter script. Usually used in serialization.
Creates a prefilled paramter script. Usually used when creating templates
The name of the parameter. This is used to insert it into individual files or file names.
Creates a prefilled parameter script. Usually used in fixing serialization the hard way.
The deserialized ParameterScript item
Class containing information relating to where templates are stored
The name of the store
The path the store is pointed to
A directory information wrapper to more easily manipulate it
Whether the diretory already exists
Ensures the store actually exists
True if it worked, false otherwise
The master class containing a template
The name of the template
What kind of template is this?
What version is the template
Text describing the template
Author of the template
When was the template originally created?
List of tags that have been assigned to the template
List of parameters the template accepts
List of scripts that will be invoked on initialization
List of generation 2 parameters to include
Items in the root directory of the template (which may contain children themselves).
What design generation is the template?
Returns the template digest used as index file.
A TemplateInfo object describing this template.
Create a blank template object
Create a template object based on a deserialized template object
The deserialized tample object to restore
If anything at all is not as it should be.
Static helpers for the template system
Convert a deserialized template item into a fully valid object of its type.
The PSObject to transform back into what it was meant to be
The resultant TemplateItemBase
Class containing meta information about a template
The name of the template
What kind of template is this?
What version is the template
Text describing the template
Author of the template
When was the template originally created?
List of tags that have been assigned to the template
List of parameters the template accepts
The store the template is stored in.
The path to the template file
What template generation is this file?
The version-qualified name of the template
The version-qualified name of the template
Base class for all files & folders that can be part of a template
Name of the item
The full path from the project root
The string sequence used to identify variables in this file
List of flat string insertion parameters for the filesystem object's name
List of script value insertion parameters for the filesystem object's name
Describes a file that is part of a template
The value of the file. May contain plaintext UTF8 in cases of script files or similar text files. Base64 Encoded string in case of binary files.
Whether the file is interpreted as plain text. If not, it will be assumed to be a Base64 encoded binary file.
List of flat string insertion parameters for the plaintext file
List of script value insertion parameters for the plaintext file
Creates an empty TemplateItemFile
Creates a filled-out TemplateItemFile.
Usually called when deserializing a template.
The deserialized instance of this template item file.
Describes a folder that is part of a template
Items under the current item.
The result object of a template invokation item.
A project template will generate one such object per file/folder
Name of the file or folder
Path the file or folder should be written to
The full, resolved path of the item
Any content to write (only viable for files)
Whether the item to create is a folder or a file
Whether the file is a text-file.
If false, it will be written as a binary file instead.
Is the template a single file or a project?
The template consists of a single file
The template consists of multiple files
The lines of code in a scanned script
The number of lines found
The path to the file that was scanned
Whether the file could be successfully scanned
The individual lines that contained code
The ast of the script that was scanned
The result object returned by Search-PSMDPropertyValue
Path notation on nested properties
The name of the property found
The full name of the property
Individual property names on a found nested property.
The actual value found
The type of the value found
How deeply nested was the property found.
The original input object
Creates an empty object. Only used for serialization support.
Creates a full report object from using Search-PSMDPropertyValue
The name of the property
The path elements if it is a nested property
The actual value found
The original input object offered to the command.
Extends the PSObject with C# convenience
Get the value!
The type of the value
The object to extend
The name of the property that has the value
The value
Get the Values!
Always as an arraylist, empty if null
The object to extend
>The name of the property that has the values
The values
Get a hashtable value!
The type of the values in hashtable
The object to extend
The name of the property that has the hashtable
The hashtable!
What a text can be aligned to
The text should be left-aligned
The text should be centered
The text should be right aligned
Object containing information
The text of the header
The number of lines the header text has
The maximum width any line of text has.
The symbol of the left top corner
The symbol of the right top corner
The symbol of the left bottom corner
The symbol of the right bottom corner
The symbol of the right border
The symbol of the left border
The symbol of the top border
The symbol of the bottom border
Whether the header should be as wide as the window running the code
How wide should the header be, if it isn't set to max. Anything shorter than the text width will be ignored
How the text should be aligned within the header
Whether the text should be padded on the side it is aligned to
Creates a new header around the specified string
The string to put in a header
Converts the header into its string representation
The header text to use whereever said header is needed.
Host class, containing statics in support of the utility namespace
Gives access to the host UI, in order to access window information
Implement's VB's Like operator logic.
Converts a string of characters to a HashSet of characters. If the string
contains character ranges, such as A-Z, all characters in the range are
also added to the returned set of characters.
Character list string
Replace a value in a string with another.
Extends the default c# String.Replace with the capability to be case-insensitive.
The string to modify
The value to look for and replace with someting else
The value to insert where you found the previous value. Leave empty to just delete the original value.
Whether to be case sensitive in your replacement. Defaults to false, this being PowerShell
The original string, with all instances of the looked for value replaced with the new value.