Source/Toolbox/Initialize-ToolboxDataLocation.ps1

<#
.SYNOPSIS
    Ensures the Toolbox data location exists on disk.
.DESCRIPTION
    Resolves the Toolbox data location via Get-ToolboxDataLocation and creates it on disk if it doesn't already exist.
.EXAMPLE
    Initialize-ToolboxDataLocation
.INPUTS
    None.
.OUTPUTS
    [System.String] The resolved Toolbox data location.
#>


function Initialize-ToolboxDataLocation {

    [OutputType([string])]
    [CmdletBinding(SupportsShouldProcess)]

    param()

    $location = Get-ToolboxDataLocation

    if (-not (Test-Path -Path $location)) {

        if ($PSCmdlet.ShouldProcess($location, "Create Toolbox data location")) {

            New-Item -Path $location -ItemType "Directory" -Force | Out-Null

        }

    }

    return $location

}