@storybook/react 6.5.9 → 7.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -47
- package/dist/cjs/config.js +43 -0
- package/dist/cjs/{client/docs → docs}/config.js +3 -7
- package/dist/cjs/docs/extractArgTypes.js +47 -0
- package/dist/cjs/{client/docs → docs}/extractProps.js +9 -29
- package/dist/cjs/docs/jsxDecorator.js +210 -0
- package/dist/cjs/{client/docs → docs}/lib/captions.js +6 -6
- package/dist/cjs/docs/lib/componentTypes.js +14 -0
- package/dist/cjs/{client/docs → docs}/lib/defaultValues/createDefaultValue.js +16 -11
- package/dist/cjs/{client/docs → docs}/lib/defaultValues/createFromRawDefaultProp.js +38 -58
- package/dist/cjs/{client/docs → docs}/lib/defaultValues/generateArray.js +8 -6
- package/dist/cjs/{client/docs → docs}/lib/defaultValues/generateObject.js +8 -6
- package/dist/cjs/{client/docs → docs}/lib/defaultValues/index.js +2 -8
- package/dist/cjs/{client/docs → docs}/lib/defaultValues/prettyIdentifier.js +12 -10
- package/dist/cjs/{client/docs → docs}/lib/generateCode.js +10 -25
- package/dist/cjs/{client/docs → docs}/lib/index.js +4 -10
- package/dist/cjs/{client/docs → docs}/lib/inspection/acornParser.js +34 -58
- package/dist/cjs/{client/docs → docs}/lib/inspection/index.js +2 -8
- package/dist/cjs/{client/docs → docs}/lib/inspection/inspectValue.js +1 -3
- package/dist/cjs/{client/docs → docs}/lib/inspection/types.js +1 -1
- package/dist/cjs/{client/docs → docs}/lib/isHtmlTag.js +0 -4
- package/dist/cjs/{client/docs → docs}/propTypes/createType.js +102 -115
- package/dist/cjs/{client/docs → docs}/propTypes/generateFuncSignature.js +13 -23
- package/dist/cjs/{client/docs → docs}/propTypes/handleProp.js +13 -15
- package/dist/cjs/{client/docs → docs}/propTypes/rawDefaultPropResolvers.js +10 -14
- package/dist/cjs/docs/propTypes/sortProps.js +21 -0
- package/dist/cjs/docs/react-argtypes.stories.js +67 -0
- package/dist/cjs/{client/docs → docs}/typeScript/handleProp.js +11 -11
- package/dist/cjs/{client/index.js → index.js} +14 -19
- package/dist/cjs/{client/preview → preview}/config.js +3 -9
- package/dist/cjs/{client/preview → preview}/globals.js +3 -1
- package/dist/cjs/preview/index.js +44 -0
- package/dist/cjs/preview/render.js +165 -0
- package/dist/cjs/{client/preview → preview}/types-6-0.js +0 -0
- package/dist/cjs/{client/preview → preview}/types-6-3.js +1 -7
- package/dist/cjs/{client/preview → preview}/types-7-0.js +0 -0
- package/dist/cjs/{client/preview → preview}/types.js +0 -0
- package/dist/cjs/{client/testing → testing}/index.js +3 -3
- package/dist/esm/config.js +6 -0
- package/dist/{modern/client → esm}/docs/config.js +0 -2
- package/dist/{modern/client → esm}/docs/extractArgTypes.js +0 -1
- package/dist/{modern/client → esm}/docs/extractProps.js +0 -0
- package/dist/{modern/client → esm}/docs/jsxDecorator.js +11 -18
- package/dist/{modern/client → esm}/docs/lib/captions.js +0 -0
- package/dist/{modern/client → esm}/docs/lib/componentTypes.js +0 -0
- package/dist/{modern/client → esm}/docs/lib/defaultValues/createDefaultValue.js +0 -0
- package/dist/{modern/client → esm}/docs/lib/defaultValues/createFromRawDefaultProp.js +1 -0
- package/dist/{modern/client → esm}/docs/lib/defaultValues/generateArray.js +0 -0
- package/dist/{modern/client → esm}/docs/lib/defaultValues/generateObject.js +0 -0
- package/dist/esm/{client/docs → docs}/lib/defaultValues/index.js +0 -0
- package/dist/{modern/client → esm}/docs/lib/defaultValues/prettyIdentifier.js +6 -6
- package/dist/{modern/client → esm}/docs/lib/generateCode.js +0 -0
- package/dist/esm/{client/docs → docs}/lib/index.js +0 -0
- package/dist/{modern/client → esm}/docs/lib/inspection/acornParser.js +0 -0
- package/dist/esm/{client/docs → docs}/lib/inspection/index.js +0 -0
- package/dist/{modern/client → esm}/docs/lib/inspection/inspectValue.js +0 -0
- package/dist/{modern/client → esm}/docs/lib/inspection/types.js +0 -0
- package/dist/{modern/client → esm}/docs/lib/isHtmlTag.js +0 -0
- package/dist/{modern/client → esm}/docs/propTypes/createType.js +0 -1
- package/dist/{modern/client → esm}/docs/propTypes/generateFuncSignature.js +0 -0
- package/dist/{modern/client → esm}/docs/propTypes/handleProp.js +0 -0
- package/dist/{modern/client → esm}/docs/propTypes/rawDefaultPropResolvers.js +0 -0
- package/dist/{modern/client → esm}/docs/propTypes/sortProps.js +0 -0
- package/dist/{modern/client → esm}/docs/react-argtypes.stories.js +0 -0
- package/dist/{modern/client → esm}/docs/typeScript/handleProp.js +0 -0
- package/dist/{modern/client → esm}/index.js +2 -4
- package/dist/esm/preview/config.js +1 -0
- package/dist/{modern/client → esm}/preview/globals.js +0 -0
- package/dist/{modern/client → esm}/preview/index.js +1 -1
- package/dist/{modern/client → esm}/preview/render.js +2 -2
- package/dist/esm/{client/preview → preview}/types-6-0.js +0 -0
- package/dist/esm/{client/preview → preview}/types-6-3.js +0 -0
- package/dist/esm/{client/preview → preview}/types-7-0.js +0 -0
- package/dist/esm/{client/preview → preview}/types.js +0 -0
- package/dist/{modern/client → esm}/testing/index.js +0 -0
- package/dist/types/config.d.ts +10 -0
- package/dist/types/docs/config.d.ts +10 -0
- package/dist/{ts3.9/client → types}/docs/extractArgTypes.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/extractProps.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/jsxDecorator.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/captions.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/componentTypes.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/defaultValues/createDefaultValue.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/defaultValues/createFromRawDefaultProp.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/defaultValues/generateArray.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/defaultValues/generateObject.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/defaultValues/index.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/defaultValues/prettyIdentifier.d.ts +1 -1
- package/dist/{ts3.9/client → types}/docs/lib/generateCode.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/index.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/inspection/acornParser.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/inspection/index.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/inspection/inspectValue.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/inspection/types.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/lib/isHtmlTag.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/propTypes/createType.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/propTypes/generateFuncSignature.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/propTypes/handleProp.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/propTypes/rawDefaultPropResolvers.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/propTypes/sortProps.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/react-argtypes.stories.d.ts +0 -0
- package/dist/{ts3.9/client → types}/docs/typeScript/handleProp.d.ts +0 -0
- package/dist/{ts3.9/client → types}/index.d.ts +0 -0
- package/dist/types/preview/config.d.ts +1 -0
- package/dist/{ts3.9/client → types}/preview/globals.d.ts +0 -0
- package/dist/{ts3.9/client → types}/preview/index.d.ts +0 -0
- package/dist/{ts3.9/client → types}/preview/render.d.ts +0 -0
- package/dist/{ts3.9/client → types}/preview/types-6-0.d.ts +0 -0
- package/dist/{ts3.9/client → types}/preview/types-6-3.d.ts +0 -0
- package/dist/{ts3.9/client → types}/preview/types-7-0.d.ts +0 -0
- package/dist/{ts3.9/client → types}/preview/types.d.ts +0 -0
- package/dist/{ts3.9/client → types}/testing/index.d.ts +1 -1
- package/package.json +17 -61
- package/preview.js +1 -0
- package/bin/build.js +0 -4
- package/bin/index.js +0 -3
- package/demo.d.ts +0 -32
- package/demo.js +0 -5
- package/dist/cjs/client/docs/extractArgTypes.js +0 -54
- package/dist/cjs/client/docs/jsxDecorator.js +0 -277
- package/dist/cjs/client/docs/lib/componentTypes.js +0 -24
- package/dist/cjs/client/docs/propTypes/sortProps.js +0 -37
- package/dist/cjs/client/docs/react-argtypes.stories.js +0 -129
- package/dist/cjs/client/preview/index.js +0 -52
- package/dist/cjs/client/preview/render.js +0 -296
- package/dist/cjs/demo/Button.js +0 -37
- package/dist/cjs/demo/Welcome.js +0 -126
- package/dist/cjs/server/build.js +0 -9
- package/dist/cjs/server/cra-config.js +0 -69
- package/dist/cjs/server/framework-preset-cra.js +0 -35
- package/dist/cjs/server/framework-preset-react-docs.js +0 -68
- package/dist/cjs/server/framework-preset-react-dom-hack.js +0 -31
- package/dist/cjs/server/framework-preset-react.js +0 -98
- package/dist/cjs/server/index.js +0 -9
- package/dist/cjs/server/options.js +0 -17
- package/dist/cjs/server/preset.js +0 -16
- package/dist/esm/client/docs/config.js +0 -16
- package/dist/esm/client/docs/extractArgTypes.js +0 -39
- package/dist/esm/client/docs/extractProps.js +0 -54
- package/dist/esm/client/docs/jsxDecorator.js +0 -218
- package/dist/esm/client/docs/lib/captions.js +0 -6
- package/dist/esm/client/docs/lib/componentTypes.js +0 -9
- package/dist/esm/client/docs/lib/defaultValues/createDefaultValue.js +0 -67
- package/dist/esm/client/docs/lib/defaultValues/createFromRawDefaultProp.js +0 -191
- package/dist/esm/client/docs/lib/defaultValues/generateArray.js +0 -19
- package/dist/esm/client/docs/lib/defaultValues/generateObject.js +0 -19
- package/dist/esm/client/docs/lib/defaultValues/prettyIdentifier.js +0 -22
- package/dist/esm/client/docs/lib/generateCode.js +0 -68
- package/dist/esm/client/docs/lib/inspection/acornParser.js +0 -213
- package/dist/esm/client/docs/lib/inspection/inspectValue.js +0 -16
- package/dist/esm/client/docs/lib/inspection/types.js +0 -12
- package/dist/esm/client/docs/lib/isHtmlTag.js +0 -6
- package/dist/esm/client/docs/propTypes/createType.js +0 -449
- package/dist/esm/client/docs/propTypes/generateFuncSignature.js +0 -62
- package/dist/esm/client/docs/propTypes/handleProp.js +0 -39
- package/dist/esm/client/docs/propTypes/rawDefaultPropResolvers.js +0 -32
- package/dist/esm/client/docs/propTypes/sortProps.js +0 -24
- package/dist/esm/client/docs/react-argtypes.stories.js +0 -97
- package/dist/esm/client/docs/typeScript/handleProp.js +0 -27
- package/dist/esm/client/index.js +0 -7
- package/dist/esm/client/preview/config.js +0 -4
- package/dist/esm/client/preview/globals.js +0 -6
- package/dist/esm/client/preview/index.js +0 -29
- package/dist/esm/client/preview/render.js +0 -255
- package/dist/esm/client/testing/index.js +0 -96
- package/dist/esm/demo/Button.js +0 -26
- package/dist/esm/demo/Welcome.js +0 -114
- package/dist/esm/server/build.js +0 -3
- package/dist/esm/server/cra-config.js +0 -49
- package/dist/esm/server/framework-preset-cra.js +0 -25
- package/dist/esm/server/framework-preset-react-docs.js +0 -49
- package/dist/esm/server/framework-preset-react-dom-hack.js +0 -21
- package/dist/esm/server/framework-preset-react.js +0 -78
- package/dist/esm/server/index.js +0 -3
- package/dist/esm/server/options.js +0 -8
- package/dist/esm/server/preset.js +0 -5
- package/dist/modern/client/docs/lib/defaultValues/index.js +0 -2
- package/dist/modern/client/docs/lib/index.js +0 -4
- package/dist/modern/client/docs/lib/inspection/index.js +0 -2
- package/dist/modern/client/preview/config.js +0 -4
- package/dist/modern/client/preview/types-6-0.js +0 -1
- package/dist/modern/client/preview/types-6-3.js +0 -10
- package/dist/modern/client/preview/types-7-0.js +0 -1
- package/dist/modern/client/preview/types.js +0 -1
- package/dist/modern/demo/Button.js +0 -25
- package/dist/modern/demo/Welcome.js +0 -108
- package/dist/modern/server/build.js +0 -3
- package/dist/modern/server/cra-config.js +0 -49
- package/dist/modern/server/framework-preset-cra.js +0 -25
- package/dist/modern/server/framework-preset-react-docs.js +0 -49
- package/dist/modern/server/framework-preset-react-dom-hack.js +0 -21
- package/dist/modern/server/framework-preset-react.js +0 -78
- package/dist/modern/server/index.js +0 -3
- package/dist/modern/server/options.js +0 -8
- package/dist/modern/server/preset.js +0 -5
- package/dist/ts3.4/client/docs/config.d.ts +0 -13
- package/dist/ts3.4/client/docs/extractArgTypes.d.ts +0 -2
- package/dist/ts3.4/client/docs/extractProps.d.ts +0 -5
- package/dist/ts3.4/client/docs/jsxDecorator.d.ts +0 -23
- package/dist/ts3.4/client/docs/lib/captions.d.ts +0 -6
- package/dist/ts3.4/client/docs/lib/componentTypes.d.ts +0 -2
- package/dist/ts3.4/client/docs/lib/defaultValues/createDefaultValue.d.ts +0 -2
- package/dist/ts3.4/client/docs/lib/defaultValues/createFromRawDefaultProp.d.ts +0 -11
- package/dist/ts3.4/client/docs/lib/defaultValues/generateArray.d.ts +0 -3
- package/dist/ts3.4/client/docs/lib/defaultValues/generateObject.d.ts +0 -3
- package/dist/ts3.4/client/docs/lib/defaultValues/index.d.ts +0 -2
- package/dist/ts3.4/client/docs/lib/defaultValues/prettyIdentifier.d.ts +0 -4
- package/dist/ts3.4/client/docs/lib/generateCode.d.ts +0 -3
- package/dist/ts3.4/client/docs/lib/index.d.ts +0 -4
- package/dist/ts3.4/client/docs/lib/inspection/acornParser.d.ts +0 -7
- package/dist/ts3.4/client/docs/lib/inspection/index.d.ts +0 -2
- package/dist/ts3.4/client/docs/lib/inspection/inspectValue.d.ts +0 -2
- package/dist/ts3.4/client/docs/lib/inspection/types.d.ts +0 -50
- package/dist/ts3.4/client/docs/lib/isHtmlTag.d.ts +0 -1
- package/dist/ts3.4/client/docs/propTypes/createType.d.ts +0 -2
- package/dist/ts3.4/client/docs/propTypes/generateFuncSignature.d.ts +0 -4
- package/dist/ts3.4/client/docs/propTypes/handleProp.d.ts +0 -5
- package/dist/ts3.4/client/docs/propTypes/rawDefaultPropResolvers.d.ts +0 -1
- package/dist/ts3.4/client/docs/propTypes/sortProps.d.ts +0 -4
- package/dist/ts3.4/client/docs/react-argtypes.stories.d.ts +0 -1
- package/dist/ts3.4/client/docs/typeScript/handleProp.d.ts +0 -3
- package/dist/ts3.4/client/index.d.ts +0 -4
- package/dist/ts3.4/client/preview/config.d.ts +0 -4
- package/dist/ts3.4/client/preview/globals.d.ts +0 -1
- package/dist/ts3.4/client/preview/index.d.ts +0 -25
- package/dist/ts3.4/client/preview/render.d.ts +0 -5
- package/dist/ts3.4/client/preview/types-6-0.d.ts +0 -35
- package/dist/ts3.4/client/preview/types-6-3.d.ts +0 -40
- package/dist/ts3.4/client/preview/types-7-0.d.ts +0 -21
- package/dist/ts3.4/client/preview/types.d.ts +0 -16
- package/dist/ts3.4/client/testing/index.d.ts +0 -84
- package/dist/ts3.4/demo/Button.d.ts +0 -4
- package/dist/ts3.4/demo/Welcome.d.ts +0 -6
- package/dist/ts3.4/server/build.d.ts +0 -1
- package/dist/ts3.4/server/cra-config.d.ts +0 -4
- package/dist/ts3.4/server/framework-preset-cra.d.ts +0 -3
- package/dist/ts3.4/server/framework-preset-react-docs.d.ts +0 -6
- package/dist/ts3.4/server/framework-preset-react-dom-hack.d.ts +0 -32
- package/dist/ts3.4/server/framework-preset-react.d.ts +0 -6
- package/dist/ts3.4/server/index.d.ts +0 -1
- package/dist/ts3.4/server/options.d.ts +0 -3
- package/dist/ts3.4/server/preset.d.ts +0 -3
- package/dist/ts3.9/client/docs/config.d.ts +0 -13
- package/dist/ts3.9/client/preview/config.d.ts +0 -4
- package/dist/ts3.9/demo/Button.d.ts +0 -4
- package/dist/ts3.9/demo/Welcome.d.ts +0 -6
- package/dist/ts3.9/server/build.d.ts +0 -1
- package/dist/ts3.9/server/cra-config.d.ts +0 -4
- package/dist/ts3.9/server/framework-preset-cra.d.ts +0 -3
- package/dist/ts3.9/server/framework-preset-react-docs.d.ts +0 -6
- package/dist/ts3.9/server/framework-preset-react-dom-hack.d.ts +0 -32
- package/dist/ts3.9/server/framework-preset-react.d.ts +0 -6
- package/dist/ts3.9/server/index.d.ts +0 -1
- package/dist/ts3.9/server/options.d.ts +0 -3
- package/dist/ts3.9/server/preset.d.ts +0 -3
- package/preset.js +0 -1
- package/standalone.js +0 -8
- package/types/index.ts +0 -19
- package/types-6-0.d.ts +0 -1
- package/types-7-0.d.ts +0 -1
|
@@ -1,17 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.js");
|
|
4
|
-
|
|
5
|
-
require("core-js/modules/es.symbol.description.js");
|
|
6
|
-
|
|
7
|
-
require("core-js/modules/es.symbol.iterator.js");
|
|
8
|
-
|
|
9
|
-
require("core-js/modules/es.array.iterator.js");
|
|
10
|
-
|
|
11
|
-
require("core-js/modules/es.string.iterator.js");
|
|
12
|
-
|
|
13
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
14
|
-
|
|
15
3
|
Object.defineProperty(exports, "__esModule", {
|
|
16
4
|
value: true
|
|
17
5
|
});
|
|
@@ -19,18 +7,6 @@ exports.createDefaultValueFromRawDefaultProp = createDefaultValueFromRawDefaultP
|
|
|
19
7
|
exports.createTypeResolvers = createTypeResolvers;
|
|
20
8
|
exports.extractFunctionName = extractFunctionName;
|
|
21
9
|
|
|
22
|
-
require("core-js/modules/es.function.name.js");
|
|
23
|
-
|
|
24
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
25
|
-
|
|
26
|
-
require("core-js/modules/es.string.replace.js");
|
|
27
|
-
|
|
28
|
-
require("core-js/modules/es.object.to-string.js");
|
|
29
|
-
|
|
30
|
-
require("core-js/modules/es.regexp.to-string.js");
|
|
31
|
-
|
|
32
|
-
require("core-js/modules/es.object.assign.js");
|
|
33
|
-
|
|
34
10
|
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
|
|
35
11
|
|
|
36
12
|
var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
|
|
@@ -55,14 +31,16 @@ var _isHtmlTag = require("../isHtmlTag");
|
|
|
55
31
|
|
|
56
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
57
33
|
|
|
58
|
-
|
|
59
|
-
|
|
34
|
+
/* eslint-disable @typescript-eslint/ban-types */
|
|
35
|
+
// @ts-ignore
|
|
60
36
|
function isReactElement(element) {
|
|
61
37
|
return element.$$typeof != null;
|
|
62
38
|
}
|
|
63
39
|
|
|
64
40
|
function extractFunctionName(func, propName) {
|
|
65
|
-
|
|
41
|
+
const {
|
|
42
|
+
name
|
|
43
|
+
} = func; // Comparison with the prop name is to discard inferred function names.
|
|
66
44
|
|
|
67
45
|
if (name !== '' && name !== 'anonymous' && name !== propName) {
|
|
68
46
|
return name;
|
|
@@ -71,27 +49,31 @@ function extractFunctionName(func, propName) {
|
|
|
71
49
|
return null;
|
|
72
50
|
}
|
|
73
51
|
|
|
74
|
-
|
|
52
|
+
const stringResolver = rawDefaultProp => {
|
|
75
53
|
return (0, _docsTools.createSummaryValue)(JSON.stringify(rawDefaultProp));
|
|
76
54
|
};
|
|
77
55
|
|
|
78
56
|
function generateReactObject(rawDefaultProp) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
57
|
+
const {
|
|
58
|
+
type
|
|
59
|
+
} = rawDefaultProp;
|
|
60
|
+
const {
|
|
61
|
+
displayName
|
|
62
|
+
} = type;
|
|
63
|
+
const jsx = (0, _reactElementToJsxString.default)(rawDefaultProp, {});
|
|
82
64
|
|
|
83
65
|
if (displayName != null) {
|
|
84
|
-
|
|
66
|
+
const prettyIdentifier = (0, _prettyIdentifier.getPrettyElementIdentifier)(displayName);
|
|
85
67
|
return (0, _docsTools.createSummaryValue)(prettyIdentifier, jsx);
|
|
86
68
|
}
|
|
87
69
|
|
|
88
70
|
if ((0, _isString.default)(type)) {
|
|
89
71
|
// This is an HTML element.
|
|
90
72
|
if ((0, _isHtmlTag.isHtmlTag)(type)) {
|
|
91
|
-
|
|
73
|
+
const jsxCompact = (0, _reactElementToJsxString.default)(rawDefaultProp, {
|
|
92
74
|
tabStop: 0
|
|
93
75
|
});
|
|
94
|
-
|
|
76
|
+
const jsxSummary = jsxCompact.replace(/\r?\n|\r/g, '');
|
|
95
77
|
|
|
96
78
|
if (!(0, _docsTools.isTooLongForDefaultValueSummary)(jsxSummary)) {
|
|
97
79
|
return (0, _docsTools.createSummaryValue)(jsxSummary);
|
|
@@ -102,41 +84,41 @@ function generateReactObject(rawDefaultProp) {
|
|
|
102
84
|
return (0, _docsTools.createSummaryValue)(_captions.ELEMENT_CAPTION, jsx);
|
|
103
85
|
}
|
|
104
86
|
|
|
105
|
-
|
|
87
|
+
const objectResolver = rawDefaultProp => {
|
|
106
88
|
if (isReactElement(rawDefaultProp) && rawDefaultProp.type != null) {
|
|
107
89
|
return generateReactObject(rawDefaultProp);
|
|
108
90
|
}
|
|
109
91
|
|
|
110
92
|
if ((0, _isPlainObject.default)(rawDefaultProp)) {
|
|
111
|
-
|
|
93
|
+
const inspectionResult = (0, _inspection.inspectValue)(JSON.stringify(rawDefaultProp));
|
|
112
94
|
return (0, _generateObject.generateObject)(inspectionResult);
|
|
113
95
|
}
|
|
114
96
|
|
|
115
97
|
if (Array.isArray(rawDefaultProp)) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
return (0, _generateArray.generateArray)(_inspectionResult);
|
|
98
|
+
const inspectionResult = (0, _inspection.inspectValue)(JSON.stringify(rawDefaultProp));
|
|
99
|
+
return (0, _generateArray.generateArray)(inspectionResult);
|
|
119
100
|
}
|
|
120
101
|
|
|
121
102
|
return (0, _docsTools.createSummaryValue)(_captions.OBJECT_CAPTION);
|
|
122
103
|
};
|
|
123
104
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
105
|
+
const functionResolver = (rawDefaultProp, propDef) => {
|
|
106
|
+
let isElement = false;
|
|
107
|
+
let inspectionResult; // Try to display the name of the component. The body of the component is omitted since the code has been transpiled.
|
|
127
108
|
|
|
128
109
|
if ((0, _isFunction.default)(rawDefaultProp.render)) {
|
|
129
110
|
isElement = true;
|
|
130
111
|
} else if (rawDefaultProp.prototype != null && (0, _isFunction.default)(rawDefaultProp.prototype.render)) {
|
|
131
112
|
isElement = true;
|
|
132
113
|
} else {
|
|
133
|
-
|
|
114
|
+
let innerElement;
|
|
134
115
|
|
|
135
116
|
try {
|
|
136
117
|
inspectionResult = (0, _inspection.inspectValue)(rawDefaultProp.toString());
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
118
|
+
const {
|
|
119
|
+
hasParams,
|
|
120
|
+
params
|
|
121
|
+
} = inspectionResult.inferredType;
|
|
140
122
|
|
|
141
123
|
if (hasParams) {
|
|
142
124
|
// It might be a functional component accepting props.
|
|
@@ -156,7 +138,7 @@ var functionResolver = function functionResolver(rawDefaultProp, propDef) {
|
|
|
156
138
|
}
|
|
157
139
|
}
|
|
158
140
|
|
|
159
|
-
|
|
141
|
+
const funcName = extractFunctionName(rawDefaultProp, propDef.name);
|
|
160
142
|
|
|
161
143
|
if (funcName != null) {
|
|
162
144
|
if (isElement) {
|
|
@@ -167,27 +149,27 @@ var functionResolver = function functionResolver(rawDefaultProp, propDef) {
|
|
|
167
149
|
inspectionResult = (0, _inspection.inspectValue)(rawDefaultProp.toString());
|
|
168
150
|
}
|
|
169
151
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
152
|
+
const {
|
|
153
|
+
hasParams
|
|
154
|
+
} = inspectionResult.inferredType;
|
|
155
|
+
return (0, _docsTools.createSummaryValue)((0, _prettyIdentifier.getPrettyFuncIdentifier)(funcName, hasParams));
|
|
173
156
|
}
|
|
174
157
|
|
|
175
158
|
return (0, _docsTools.createSummaryValue)(isElement ? _captions.ELEMENT_CAPTION : _captions.FUNCTION_CAPTION);
|
|
176
159
|
};
|
|
177
160
|
|
|
178
|
-
|
|
161
|
+
const defaultResolver = rawDefaultProp => {
|
|
179
162
|
return (0, _docsTools.createSummaryValue)(rawDefaultProp.toString());
|
|
180
163
|
};
|
|
181
164
|
|
|
182
|
-
|
|
165
|
+
const DEFAULT_TYPE_RESOLVERS = {
|
|
183
166
|
string: stringResolver,
|
|
184
167
|
object: objectResolver,
|
|
185
168
|
function: functionResolver,
|
|
186
169
|
default: defaultResolver
|
|
187
170
|
};
|
|
188
171
|
|
|
189
|
-
function createTypeResolvers() {
|
|
190
|
-
var customResolvers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
172
|
+
function createTypeResolvers(customResolvers = {}) {
|
|
191
173
|
return Object.assign({}, DEFAULT_TYPE_RESOLVERS, customResolvers);
|
|
192
174
|
} // When react-docgen cannot provide a defaultValue we take it from the raw defaultProp.
|
|
193
175
|
// It works fine for types that are not transpiled. For the types that are transpiled, we can only provide partial support.
|
|
@@ -196,12 +178,10 @@ function createTypeResolvers() {
|
|
|
196
178
|
// - Identifiers might not be "prettified" for all the types.
|
|
197
179
|
|
|
198
180
|
|
|
199
|
-
function createDefaultValueFromRawDefaultProp(rawDefaultProp, propDef) {
|
|
200
|
-
var typeResolvers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_TYPE_RESOLVERS;
|
|
201
|
-
|
|
181
|
+
function createDefaultValueFromRawDefaultProp(rawDefaultProp, propDef, typeResolvers = DEFAULT_TYPE_RESOLVERS) {
|
|
202
182
|
try {
|
|
203
183
|
// Keep the extra () otherwise it will fail for functions.
|
|
204
|
-
switch (
|
|
184
|
+
switch (typeof rawDefaultProp) {
|
|
205
185
|
case 'string':
|
|
206
186
|
return typeResolvers.string(rawDefaultProp, propDef);
|
|
207
187
|
|
|
@@ -11,14 +11,16 @@ var _captions = require("../captions");
|
|
|
11
11
|
|
|
12
12
|
var _generateCode = require("../generateCode");
|
|
13
13
|
|
|
14
|
-
function generateArray(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
function generateArray({
|
|
15
|
+
inferredType,
|
|
16
|
+
ast
|
|
17
|
+
}) {
|
|
18
|
+
const {
|
|
19
|
+
depth
|
|
20
|
+
} = inferredType;
|
|
19
21
|
|
|
20
22
|
if (depth <= 2) {
|
|
21
|
-
|
|
23
|
+
const compactArray = (0, _generateCode.generateArrayCode)(ast, true);
|
|
22
24
|
|
|
23
25
|
if (!(0, _docsTools.isTooLongForDefaultValueSummary)(compactArray)) {
|
|
24
26
|
return (0, _docsTools.createSummaryValue)(compactArray);
|
|
@@ -11,14 +11,16 @@ var _captions = require("../captions");
|
|
|
11
11
|
|
|
12
12
|
var _generateCode = require("../generateCode");
|
|
13
13
|
|
|
14
|
-
function generateObject(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
function generateObject({
|
|
15
|
+
inferredType,
|
|
16
|
+
ast
|
|
17
|
+
}) {
|
|
18
|
+
const {
|
|
19
|
+
depth
|
|
20
|
+
} = inferredType;
|
|
19
21
|
|
|
20
22
|
if (depth === 1) {
|
|
21
|
-
|
|
23
|
+
const compactObject = (0, _generateCode.generateObjectCode)(ast, true);
|
|
22
24
|
|
|
23
25
|
if (!(0, _docsTools.isTooLongForDefaultValueSummary)(compactObject)) {
|
|
24
26
|
return (0, _docsTools.createSummaryValue)(compactObject);
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.object.to-string.js");
|
|
4
|
-
|
|
5
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
6
|
-
|
|
7
|
-
require("core-js/modules/es.object.keys.js");
|
|
8
|
-
|
|
9
3
|
Object.defineProperty(exports, "__esModule", {
|
|
10
4
|
value: true
|
|
11
5
|
});
|
|
@@ -17,7 +11,7 @@ Object.keys(_createDefaultValue).forEach(function (key) {
|
|
|
17
11
|
if (key in exports && exports[key] === _createDefaultValue[key]) return;
|
|
18
12
|
Object.defineProperty(exports, key, {
|
|
19
13
|
enumerable: true,
|
|
20
|
-
get: function
|
|
14
|
+
get: function () {
|
|
21
15
|
return _createDefaultValue[key];
|
|
22
16
|
}
|
|
23
17
|
});
|
|
@@ -30,7 +24,7 @@ Object.keys(_createFromRawDefaultProp).forEach(function (key) {
|
|
|
30
24
|
if (key in exports && exports[key] === _createFromRawDefaultProp[key]) return;
|
|
31
25
|
Object.defineProperty(exports, key, {
|
|
32
26
|
enumerable: true,
|
|
33
|
-
get: function
|
|
27
|
+
get: function () {
|
|
34
28
|
return _createFromRawDefaultProp[key];
|
|
35
29
|
}
|
|
36
30
|
});
|
|
@@ -9,9 +9,19 @@ exports.getPrettyIdentifier = getPrettyIdentifier;
|
|
|
9
9
|
|
|
10
10
|
var _inspection = require("../inspection");
|
|
11
11
|
|
|
12
|
+
function getPrettyFuncIdentifier(identifier, hasArguments) {
|
|
13
|
+
return hasArguments ? `${identifier}( ... )` : `${identifier}()`;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function getPrettyElementIdentifier(identifier) {
|
|
17
|
+
return `<${identifier} />`;
|
|
18
|
+
}
|
|
19
|
+
|
|
12
20
|
function getPrettyIdentifier(inferredType) {
|
|
13
|
-
|
|
14
|
-
|
|
21
|
+
const {
|
|
22
|
+
type,
|
|
23
|
+
identifier
|
|
24
|
+
} = inferredType;
|
|
15
25
|
|
|
16
26
|
switch (type) {
|
|
17
27
|
case _inspection.InspectionType.FUNCTION:
|
|
@@ -23,12 +33,4 @@ function getPrettyIdentifier(inferredType) {
|
|
|
23
33
|
default:
|
|
24
34
|
return identifier;
|
|
25
35
|
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function getPrettyFuncIdentifier(identifier, hasArguments) {
|
|
29
|
-
return hasArguments ? "".concat(identifier, "( ... )") : "".concat(identifier, "()");
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function getPrettyElementIdentifier(identifier) {
|
|
33
|
-
return "<".concat(identifier, " />");
|
|
34
36
|
}
|
|
@@ -7,25 +7,13 @@ exports.generateArrayCode = generateArrayCode;
|
|
|
7
7
|
exports.generateCode = generateCode;
|
|
8
8
|
exports.generateObjectCode = generateObjectCode;
|
|
9
9
|
|
|
10
|
-
require("core-js/modules/es.object.assign.js");
|
|
11
|
-
|
|
12
|
-
require("core-js/modules/es.string.ends-with.js");
|
|
13
|
-
|
|
14
|
-
require("core-js/modules/es.array.slice.js");
|
|
15
|
-
|
|
16
|
-
require("core-js/modules/es.string.starts-with.js");
|
|
17
|
-
|
|
18
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
19
|
-
|
|
20
|
-
require("core-js/modules/es.string.replace.js");
|
|
21
|
-
|
|
22
10
|
var _escodegen = require("escodegen");
|
|
23
11
|
|
|
24
12
|
var _tsDedent = _interopRequireDefault(require("ts-dedent"));
|
|
25
13
|
|
|
26
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
15
|
|
|
28
|
-
|
|
16
|
+
const BASIC_OPTIONS = {
|
|
29
17
|
format: {
|
|
30
18
|
indent: {
|
|
31
19
|
style: ' '
|
|
@@ -33,41 +21,38 @@ var BASIC_OPTIONS = {
|
|
|
33
21
|
semicolons: false
|
|
34
22
|
}
|
|
35
23
|
};
|
|
36
|
-
|
|
24
|
+
const COMPACT_OPTIONS = Object.assign({}, BASIC_OPTIONS, {
|
|
37
25
|
format: {
|
|
38
26
|
newline: ''
|
|
39
27
|
}
|
|
40
28
|
});
|
|
41
|
-
|
|
29
|
+
const PRETTY_OPTIONS = Object.assign({}, BASIC_OPTIONS);
|
|
42
30
|
|
|
43
|
-
function generateCode(ast) {
|
|
44
|
-
var compact = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
31
|
+
function generateCode(ast, compact = false) {
|
|
45
32
|
return (0, _escodegen.generate)(ast, compact ? COMPACT_OPTIONS : PRETTY_OPTIONS);
|
|
46
33
|
}
|
|
47
34
|
|
|
48
|
-
function generateObjectCode(ast) {
|
|
49
|
-
var compact = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
35
|
+
function generateObjectCode(ast, compact = false) {
|
|
50
36
|
return !compact ? generateCode(ast) : generateCompactObjectCode(ast);
|
|
51
37
|
}
|
|
52
38
|
|
|
53
39
|
function generateCompactObjectCode(ast) {
|
|
54
|
-
|
|
40
|
+
let result = generateCode(ast, true); // Cannot get escodegen to add a space before the last } with the compact mode settings.
|
|
55
41
|
// Fix it until a better solution is found.
|
|
56
42
|
|
|
57
43
|
if (!result.endsWith(' }')) {
|
|
58
|
-
result =
|
|
44
|
+
result = `${result.slice(0, -1)} }`;
|
|
59
45
|
}
|
|
60
46
|
|
|
61
47
|
return result;
|
|
62
48
|
}
|
|
63
49
|
|
|
64
|
-
function generateArrayCode(ast) {
|
|
65
|
-
var compact = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
50
|
+
function generateArrayCode(ast, compact = false) {
|
|
66
51
|
return !compact ? generateMultilineArrayCode(ast) : generateCompactArrayCode(ast);
|
|
67
52
|
}
|
|
68
53
|
|
|
69
54
|
function generateMultilineArrayCode(ast) {
|
|
70
|
-
|
|
55
|
+
let result = generateCode(ast); // escodegen add extra spacing before the closing bracket of a multiple line array with a nested object.
|
|
71
56
|
// Fix it until a better solution is found.
|
|
72
57
|
|
|
73
58
|
if (result.endsWith(' }]')) {
|
|
@@ -78,7 +63,7 @@ function generateMultilineArrayCode(ast) {
|
|
|
78
63
|
}
|
|
79
64
|
|
|
80
65
|
function generateCompactArrayCode(ast) {
|
|
81
|
-
|
|
66
|
+
let result = generateCode(ast, true); // escodegen add extra an extra before the opening bracket of a compact array that contains primitive values.
|
|
82
67
|
// Fix it until a better solution is found.
|
|
83
68
|
|
|
84
69
|
if (result.startsWith('[ ')) {
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.object.to-string.js");
|
|
4
|
-
|
|
5
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
6
|
-
|
|
7
|
-
require("core-js/modules/es.object.keys.js");
|
|
8
|
-
|
|
9
3
|
Object.defineProperty(exports, "__esModule", {
|
|
10
4
|
value: true
|
|
11
5
|
});
|
|
@@ -17,7 +11,7 @@ Object.keys(_captions).forEach(function (key) {
|
|
|
17
11
|
if (key in exports && exports[key] === _captions[key]) return;
|
|
18
12
|
Object.defineProperty(exports, key, {
|
|
19
13
|
enumerable: true,
|
|
20
|
-
get: function
|
|
14
|
+
get: function () {
|
|
21
15
|
return _captions[key];
|
|
22
16
|
}
|
|
23
17
|
});
|
|
@@ -30,7 +24,7 @@ Object.keys(_isHtmlTag).forEach(function (key) {
|
|
|
30
24
|
if (key in exports && exports[key] === _isHtmlTag[key]) return;
|
|
31
25
|
Object.defineProperty(exports, key, {
|
|
32
26
|
enumerable: true,
|
|
33
|
-
get: function
|
|
27
|
+
get: function () {
|
|
34
28
|
return _isHtmlTag[key];
|
|
35
29
|
}
|
|
36
30
|
});
|
|
@@ -43,7 +37,7 @@ Object.keys(_generateCode).forEach(function (key) {
|
|
|
43
37
|
if (key in exports && exports[key] === _generateCode[key]) return;
|
|
44
38
|
Object.defineProperty(exports, key, {
|
|
45
39
|
enumerable: true,
|
|
46
|
-
get: function
|
|
40
|
+
get: function () {
|
|
47
41
|
return _generateCode[key];
|
|
48
42
|
}
|
|
49
43
|
});
|
|
@@ -56,7 +50,7 @@ Object.keys(_componentTypes).forEach(function (key) {
|
|
|
56
50
|
if (key in exports && exports[key] === _componentTypes[key]) return;
|
|
57
51
|
Object.defineProperty(exports, key, {
|
|
58
52
|
enumerable: true,
|
|
59
|
-
get: function
|
|
53
|
+
get: function () {
|
|
60
54
|
return _componentTypes[key];
|
|
61
55
|
}
|
|
62
56
|
});
|
|
@@ -1,36 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
-
|
|
5
|
-
require("core-js/modules/es.array.iterator.js");
|
|
6
|
-
|
|
7
|
-
require("core-js/modules/es.string.iterator.js");
|
|
8
|
-
|
|
9
|
-
require("core-js/modules/es.weak-map.js");
|
|
10
|
-
|
|
11
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
12
|
-
|
|
13
|
-
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
14
|
-
|
|
15
|
-
require("core-js/modules/es.symbol.js");
|
|
16
|
-
|
|
17
|
-
require("core-js/modules/es.symbol.description.js");
|
|
18
|
-
|
|
19
|
-
require("core-js/modules/es.symbol.iterator.js");
|
|
20
|
-
|
|
21
3
|
Object.defineProperty(exports, "__esModule", {
|
|
22
4
|
value: true
|
|
23
5
|
});
|
|
24
6
|
exports.parse = parse;
|
|
25
7
|
|
|
26
|
-
require("core-js/modules/es.object.assign.js");
|
|
27
|
-
|
|
28
|
-
require("core-js/modules/es.function.name.js");
|
|
29
|
-
|
|
30
|
-
require("core-js/modules/es.array.filter.js");
|
|
31
|
-
|
|
32
|
-
require("core-js/modules/es.object.to-string.js");
|
|
33
|
-
|
|
34
8
|
var _acorn = require("acorn");
|
|
35
9
|
|
|
36
10
|
var _acornJsx = _interopRequireDefault(require("acorn-jsx"));
|
|
@@ -39,17 +13,17 @@ var acornWalk = _interopRequireWildcard(require("acorn-walk"));
|
|
|
39
13
|
|
|
40
14
|
var _types = require("./types");
|
|
41
15
|
|
|
42
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
43
17
|
|
|
44
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null ||
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
45
19
|
|
|
46
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
47
21
|
|
|
48
|
-
|
|
49
|
-
JSXElement:
|
|
22
|
+
const ACORN_WALK_VISITORS = Object.assign({}, acornWalk.base, {
|
|
23
|
+
JSXElement: () => {}
|
|
50
24
|
});
|
|
51
25
|
|
|
52
|
-
|
|
26
|
+
const acornParser = _acorn.Parser.extend((0, _acornJsx.default)()); // Cannot use "estree.Identifier" type because this function also support "JSXIdentifier".
|
|
53
27
|
|
|
54
28
|
|
|
55
29
|
function extractIdentifierName(identifierNode) {
|
|
@@ -57,23 +31,23 @@ function extractIdentifierName(identifierNode) {
|
|
|
57
31
|
}
|
|
58
32
|
|
|
59
33
|
function filterAncestors(ancestors) {
|
|
60
|
-
return ancestors.filter(
|
|
61
|
-
return x.type === 'ObjectExpression' || x.type === 'ArrayExpression';
|
|
62
|
-
});
|
|
34
|
+
return ancestors.filter(x => x.type === 'ObjectExpression' || x.type === 'ArrayExpression');
|
|
63
35
|
}
|
|
64
36
|
|
|
65
37
|
function calculateNodeDepth(node) {
|
|
66
|
-
|
|
38
|
+
const depths = [];
|
|
67
39
|
acornWalk.ancestor( // @ts-ignore
|
|
68
40
|
node, {
|
|
69
|
-
ObjectExpression
|
|
41
|
+
ObjectExpression(_, ancestors) {
|
|
70
42
|
depths.push(filterAncestors(ancestors).length);
|
|
71
43
|
},
|
|
72
|
-
|
|
44
|
+
|
|
45
|
+
ArrayExpression(_, ancestors) {
|
|
73
46
|
depths.push(filterAncestors(ancestors).length);
|
|
74
47
|
}
|
|
48
|
+
|
|
75
49
|
}, ACORN_WALK_VISITORS);
|
|
76
|
-
return Math.max
|
|
50
|
+
return Math.max(...depths);
|
|
77
51
|
}
|
|
78
52
|
|
|
79
53
|
function parseIdentifier(identifierNode) {
|
|
@@ -96,70 +70,72 @@ function parseLiteral(literalNode) {
|
|
|
96
70
|
}
|
|
97
71
|
|
|
98
72
|
function parseFunction(funcNode) {
|
|
99
|
-
|
|
73
|
+
let innerJsxElementNode; // If there is at least a JSXElement in the body of the function, then it's a React component.
|
|
100
74
|
|
|
101
75
|
acornWalk.simple( // @ts-ignore
|
|
102
76
|
funcNode.body, {
|
|
103
|
-
JSXElement
|
|
77
|
+
JSXElement(node) {
|
|
104
78
|
innerJsxElementNode = node;
|
|
105
79
|
}
|
|
80
|
+
|
|
106
81
|
}, ACORN_WALK_VISITORS);
|
|
107
|
-
|
|
108
|
-
|
|
82
|
+
const isJsx = innerJsxElementNode != null;
|
|
83
|
+
const inferredType = {
|
|
109
84
|
type: isJsx ? _types.InspectionType.ELEMENT : _types.InspectionType.FUNCTION,
|
|
110
85
|
params: funcNode.params,
|
|
111
86
|
hasParams: funcNode.params.length !== 0
|
|
112
87
|
};
|
|
113
|
-
|
|
88
|
+
const identifierName = extractIdentifierName(funcNode.id);
|
|
114
89
|
|
|
115
90
|
if (identifierName != null) {
|
|
116
91
|
inferredType.identifier = identifierName;
|
|
117
92
|
}
|
|
118
93
|
|
|
119
94
|
return {
|
|
120
|
-
inferredType
|
|
95
|
+
inferredType,
|
|
121
96
|
ast: funcNode
|
|
122
97
|
};
|
|
123
98
|
}
|
|
124
99
|
|
|
125
100
|
function parseClass(classNode) {
|
|
126
|
-
|
|
101
|
+
let innerJsxElementNode; // If there is at least a JSXElement in the body of the class, then it's a React component.
|
|
127
102
|
|
|
128
103
|
acornWalk.simple( // @ts-ignore
|
|
129
104
|
classNode.body, {
|
|
130
|
-
JSXElement
|
|
105
|
+
JSXElement(node) {
|
|
131
106
|
innerJsxElementNode = node;
|
|
132
107
|
}
|
|
108
|
+
|
|
133
109
|
}, ACORN_WALK_VISITORS);
|
|
134
|
-
|
|
110
|
+
const inferredType = {
|
|
135
111
|
type: innerJsxElementNode != null ? _types.InspectionType.ELEMENT : _types.InspectionType.CLASS,
|
|
136
112
|
identifier: extractIdentifierName(classNode.id)
|
|
137
113
|
};
|
|
138
114
|
return {
|
|
139
|
-
inferredType
|
|
115
|
+
inferredType,
|
|
140
116
|
ast: classNode
|
|
141
117
|
};
|
|
142
118
|
}
|
|
143
119
|
|
|
144
120
|
function parseJsxElement(jsxElementNode) {
|
|
145
|
-
|
|
121
|
+
const inferredType = {
|
|
146
122
|
type: _types.InspectionType.ELEMENT
|
|
147
123
|
};
|
|
148
|
-
|
|
124
|
+
const identifierName = extractIdentifierName(jsxElementNode.openingElement.name);
|
|
149
125
|
|
|
150
126
|
if (identifierName != null) {
|
|
151
127
|
inferredType.identifier = identifierName;
|
|
152
128
|
}
|
|
153
129
|
|
|
154
130
|
return {
|
|
155
|
-
inferredType
|
|
131
|
+
inferredType,
|
|
156
132
|
ast: jsxElementNode
|
|
157
133
|
};
|
|
158
134
|
}
|
|
159
135
|
|
|
160
136
|
function parseCall(callNode) {
|
|
161
|
-
|
|
162
|
-
|
|
137
|
+
const identifierNode = callNode.callee.type === 'MemberExpression' ? callNode.callee.property : callNode.callee;
|
|
138
|
+
const identifierName = extractIdentifierName(identifierNode);
|
|
163
139
|
|
|
164
140
|
if (identifierName === 'shape') {
|
|
165
141
|
return parseObject(callNode.arguments[0]);
|
|
@@ -222,21 +198,21 @@ function parseExpression(expression) {
|
|
|
222
198
|
}
|
|
223
199
|
|
|
224
200
|
function parse(value) {
|
|
225
|
-
|
|
226
|
-
|
|
201
|
+
const ast = acornParser.parse(`(${value})`);
|
|
202
|
+
let parsingResult = {
|
|
227
203
|
inferredType: {
|
|
228
204
|
type: _types.InspectionType.UNKNOWN
|
|
229
205
|
},
|
|
230
|
-
ast
|
|
206
|
+
ast
|
|
231
207
|
};
|
|
232
208
|
|
|
233
209
|
if (ast.body[0] != null) {
|
|
234
|
-
|
|
210
|
+
const rootNode = ast.body[0];
|
|
235
211
|
|
|
236
212
|
switch (rootNode.type) {
|
|
237
213
|
case 'ExpressionStatement':
|
|
238
214
|
{
|
|
239
|
-
|
|
215
|
+
const expressionResult = parseExpression(rootNode.expression);
|
|
240
216
|
|
|
241
217
|
if (expressionResult != null) {
|
|
242
218
|
parsingResult = expressionResult;
|