hz-zhhq-web/node_modules/pretty-format/build/plugins/react_test_component.js

74 lines
1.7 KiB
JavaScript

'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 testSymbol = Symbol.for('react.test.json');
const getPropKeys = object => {
const props = object.props;
return props
? Object.keys(props)
.filter(key => props[key] !== undefined)
.sort()
: [];
};
const serialize = (exports.serialize = (
object,
config,
indentation,
depth,
refs,
printer
) =>
++depth > config.maxDepth
? (0, _markup.printElementAsLeaf)(object.type, config)
: (0, _markup.printElement)(
object.type,
object.props
? (0, _markup.printProps)(
getPropKeys(object),
// Despite ternary expression, Flow 0.51.0 found incorrect error:
// undefined is incompatible with the expected param type of Object
// $FlowFixMe
object.props,
config,
indentation + config.indent,
depth,
refs,
printer
)
: '',
object.children
? (0, _markup.printChildren)(
object.children,
config,
indentation + config.indent,
depth,
refs,
printer
)
: '',
config,
indentation
));
const test = (exports.test = val => val && val.$$typeof === testSymbol);
exports.default = {serialize: serialize, test: test};