documentation/test/fixture/flow-types.output.json
Tom MacWright 3da1ff6dd0 Source-sorting by default (#410)
* Source-sorting by default

Many changes

* Uses a new version of module-deps that exposes a sort key
  we use to sort documentation.
* Adds inference for methods in objects
* Groups events into a separate comment property

* Add jsdoc property. Refs https://github.com/documentationjs/documentation/pull/388#issuecomment-215791547

* Namespaces and paths

* More powerful paths: paths now include name, kind, and scope
* comments now include a 'namespace' property with a formatted namespace

* Fix tests

* Re-ignore fonts

* Nix sourceKey from output

* Pin dependency versions

* Fix module-deps-sortable ref

* Update tests for right deps
2016-04-29 18:09:52 -04:00

731 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": [
{
"name": "addThem",
"kind": "function"
}
],
"namespace": "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": [
{
"name": "Point",
"kind": "typedef"
}
],
"namespace": "Point"
},
{
"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": [
{
"name": "Two",
"kind": "typedef"
}
],
"namespace": "Two"
},
{
"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": [
{
"name": "T",
"kind": "typedef"
}
],
"namespace": "T"
},
{
"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": [
{
"name": "veryImportantTransform",
"kind": "function"
}
],
"namespace": "veryImportantTransform"
}
]