@@ -1480,8 +1480,23 @@ declare module td {
14801480 }
14811481}
14821482declare module td {
1483+ /**
1484+ * Base class of all type definitions.
1485+ *
1486+ * Instances of this class are also used to represent the type `void`.
1487+ */
14831488 class Type {
1489+ /**
1490+ * Is this an array type?
1491+ */
14841492 isArray : boolean ;
1493+ /**
1494+ * Return a raw object representation of this type.
1495+ */
1496+ toObject ( ) : any ;
1497+ /**
1498+ * Return a string representation of this type.
1499+ */
14851500 toString ( ) : string ;
14861501 }
14871502}
@@ -1645,12 +1660,6 @@ declare module td {
16451660 * rendered in templates.
16461661 */
16471662 typeHierarchy : IDeclarationHierarchy ;
1648- /**
1649- * Is this reflection representing a container like a module or class?
1650- isContainer() {
1651- return this.kindOf(TypeScript.PullElementKind.SomeContainer);
1652- }
1653- */
16541663 getAllSignatures ( ) : SignatureReflection [ ] ;
16551664 /**
16561665 * Traverse all potential child reflections of this reflection.
@@ -1685,6 +1694,10 @@ declare module td {
16851694 * @param callback The callback function that should be applied for each child reflection.
16861695 */
16871696 traverse ( callback : ITraverseCallback ) : void ;
1697+ /**
1698+ * Return a raw object representation of this reflection.
1699+ */
1700+ toObject ( ) : any ;
16881701 /**
16891702 * Return a string representation of this reflection.
16901703 */
@@ -1780,6 +1793,10 @@ declare module td {
17801793 * @param callback The callback function that should be applied for each child reflection.
17811794 */
17821795 traverse ( callback : ITraverseCallback ) : void ;
1796+ /**
1797+ * Return a raw object representation of this reflection.
1798+ */
1799+ toObject ( ) : any ;
17831800 /**
17841801 * Return a string representation of this reflection.
17851802 */
@@ -1794,56 +1811,222 @@ declare module td {
17941811 * Create a new TypeParameterReflection instance.
17951812 */
17961813 constructor ( parent ?: Reflection , type ?: TypeParameterType ) ;
1814+ /**
1815+ * Return a raw object representation of this reflection.
1816+ */
1817+ toObject ( ) : any ;
17971818 }
17981819}
17991820declare module td {
1821+ /**
1822+ * Represents an intrinsic type like `string` or `boolean`.
1823+ *
1824+ * ~~~
1825+ * var value:number;
1826+ * ~~~
1827+ */
18001828 class IntrinsicType extends Type {
1829+ /**
1830+ * The name of the intrinsic type like `string` or `boolean`.
1831+ */
18011832 name : string ;
1833+ /**
1834+ * Create a new instance of IntrinsicType.
1835+ *
1836+ * @param name The name of the intrinsic type like `string` or `boolean`.
1837+ */
18021838 constructor ( name : string ) ;
1839+ /**
1840+ * Return a raw object representation of this type.
1841+ */
1842+ toObject ( ) : any ;
1843+ /**
1844+ * Return a string representation of this type.
1845+ */
18031846 toString ( ) : string ;
18041847 }
18051848}
18061849declare module td {
1850+ /**
1851+ * Represents a type that refers to another reflection like a class, interface or enum.
1852+ *
1853+ * ~~~
1854+ * var value:MyClass;
1855+ * ~~~
1856+ */
18071857 class ReferenceType extends Type {
1858+ /**
1859+ * The name of the referenced type.
1860+ *
1861+ * If the symbol cannot be found cause it's not part of the documentation this
1862+ * can be used to represent the type.
1863+ */
18081864 name : string ;
1865+ /**
1866+ * The symbol id of the referenced type as returned from the TypeScript compiler.
1867+ *
1868+ * After the all reflections have been generated this is can be used to lookup the
1869+ * relevant reflection with [[ProjectReflection.symbolMapping]].
1870+ */
18091871 symbolID : number ;
1872+ /**
1873+ * The resolved reflection.
1874+ *
1875+ * The [[TypePlugin]] will try to set this property in the resolving phase.
1876+ */
18101877 reflection : Reflection ;
1878+ /**
1879+ * Create a new instance of ReferenceType.
1880+ *
1881+ * @param name The name of the referenced type.
1882+ * @param symbolID The symbol id of the referenced type as returned from the TypeScript compiler.
1883+ * @param reflection The resolved reflection if already known.
1884+ */
18111885 constructor ( name : string , symbolID : number , reflection ?: Reflection ) ;
1886+ /**
1887+ * Return a raw object representation of this type.
1888+ */
1889+ toObject ( ) : any ;
1890+ /**
1891+ * Return a string representation of this type.
1892+ */
18121893 toString ( ) : string ;
18131894 }
18141895}
18151896declare module td {
1897+ /**
1898+ * Represents a type which has it's own reflection like literal types.
1899+ *
1900+ * ~~~
1901+ * var value:{subValueA;subValueB;subValueC;};
1902+ * ~~~
1903+ */
18161904 class ReflectionType extends Type {
1905+ /**
1906+ * The reflection of the type.
1907+ */
18171908 declaration : DeclarationReflection ;
1909+ /**
1910+ * Create a new instance of ReflectionType.
1911+ *
1912+ * @param declaration The reflection of the type.
1913+ */
18181914 constructor ( declaration : DeclarationReflection ) ;
1915+ /**
1916+ * Return a raw object representation of this type.
1917+ */
1918+ toObject ( ) : any ;
1919+ /**
1920+ * Return a string representation of this type.
1921+ */
18191922 toString ( ) : string ;
18201923 }
18211924}
18221925declare module td {
1926+ /**
1927+ * Represents a string literal type.
1928+ *
1929+ * ~~~
1930+ * var value:"DIV";
1931+ * ~~~
1932+ */
18231933 class StringLiteralType extends Type {
1934+ /**
1935+ * The string literal value.
1936+ */
18241937 value : string ;
1938+ /**
1939+ * Create a new instance of StringLiteralType.
1940+ *
1941+ * @param value The string literal value.
1942+ */
18251943 constructor ( value : string ) ;
1944+ /**
1945+ * Return a raw object representation of this type.
1946+ */
1947+ toObject ( ) : any ;
1948+ /**
1949+ * Return a string representation of this type.
1950+ */
18261951 toString ( ) : string ;
18271952 }
18281953}
18291954declare module td {
1955+ /**
1956+ * Represents a tuple type.
1957+ *
1958+ * ~~~
1959+ * var value:[string,boolean];
1960+ * ~~~
1961+ */
18301962 class TupleType extends Type {
1963+ /**
1964+ * The ordered type elements of the tuple type.
1965+ */
18311966 elements : Type [ ] ;
1967+ /**
1968+ * Create a new TupleType instance.
1969+ *
1970+ * @param elements The ordered type elements of the tuple type.
1971+ */
18321972 constructor ( elements : Type [ ] ) ;
1973+ /**
1974+ * Return a raw object representation of this type.
1975+ */
1976+ toObject ( ) : any ;
1977+ /**
1978+ * Return a string representation of this type.
1979+ */
18331980 toString ( ) : string ;
18341981 }
18351982}
18361983declare module td {
1984+ /**
1985+ * Represents a type parameter type.
1986+ *
1987+ * ~~~
1988+ * var value:T;
1989+ * ~~~
1990+ */
18371991 class TypeParameterType extends Type {
1992+ /**
1993+ *
1994+ */
18381995 name : string ;
18391996 constraint : Type ;
1997+ /**
1998+ * Return a raw object representation of this type.
1999+ */
2000+ toObject ( ) : any ;
2001+ /**
2002+ * Return a string representation of this type.
2003+ */
18402004 toString ( ) : string ;
18412005 }
18422006}
18432007declare module td {
2008+ /**
2009+ * Represents all unknown types.
2010+ */
18442011 class UnknownType extends Type {
2012+ /**
2013+ * A string representation of the type as returned from TypeScript compiler.
2014+ */
18452015 name : string ;
2016+ /**
2017+ * Create a new instance of UnknownType.
2018+ *
2019+ * @param name A string representation of the type as returned from TypeScript compiler.
2020+ */
18462021 constructor ( name : string ) ;
2022+ /**
2023+ * Return a raw object representation of this type.
2024+ */
2025+ toObject ( ) : any ;
2026+ /**
2027+ * Return a string representation of this type.
2028+ */
2029+ toString ( ) : string ;
18472030 }
18482031}
18492032/**
0 commit comments