# Snapshot report for `test/scan.ts`

The actual snapshot is saved in `scan.ts.snap`.

Generated by [AVA](https://avajs.dev).

## scan multiple exported component

> Snapshot 1

    {
      entryFileContent: `import AIMakeBlank from './basic/AIMakeBlank';␊
      import AIMakeIcon from './basic/AIMakeIcon';␊
      import AIMakeImage from './basic/AIMakeImage';␊
      import AIMakeLink from './basic/AIMakeLink';␊
      import AIMakePlaceholder from './basic/AIMakePlaceholder';␊
      import AIMakeText from './basic/AIMakeText';␊
      import Root from './basic/Root';␊
      ␊
      export { AIMakeBlank, AIMakeIcon, AIMakeImage, AIMakeLink, AIMakePlaceholder, AIMakeText, Root };␊
      `,
      entryFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine-v0.8/packages/material-parser/test/fixtures/multiple-exported-component/es/index.js',
      mainFilePath: 'es/index.js',
      pkgName: 'multiple-exported-component',
      pkgVersion: '1.0.0',
      sourceType: 'module',
    }

## scan single exported component

> Snapshot 1

    {
      entryFileContent: `import _classCallCheck from "@babel/runtime/helpers/classCallCheck";␊
      import _createClass from "@babel/runtime/helpers/createClass";␊
      import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";␊
      import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";␊
      import _inherits from "@babel/runtime/helpers/inherits";␊
      ␊
      /* eslint-disable react/no-unused-prop-types */␊
      ␊
      /* eslint-disable react/require-default-props */␊
      import React from 'react';␊
      import PropTypes from 'prop-types';␊
      import "./main.css";␊
      ␊
      const Demo =␊
      /* #__PURE__ */␊
      function (_React$Component) {␊
        _inherits(Demo, _React$Component);␊
      ␊
        function Demo() {␊
          _classCallCheck(this, Demo);␊
      ␊
          return _possibleConstructorReturn(this, _getPrototypeOf(Demo).apply(this, arguments));␊
        }␊
      ␊
        _createClass(Demo, [{␊
          key: "render",␊
          value: function render() {␊
            return React.createElement("div", null, " Test ");␊
          },␊
        }]);␊
      ␊
        return Demo;␊
      }(React.Component);␊
      ␊
      Demo.propTypes = {␊
        optionalArray: PropTypes.array,␊
        optionalBool: PropTypes.bool,␊
        optionalFunc: PropTypes.func,␊
        optionalNumber: PropTypes.number,␊
        optionalObject: PropTypes.object,␊
        optionalString: PropTypes.string,␊
        optionalSymbol: PropTypes.symbol,␊
        // Anything that can be rendered: numbers, strings, elements or an array␊
        // (or fragment) containing these types.␊
        optionalNode: PropTypes.node,␊
        // A React element (ie. <MyComponent />).␊
        optionalElement: PropTypes.element,␊
        // A React element type (ie. MyComponent).␊
        optionalElementType: PropTypes.elementType,␊
        // You can also declare that a prop is an instance of a class. This uses␊
        // JS's instanceof operator.␊
        optionalMessage: PropTypes.instanceOf(Demo),␊
        // You can ensure that your prop is limited to specific values by treating␊
        // it as an enum.␊
        optionalEnum: PropTypes.oneOf(['News', 'Photos']),␊
        // An object that could be one of many types␊
        optionalUnion: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.instanceOf(Demo)]),␊
        // An array of a certain type␊
        optionalArrayOf: PropTypes.arrayOf(PropTypes.number),␊
        // An object with property values of a certain type␊
        optionalObjectOf: PropTypes.objectOf(PropTypes.number),␊
        // You can chain any of the above with `isRequired` to make sure a warning␊
        // is shown if the prop isn't provided.␊
        // An object taking on a particular shape␊
        optionalObjectWithShape: PropTypes.shape({␊
          optionalProperty: PropTypes.string,␊
          requiredProperty: PropTypes.number.isRequired,␊
        }),␊
        optionalObjectWithShape2: PropTypes.shape({␊
          optionalProperty: PropTypes.string,␊
          requiredProperty: PropTypes.number.isRequired,␊
        }).isRequired,␊
        // An object with warnings on extra properties␊
        optionalObjectWithStrictShape: PropTypes.exact({␊
          optionalProperty: PropTypes.string,␊
          requiredProperty: PropTypes.number.isRequired,␊
        }),␊
        requiredFunc: PropTypes.func.isRequired,␊
        // A value of any data type␊
        requiredAny: PropTypes.any.isRequired,␊
      };␊
      Demo.defaultProps = {␊
        optionalNumber: 123,␊
      };␊
      export default Demo;`,
      entryFilePath: '/Users/gengyang/code/frontend/low-code/ali-lowcode-engine-v0.8/packages/material-parser/test/fixtures/single-exported-component/es/index.js',
      mainFilePath: 'es/index.js',
      pkgName: 'single-exported-component',
      pkgVersion: '1.0.0',
      sourceType: 'module',
    }
