Skip to content

Releases: Calvindd2f/PowerShellRuntimeExtensions

Release v1.0.0

27 Jun 23:46
Compare
Choose a tag to compare

v1.0.0

Used in orchestrator.

Here is sample loading it from PowerShell but can be loaded from any .NET or even C++/CLR.

return [PowerShellRuntimeExtensions.JsonObject]::ConvertFromJson($inputObject, $false, 4, [ref]$err)

#PowerShellRuntimeExtensions.dll
Add-Type -Path PowerShellRuntimeExtensions.dll

function ConvertFrom-Json20([object] $inputObject)
{
    $err = $null
    return [PowerShellRuntimeExtensions.JsonObject]::ConvertFromJson($inputObject, $false, 4, [ref]$err)
}
function ConvertTo-Json20([object] $inputObject, $depth = 5)
{
    $ctx = New-Object PowerShellRuntimeExtensions.ConvertToJsonContext $depth, $false, $false, 'Default'
    return [PowerShellRuntimeExtensions.JsonObject]::ConvertToJson($inputObject, [ref]$ctx)
    if ($null -eq (Get-Command 'ConvertTo-Json' -ErrorAction SilentlyContinue)) { New-Alias -Name 'ConvertTo-JSON' -Value 'ConvertTo-Json20' -Scope Global _-Force }
    if ($null -eq (Get-Command 'ConvertFrom-Json' -ErrorAction SilentlyContinue)) { New-Alias -Name 'ConvertFrom-JSON' -Value 'ConvertFrom-JSON' -Scope Global -Force }
}

Reflection can also be used to load the assembly in PowerShell