GinShell.GoDaddy/Private/Resolve-GoDaddyDomain.ps1

function Resolve-GoDaddyDomain {
    <#
    .SYNOPSIS
        Splits a fully qualified domain name into record name and base domain.
    .DESCRIPTION
        Example: 'app.staging.example.com' → Name='app.staging', Domain='example.com'
    #>

    param (
        [Parameter(Mandatory)]
        [string]$FullDomainName
    )

    $parts = $FullDomainName.Split('.')
    if ($parts.Length -lt 3) {
        throw "FullDomainName '$FullDomainName' must have at least 3 parts (e.g., sub.example.com)."
    }

    return [PSCustomObject]@{
        Name   = ($parts[0..($parts.Length - 3)] -join '.')
        Domain = "$($parts[-2]).$($parts[-1])"
    }
}