|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = getValue;
- exports.getLiteralValue = getLiteralValue;
-
- var _object = require('object.assign');
-
- var _object2 = _interopRequireDefault(_object);
-
- var _Literal = require('./Literal');
-
- var _Literal2 = _interopRequireDefault(_Literal);
-
- var _JSXElement = require('./JSXElement');
-
- var _JSXElement2 = _interopRequireDefault(_JSXElement);
-
- var _expressions = require('./expressions');
-
- var _expressions2 = _interopRequireDefault(_expressions);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- // Composition map of types to their extractor functions.
- var TYPES = {
- Literal: _Literal2.default,
- JSXElement: _JSXElement2.default,
- JSXExpressionContainer: _expressions2.default
- };
-
- // Composition map of types to their extractor functions to handle literals.
- var LITERAL_TYPES = (0, _object2.default)({}, TYPES, {
- JSXElement: function JSXElement() {
- return null;
- },
- JSXExpressionContainer: _expressions.extractLiteral
- });
-
- /**
- * This function maps an AST value node
- * to its correct extractor function for its
- * given type.
- *
- * This will map correctly for *all* possible types.
- *
- * @param value - AST Value object on a JSX Attribute.
- */
- function getValue(value) {
- return TYPES[value.type](value);
- }
-
- /**
- * This function maps an AST value node
- * to its correct extractor function for its
- * given type.
- *
- * This will map correctly for *some* possible types that map to literals.
- *
- * @param value - AST Value object on a JSX Attribute.
- */
- function getLiteralValue(value) {
- return LITERAL_TYPES[value.type](value);
- }
|