Skip to content

Commit 16fa647

Browse files
Merge pull request #7 from SchemaModule/issue-3
Issue 3
2 parents d6cb34c + 4f99cb1 commit 16fa647

File tree

1 file changed

+24
-16
lines changed

1 file changed

+24
-16
lines changed

schema/schema.psm1

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,28 +33,36 @@ function Get-Document {
3333
}
3434
}
3535
function Get-Object {
36+
[CmdletBinding(
37+
HelpURI = 'https://github.com/SchemaModule/PowerShell/blob/master/docs/Get-Object.md#get-object',
38+
PositionalBinding = $true)]
39+
[OutputType([Object])]
3640
param (
41+
[Parameter(ValueFromPipeline)]
3742
[object]$Schema
3843
)
39-
$Properties = $Schema.properties | Get-Member -MemberType NoteProperty | Select-Object -ExpandProperty Name;
40-
$Members = @{};
41-
foreach ($Property in $Properties) {
42-
switch ($Schema.properties.$Property.type) {
43-
'object' {
44-
$Members.Add($Property, (New-Object -TypeName psobject -Property @{}))
45-
}
46-
'array' {
47-
$Members.Add($Property, @())
48-
}
49-
'string' {
50-
$Members.Add($Property, "")
51-
}
52-
'number' {
53-
$Members.Add($Property, [Int16]"")
44+
45+
process {
46+
$Properties = $Schema.properties | Get-Member -MemberType NoteProperty | Select-Object -ExpandProperty Name;
47+
$Members = @{};
48+
foreach ($Property in $Properties) {
49+
switch ($Schema.properties.$Property.type) {
50+
'object' {
51+
$Members.Add($Property, (New-Object -TypeName psobject -Property @{}))
52+
}
53+
'array' {
54+
$Members.Add($Property, @())
55+
}
56+
'string' {
57+
$Members.Add($Property, "")
58+
}
59+
'number' {
60+
$Members.Add($Property, [Int16]"")
61+
}
5462
}
5563
}
64+
New-Object -TypeName psobject -Property $Members;
5665
}
57-
New-Object -TypeName psobject -Property $Members;
5866
}
5967
function Get-Array {
6068
param (

0 commit comments

Comments
 (0)