Skip to content

Commit 093b8f6

Browse files
authored
Merge pull request YousefED#78 from YousefED/dom/fix-77
Fixes for aliased types
2 parents d8a2465 + 19bc460 commit 093b8f6

File tree

19 files changed

+310
-23
lines changed

19 files changed

+310
-23
lines changed

test/programs/interface-recursion/schema.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77
"properties":{
88
"propA":{"type":"number"},
99
"propB":{"$ref": "#/definitions/MyObject"}
10-
}
10+
},
11+
"required": [
12+
"propA",
13+
"propB"
14+
]
1115
}
1216
}
1317
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
type MyString = string;
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-04/schema#",
3+
"type": "string"
4+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
interface MyObject {
3+
prop: number;
4+
}
5+
6+
type MyAlias = MyObject;
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-04/schema#",
3+
"definitions": {
4+
"MyObject": {
5+
"type": "object",
6+
"properties": {
7+
"prop": {
8+
"type": "number"
9+
}
10+
},
11+
"required": [
12+
"prop"
13+
]
14+
},
15+
"MyAlias": {
16+
"$ref": "#/definitions/MyObject"
17+
}
18+
},
19+
"$ref": "#/definitions/MyAlias"
20+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
interface MyObject {
3+
prop: number;
4+
}
5+
6+
type MyAlias = MyObject;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-04/schema#",
3+
"properties": {
4+
"prop": {
5+
"type": "number"
6+
}
7+
},
8+
"required": [
9+
"prop"
10+
],
11+
"type": "object"
12+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
namespace A {
2+
export interface A {a: any;}
3+
}
4+
namespace B {
5+
export interface B {b: any;}
6+
}
7+
namespace C {
8+
import A = B.B;
9+
export interface C {c: A;}
10+
}
11+
namespace D {
12+
import A = C.C;
13+
export interface D {d: A;}
14+
}
15+
16+
interface MyObject extends D.D {}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-04/schema#",
3+
"definitions": {
4+
"B.B": {
5+
"properties": {
6+
"b": {
7+
}
8+
},
9+
"required": [
10+
"b"
11+
],
12+
"type": "object"
13+
},
14+
"C.C": {
15+
"properties": {
16+
"c": {
17+
"$ref": "#/definitions/B.B"
18+
}
19+
},
20+
"required": [
21+
"c"
22+
],
23+
"type": "object"
24+
}
25+
},
26+
"properties": {
27+
"d": {
28+
"$ref": "#/definitions/C.C"
29+
}
30+
},
31+
"required": [
32+
"d"
33+
],
34+
"type": "object"
35+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2+
interface MyObject {
3+
alias: MyAlias;
4+
self: MyObject;
5+
}
6+
7+
type MyAlias = MyObject;

0 commit comments

Comments
 (0)