File tree Expand file tree Collapse file tree 5 files changed +170
-2
lines changed Expand file tree Collapse file tree 5 files changed +170
-2
lines changed Original file line number Diff line number Diff line change
1
+ namespace RootNamespace {
2
+ export interface Def {
3
+ nest : Def ;
4
+ prev : RootNamespace . Def ;
5
+
6
+ propA : SubNamespace . HelperA ;
7
+ propB : SubNamespace . HelperB ;
8
+ }
9
+
10
+ export namespace SubNamespace {
11
+ export interface HelperA {
12
+ propA : number ;
13
+ propB : HelperB ;
14
+ }
15
+ export interface HelperB {
16
+ propA : SubNamespace . HelperA ;
17
+ propB : Def ;
18
+ }
19
+ }
20
+ }
Original file line number Diff line number Diff line change
1
+ {
2
+ "$schema" : " http://json-schema.org/draft-04/schema#" ,
3
+ "definitions" : {
4
+ "RootNamespace.Def" : {
5
+ "type" : " object" ,
6
+ "properties" : {
7
+ "nest" : {
8
+ "$ref" : " #/definitions/RootNamespace.Def"
9
+ },
10
+ "prev" : {
11
+ "$ref" : " #/definitions/RootNamespace.Def"
12
+ },
13
+ "propA" : {
14
+ "$ref" : " #/definitions/RootNamespace.SubNamespace.HelperA"
15
+ },
16
+ "propB" : {
17
+ "$ref" : " #/definitions/RootNamespace.SubNamespace.HelperB"
18
+ }
19
+ },
20
+ "required" : [
21
+ " nest" ,
22
+ " prev" ,
23
+ " propA" ,
24
+ " propB"
25
+ ],
26
+ "additionalProperties" : false
27
+ },
28
+ "RootNamespace.SubNamespace.HelperA" : {
29
+ "type" : " object" ,
30
+ "properties" : {
31
+ "propA" : {
32
+ "type" : " number"
33
+ },
34
+ "propB" : {
35
+ "$ref" : " #/definitions/RootNamespace.SubNamespace.HelperB"
36
+ }
37
+ },
38
+ "required" : [
39
+ " propA" ,
40
+ " propB"
41
+ ],
42
+ "additionalProperties" : false
43
+ },
44
+ "RootNamespace.SubNamespace.HelperB" : {
45
+ "type" : " object" ,
46
+ "properties" : {
47
+ "propA" : {
48
+ "$ref" : " #/definitions/RootNamespace.SubNamespace.HelperA"
49
+ },
50
+ "propB" : {
51
+ "$ref" : " #/definitions/RootNamespace.Def"
52
+ }
53
+ },
54
+ "required" : [
55
+ " propA" ,
56
+ " propB"
57
+ ],
58
+ "additionalProperties" : false
59
+ }
60
+ },
61
+ "$ref" : " #/definitions/RootNamespace.Def"
62
+ }
Original file line number Diff line number Diff line change
1
+ namespace RootNamespace {
2
+ export interface Def {
3
+ nest : Def ;
4
+ prev : RootNamespace . Def ;
5
+
6
+ propA : SubNamespace . HelperA ;
7
+ propB : SubNamespace . HelperB ;
8
+ }
9
+
10
+ export namespace SubNamespace {
11
+ export interface HelperA {
12
+ propA : number ;
13
+ propB : HelperB ;
14
+ }
15
+ export interface HelperB {
16
+ propA : SubNamespace . HelperA ;
17
+ propB : Def ;
18
+ }
19
+ }
20
+ }
Original file line number Diff line number Diff line change
1
+ {
2
+ "$schema" : " http://json-schema.org/draft-04/schema#" ,
3
+ "definitions" : {
4
+ "RootNamespace.Def" : {
5
+ "type" : " object" ,
6
+ "properties" : {
7
+ "nest" : {
8
+ "$ref" : " #/definitions/RootNamespace.Def"
9
+ },
10
+ "prev" : {
11
+ "$ref" : " #/definitions/RootNamespace.Def"
12
+ },
13
+ "propA" : {
14
+ "$ref" : " #/definitions/RootNamespace.SubNamespace.HelperA"
15
+ },
16
+ "propB" : {
17
+ "$ref" : " #/definitions/RootNamespace.SubNamespace.HelperB"
18
+ }
19
+ },
20
+ "required" : [
21
+ " nest" ,
22
+ " prev" ,
23
+ " propA" ,
24
+ " propB"
25
+ ],
26
+ "additionalProperties" : false
27
+ },
28
+ "RootNamespace.SubNamespace.HelperA" : {
29
+ "type" : " object" ,
30
+ "properties" : {
31
+ "propA" : {
32
+ "type" : " number"
33
+ },
34
+ "propB" : {
35
+ "$ref" : " #/definitions/RootNamespace.SubNamespace.HelperB"
36
+ }
37
+ },
38
+ "required" : [
39
+ " propA" ,
40
+ " propB"
41
+ ],
42
+ "additionalProperties" : false
43
+ },
44
+ "RootNamespace.SubNamespace.HelperB" : {
45
+ "type" : " object" ,
46
+ "properties" : {
47
+ "propA" : {
48
+ "$ref" : " #/definitions/RootNamespace.SubNamespace.HelperA"
49
+ },
50
+ "propB" : {
51
+ "$ref" : " #/definitions/RootNamespace.Def"
52
+ }
53
+ },
54
+ "required" : [
55
+ " propA" ,
56
+ " propB"
57
+ ],
58
+ "additionalProperties" : false
59
+ }
60
+ },
61
+ "$ref" : " #/definitions/RootNamespace.SubNamespace.HelperA"
62
+ }
Original file line number Diff line number Diff line change @@ -173,11 +173,15 @@ describe("schema", () => {
173
173
assertSchema ( "string-literals-inline" , "MyObject" ) ;
174
174
} ) ;
175
175
176
+ describe ( "namspeaces" , ( ) => {
177
+ assertSchema ( "namespace" , "Type" ) ;
178
+ assertSchema ( "namespace-deep-1" , "RootNamespace.Def" ) ;
179
+ assertSchema ( "namespace-deep-2" , "RootNamespace.SubNamespace.HelperA" ) ;
180
+ } ) ;
181
+
176
182
describe ( "other" , ( ) => {
177
183
assertSchema ( "array-and-description" , "MyObject" ) ;
178
184
179
- assertSchema ( "namespace" , "Type" ) ;
180
-
181
185
assertSchema ( "optionals" , "MyObject" ) ;
182
186
183
187
assertSchema ( "strict-null-checks" , "MyObject" , undefined , {
You can’t perform that action at this time.
0 commit comments