These are all the files from the Tabler react repos, made to work with laravel and webpack.

This commit is contained in:
James Cole
2019-01-04 17:03:16 +01:00
parent 961e7e92b3
commit 40028c8be7
94 changed files with 51417 additions and 3 deletions

View File

@@ -0,0 +1,74 @@
/* @flow */
import isPlainObject from 'is-plain-object';
import { isValidElement } from 'react';
import formatComplexDataStructure from './formatComplexDataStructure';
import formatTreeNode from './formatTreeNode';
import type { Options } from './../options';
import parseReactElement from './../parser/parseReactElement';
const noRefCheck = () => {};
const escape = (s: string): string => s.replace(/"/g, '"');
const defaultFunctionValue = (fn: any): any => fn;
const formatPropValue = (
propValue: any,
inline: boolean,
lvl: number,
options: Options
): string => {
if (typeof propValue === 'number') {
return `{${String(propValue)}}`;
}
if (typeof propValue === 'string') {
return `"${escape(propValue)}"`;
}
// > "Symbols (new in ECMAScript 2015, not yet supported in Flow)"
// @see: https://flow.org/en/docs/types/primitives/
// $FlowFixMe: Flow does not support Symbol
if (typeof propValue === 'symbol') {
const symbolDescription = propValue
.valueOf()
.toString()
.replace(/Symbol\((.*)\)/, '$1');
if (!symbolDescription) {
return `{Symbol()}`;
}
return `{Symbol('${symbolDescription}')}`;
}
if (typeof propValue === 'function') {
const { functionValue = defaultFunctionValue, showFunctions } = options;
if (!showFunctions && functionValue === defaultFunctionValue) {
return `{${functionValue(noRefCheck)}}`;
}
return `{${functionValue(propValue)}}`;
}
if (isValidElement(propValue)) {
return `{${formatTreeNode(
parseReactElement(propValue, options),
true,
lvl,
options
)}}`;
}
if (propValue instanceof Date) {
return `{new Date("${propValue.toISOString()}")}`;
}
if (isPlainObject(propValue) || Array.isArray(propValue)) {
return `{${formatComplexDataStructure(propValue, inline, lvl, options)}}`;
}
return `{${String(propValue)}}`;
};
export default formatPropValue;