| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- 'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.test = exports.serialize = undefined;
- var _markup = require('./lib/markup'); /**
- * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- *
- *
- */const elementSymbol = Symbol.for('react.element');
- // Given element.props.children, or subtree during recursive traversal,
- // return flattened array of children.
- const getChildren = function (arg) {let children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
- if (Array.isArray(arg)) {
- arg.forEach(item => {
- getChildren(item, children);
- });
- } else if (arg != null && arg !== false) {
- children.push(arg);
- }
- return children;
- };
- const getType = element => {
- if (typeof element.type === 'string') {
- return element.type;
- }
- if (typeof element.type === 'function') {
- return element.type.displayName || element.type.name || 'Unknown';
- }
- return 'UNDEFINED';
- };
- const serialize = exports.serialize = (
- element,
- config,
- indentation,
- depth,
- refs,
- printer) =>
- ++depth > config.maxDepth ?
- (0, _markup.printElementAsLeaf)(getType(element), config) :
- (0, _markup.printElement)(
- getType(element),
- (0, _markup.printProps)(
- Object.keys(element.props).
- filter(key => key !== 'children').
- sort(),
- element.props,
- config,
- indentation + config.indent,
- depth,
- refs,
- printer),
- (0, _markup.printChildren)(
- getChildren(element.props.children),
- config,
- indentation + config.indent,
- depth,
- refs,
- printer),
- config,
- indentation);
- const test = exports.test = val => val && val.$$typeof === elementSymbol;exports.default =
- { serialize, test };
|