Skip to content

Commit 9963d5e

Browse files
StartAutomatingStartAutomating
authored andcommitted
Adding \Types\PipeScript.Sentence (Fixes #243)
1 parent de6f5fd commit 9963d5e

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

PipeScript.types.ps1xml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -832,6 +832,54 @@ else {
832832
</ScriptProperty>
833833
</Members>
834834
</Type>
835+
<Type>
836+
<Name>PipeScript.Sentence</Name>
837+
<Members>
838+
<AliasProperty>
839+
<Name>Argument</Name>
840+
<ReferencedMemberName>Arguments</ReferencedMemberName>
841+
</AliasProperty>
842+
<AliasProperty>
843+
<Name>ArgumentList</Name>
844+
<ReferencedMemberName>Arguments</ReferencedMemberName>
845+
</AliasProperty>
846+
<AliasProperty>
847+
<Name>Parameter</Name>
848+
<ReferencedMemberName>Parameters</ReferencedMemberName>
849+
</AliasProperty>
850+
<ScriptMethod>
851+
<Name>Run</Name>
852+
<Script>
853+
if (-not $this.Keyword) {
854+
throw "Sentence lacks a keyword"
855+
}
856+
857+
if (-not $this.Command) {
858+
throw "Sentence has no command"
859+
}
860+
861+
$parameters = $this.Parameters
862+
$arguments = $this.Arguments
863+
864+
if (-not $parameters -and -not $arguments) {
865+
&amp; $this.Command
866+
}
867+
elseif (-not $arguments) {
868+
&amp; $this.Command @parameters
869+
}
870+
elseif (-not $parameters) {
871+
&amp; $this.Command @arguments
872+
}
873+
else {
874+
&amp; $this.Command @arguments @parameters
875+
}
876+
877+
878+
879+
</Script>
880+
</ScriptMethod>
881+
</Members>
882+
</Type>
835883
<Type>
836884
<Name>System.Management.Automation.ScriptBlock</Name>
837885
<Members>

0 commit comments

Comments
 (0)