add optimisation.react.constantElements transformer - facebook/react#3228

This commit is contained in:
Sebastian McKenzie
2015-03-30 01:22:45 +11:00
parent 3952eefd01
commit ca5daca5dd
38 changed files with 358 additions and 78 deletions

View File

@@ -0,0 +1,10 @@
function render() {
return <foo />;
}
function render() {
var text = getText();
return function () {
return <foo>{text}</foo>;
};
}

View File

@@ -0,0 +1,25 @@
"use strict";
var _ref = {
type: "foo",
ref: null,
props: {},
key: null
};
function render() {
return _ref;
}
function render() {
var text = getText();
var _ref = {
type: "foo",
ref: null,
children: [text],
props: {},
key: null
};
return function () {
return _ref;
};
}

View File

@@ -0,0 +1,3 @@
{
"optional": ["optimisation.react.constantElements", "optimisation.react.inlineElements"]
}

View File

@@ -0,0 +1,11 @@
"use strict";
({
type: Baz,
ref: null,
children: [],
props: babelHelpers.defaultProps(Baz.defaultProps, {
foo: "bar"
}),
key: null
});

View File

@@ -0,0 +1,9 @@
"use strict";
({
type: Baz,
ref: null,
children: [],
props: babelHelpers.defaultProps(Baz.defaultProps, {}),
key: null
});

View File

@@ -0,0 +1,11 @@
"use strict";
({
type: "foo",
ref: null,
children: [],
props: {
bar: "foo"
},
key: null
});

View File

@@ -0,0 +1,9 @@
"use strict";
({
type: "foo",
ref: null,
children: [],
props: {},
key: null
});

View File

@@ -0,0 +1 @@
<Foo key="foo" />

View File

@@ -0,0 +1,8 @@
"use strict";
({
type: Foo,
ref: null,
props: babelHelpers.defaultProps(Foo.defaultProps, {}),
key: "foo"
});

View File

@@ -0,0 +1 @@
<Foo className="foo">{bar}<Baz key="baz" /></Foo>

View File

@@ -0,0 +1,16 @@
"use strict";
({
type: Foo,
ref: null,
children: [bar, {
type: Baz,
ref: null,
props: babelHelpers.defaultProps(Baz.defaultProps, {}),
key: "baz"
}],
props: babelHelpers.defaultProps(Foo.defaultProps, {
className: "foo"
}),
key: null
});

View File

@@ -0,0 +1 @@
<div className="foo">{bar}</div>;

View File

@@ -0,0 +1,11 @@
"use strict";
({
type: "div",
ref: null,
children: [bar],
props: {
className: "foo"
},
key: null
});

View File

@@ -0,0 +1 @@
<div className="foo">{bar}<Baz key="baz" /></div>

View File

@@ -0,0 +1,16 @@
"use strict";
({
type: "div",
ref: null,
children: [bar, {
type: Baz,
ref: null,
props: babelHelpers.defaultProps(Baz.defaultProps, {}),
key: "baz"
}],
props: {
className: "foo"
},
key: null
});

View File

@@ -0,0 +1,5 @@
{
"externalHelpers": true,
"noCheckAst": true,
"optional": ["optimisation.react.inlineElements"]
}

View File

@@ -0,0 +1 @@
<Foo ref="bar" />

View File

@@ -0,0 +1,3 @@
"use strict";
React.createElement(Foo, { ref: "bar" });

View File

@@ -0,0 +1,10 @@
"use strict";
({
type: Baz,
ref: null,
props: babelHelpers.defaultProps(Baz.defaultProps, {
foo: "bar"
}),
key: null
});

View File

@@ -0,0 +1,8 @@
"use strict";
({
type: Baz,
ref: null,
props: babelHelpers.defaultProps(Baz.defaultProps, {}),
key: null
});

View File

@@ -0,0 +1,10 @@
"use strict";
({
type: "foo",
ref: null,
props: {
bar: "foo"
},
key: null
});

View File

@@ -0,0 +1,8 @@
"use strict";
({
type: "foo",
ref: null,
props: {},
key: null
});

View File

@@ -0,0 +1,3 @@
"use strict";
React.createElement(Foo, bar);