documentation/test/fixture/flow-types.output.json
John Firebaugh 08d6dc21bd Replace markdown strings with parsed ASTs
This eliminates the need for formatInlineTags and jsdoc-inline-lex, and simplifies the implementation of HTML themes.
2016-03-28 13:19:30 -07:00

711 lines
18 KiB
JSON

[
{
"description": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "This function returns the number one.",
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 38,
"offset": 37
},
"indent": []
}
}
],
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 38,
"offset": 37
},
"indent": []
}
}
],
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 38,
"offset": 37
}
}
},
"tags": [],
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
"line": 3,
"column": 3
}
},
"context": {
"loc": {
"start": {
"line": 4,
"column": 0
},
"end": {
"line": 6,
"column": 1
}
},
"code": "/**\n * This function returns the number one.\n */\nfunction addThem(a: Point, b: string, c: ?boolean, d: Array<number>, e: Object, f: Named): number {\n return a + b + c + d + e;\n}\n\n/**\n * A 2D point.\n *\n * @property {number} x this is a prop\n */\ntype Point = {\n x: number,\n y: number,\n rgb: {\n hex: string\n },\n props: {\n radius: {\n x: number\n }\n }\n};\n\n/**\n * A type with entirely derived properties\n */\ntype Two = {\n x: number,\n y: number\n};\n\n/**\n * Just an alias for an array of strings\n */\ntype T = Array<string>;\n\n/**\n * Very Important Transform\n */\nfunction veryImportantTransform(\n input: Array<string>,\n options: Object = {}\n): string {\n return \"42\";\n}\n"
},
"errors": [],
"name": "addThem",
"kind": "function",
"params": [
{
"title": "param",
"name": "a",
"lineNumber": 4,
"type": {
"type": "NameExpression",
"name": "Point"
}
},
{
"title": "param",
"name": "b",
"lineNumber": 4,
"type": {
"type": "NameExpression",
"name": "string"
}
},
{
"title": "param",
"name": "c",
"lineNumber": 4,
"type": {
"type": "OptionalType",
"expression": {
"type": "NameExpression",
"name": "boolean"
}
}
},
{
"title": "param",
"name": "d",
"lineNumber": 4,
"type": {
"type": "TypeApplication",
"expression": {
"type": "NameExpression",
"name": "Array"
},
"applications": [
{
"type": "NameExpression",
"name": "number"
}
]
}
},
{
"title": "param",
"name": "e",
"lineNumber": 4,
"type": {
"type": "NameExpression",
"name": "Object"
}
},
{
"title": "param",
"name": "f",
"lineNumber": 4,
"type": {
"type": "NameExpression",
"name": "Named"
}
}
],
"returns": [
{
"type": {
"type": "NameExpression",
"name": "number"
}
}
],
"members": {
"instance": [],
"static": []
},
"path": [
"addThem"
]
},
{
"description": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "A 2D point.",
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 12,
"offset": 11
},
"indent": []
}
}
],
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 12,
"offset": 11
},
"indent": []
}
}
],
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 12,
"offset": 11
}
}
},
"tags": [
{
"title": "property",
"description": "this is a prop",
"lineNumber": 3,
"type": {
"type": "NameExpression",
"name": "number"
},
"name": "x"
}
],
"loc": {
"start": {
"line": 8,
"column": 0
},
"end": {
"line": 12,
"column": 3
}
},
"context": {
"loc": {
"start": {
"line": 13,
"column": 0
},
"end": {
"line": 24,
"column": 2
}
},
"code": "/**\n * This function returns the number one.\n */\nfunction addThem(a: Point, b: string, c: ?boolean, d: Array<number>, e: Object, f: Named): number {\n return a + b + c + d + e;\n}\n\n/**\n * A 2D point.\n *\n * @property {number} x this is a prop\n */\ntype Point = {\n x: number,\n y: number,\n rgb: {\n hex: string\n },\n props: {\n radius: {\n x: number\n }\n }\n};\n\n/**\n * A type with entirely derived properties\n */\ntype Two = {\n x: number,\n y: number\n};\n\n/**\n * Just an alias for an array of strings\n */\ntype T = Array<string>;\n\n/**\n * Very Important Transform\n */\nfunction veryImportantTransform(\n input: Array<string>,\n options: Object = {}\n): string {\n return \"42\";\n}\n"
},
"errors": [],
"properties": [
{
"name": "x",
"lineNumber": 3,
"description": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "this is a prop",
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 15,
"offset": 14
},
"indent": []
}
}
],
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 15,
"offset": 14
},
"indent": []
}
}
],
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 15,
"offset": 14
}
}
},
"type": {
"type": "NameExpression",
"name": "number"
}
},
{
"title": "property",
"name": "y",
"lineNumber": 15,
"type": {
"type": "NameExpression",
"name": "number"
}
},
{
"title": "property",
"name": "rgb",
"lineNumber": 16,
"type": {
"type": "NameExpression",
"name": "Object"
},
"properties": [
{
"title": "property",
"name": "rgb.hex",
"lineNumber": 17,
"type": {
"type": "NameExpression",
"name": "string"
}
}
]
},
{
"title": "property",
"name": "props",
"lineNumber": 19,
"type": {
"type": "NameExpression",
"name": "Object"
},
"properties": [
{
"title": "property",
"name": "props.radius",
"lineNumber": 20,
"type": {
"type": "NameExpression",
"name": "Object"
},
"properties": [
{
"title": "property",
"name": "props.radius.x",
"lineNumber": 21,
"type": {
"type": "NameExpression",
"name": "number"
}
}
]
}
]
}
],
"name": "Point",
"kind": "typedef",
"members": {
"instance": [],
"static": []
},
"path": [
"Point"
]
},
{
"description": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "Just an alias for an array of strings",
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 38,
"offset": 37
},
"indent": []
}
}
],
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 38,
"offset": 37
},
"indent": []
}
}
],
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 38,
"offset": 37
}
}
},
"tags": [],
"loc": {
"start": {
"line": 34,
"column": 0
},
"end": {
"line": 36,
"column": 3
}
},
"context": {
"loc": {
"start": {
"line": 37,
"column": 0
},
"end": {
"line": 37,
"column": 23
}
},
"code": "/**\n * This function returns the number one.\n */\nfunction addThem(a: Point, b: string, c: ?boolean, d: Array<number>, e: Object, f: Named): number {\n return a + b + c + d + e;\n}\n\n/**\n * A 2D point.\n *\n * @property {number} x this is a prop\n */\ntype Point = {\n x: number,\n y: number,\n rgb: {\n hex: string\n },\n props: {\n radius: {\n x: number\n }\n }\n};\n\n/**\n * A type with entirely derived properties\n */\ntype Two = {\n x: number,\n y: number\n};\n\n/**\n * Just an alias for an array of strings\n */\ntype T = Array<string>;\n\n/**\n * Very Important Transform\n */\nfunction veryImportantTransform(\n input: Array<string>,\n options: Object = {}\n): string {\n return \"42\";\n}\n"
},
"errors": [],
"name": "T",
"kind": "typedef",
"members": {
"instance": [],
"static": []
},
"path": [
"T"
]
},
{
"description": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "A type with entirely derived properties",
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 40,
"offset": 39
},
"indent": []
}
}
],
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 40,
"offset": 39
},
"indent": []
}
}
],
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 40,
"offset": 39
}
}
},
"tags": [],
"loc": {
"start": {
"line": 26,
"column": 0
},
"end": {
"line": 28,
"column": 3
}
},
"context": {
"loc": {
"start": {
"line": 29,
"column": 0
},
"end": {
"line": 32,
"column": 2
}
},
"code": "/**\n * This function returns the number one.\n */\nfunction addThem(a: Point, b: string, c: ?boolean, d: Array<number>, e: Object, f: Named): number {\n return a + b + c + d + e;\n}\n\n/**\n * A 2D point.\n *\n * @property {number} x this is a prop\n */\ntype Point = {\n x: number,\n y: number,\n rgb: {\n hex: string\n },\n props: {\n radius: {\n x: number\n }\n }\n};\n\n/**\n * A type with entirely derived properties\n */\ntype Two = {\n x: number,\n y: number\n};\n\n/**\n * Just an alias for an array of strings\n */\ntype T = Array<string>;\n\n/**\n * Very Important Transform\n */\nfunction veryImportantTransform(\n input: Array<string>,\n options: Object = {}\n): string {\n return \"42\";\n}\n"
},
"errors": [],
"name": "Two",
"kind": "typedef",
"properties": [
{
"title": "property",
"name": "x",
"lineNumber": 30,
"type": {
"type": "NameExpression",
"name": "number"
}
},
{
"title": "property",
"name": "y",
"lineNumber": 31,
"type": {
"type": "NameExpression",
"name": "number"
}
}
],
"members": {
"instance": [],
"static": []
},
"path": [
"Two"
]
},
{
"description": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "text",
"value": "Very Important Transform",
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 25,
"offset": 24
},
"indent": []
}
}
],
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 25,
"offset": 24
},
"indent": []
}
}
],
"position": {
"start": {
"line": 1,
"column": 1,
"offset": 0
},
"end": {
"line": 1,
"column": 25,
"offset": 24
}
}
},
"tags": [],
"loc": {
"start": {
"line": 39,
"column": 0
},
"end": {
"line": 41,
"column": 3
}
},
"context": {
"loc": {
"start": {
"line": 42,
"column": 0
},
"end": {
"line": 47,
"column": 1
}
},
"code": "/**\n * This function returns the number one.\n */\nfunction addThem(a: Point, b: string, c: ?boolean, d: Array<number>, e: Object, f: Named): number {\n return a + b + c + d + e;\n}\n\n/**\n * A 2D point.\n *\n * @property {number} x this is a prop\n */\ntype Point = {\n x: number,\n y: number,\n rgb: {\n hex: string\n },\n props: {\n radius: {\n x: number\n }\n }\n};\n\n/**\n * A type with entirely derived properties\n */\ntype Two = {\n x: number,\n y: number\n};\n\n/**\n * Just an alias for an array of strings\n */\ntype T = Array<string>;\n\n/**\n * Very Important Transform\n */\nfunction veryImportantTransform(\n input: Array<string>,\n options: Object = {}\n): string {\n return \"42\";\n}\n"
},
"errors": [],
"name": "veryImportantTransform",
"kind": "function",
"params": [
{
"title": "param",
"name": "input",
"lineNumber": 43,
"type": {
"type": "TypeApplication",
"expression": {
"type": "NameExpression",
"name": "Array"
},
"applications": [
{
"type": "NameExpression",
"name": "string"
}
]
}
},
{
"title": "param",
"name": "options",
"default": "{}",
"type": {
"type": "OptionalType",
"expression": {
"type": "NameExpression",
"name": "Object"
}
}
}
],
"returns": [
{
"type": {
"type": "NameExpression",
"name": "string"
}
}
],
"members": {
"instance": [],
"static": []
},
"path": [
"veryImportantTransform"
]
}
]