Skip to content

Commit

Permalink
Merge pull request #2300 from sebmarkbage/descriptorstoelements
Browse files Browse the repository at this point in the history
Renamed Descriptor -> Element
  • Loading branch information
sebmarkbage committed Oct 7, 2014
2 parents 7f9b1d1 + 8f1657b commit f48954d
Show file tree
Hide file tree
Showing 37 changed files with 396 additions and 397 deletions.
16 changes: 8 additions & 8 deletions src/browser/ReactDOM.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,26 @@

"use strict";

var ReactDescriptor = require('ReactDescriptor');
var ReactDescriptorValidator = require('ReactDescriptorValidator');
var ReactLegacyDescriptor = require('ReactLegacyDescriptor');
var ReactElement = require('ReactElement');
var ReactElementValidator = require('ReactElementValidator');
var ReactLegacyElement = require('ReactLegacyElement');

var mapObject = require('mapObject');

/**
* Create a factory that creates HTML tag descriptors.
* Create a factory that creates HTML tag elements.
*
* @param {string} tag Tag name (e.g. `div`).
* @private
*/
function createDOMFactory(tag) {
if (__DEV__) {
return ReactLegacyDescriptor.markNonLegacyFactory(
ReactDescriptorValidator.createFactory(tag)
return ReactLegacyElement.markNonLegacyFactory(
ReactElementValidator.createFactory(tag)
);
}
return ReactLegacyDescriptor.markNonLegacyFactory(
ReactDescriptor.createFactory(tag)
return ReactLegacyElement.markNonLegacyFactory(
ReactElement.createFactory(tag)
);
}

Expand Down
4 changes: 2 additions & 2 deletions src/browser/ReactTextComponent.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
var DOMPropertyOperations = require('DOMPropertyOperations');
var ReactBrowserComponentMixin = require('ReactBrowserComponentMixin');
var ReactComponent = require('ReactComponent');
var ReactDescriptor = require('ReactDescriptor');
var ReactElement = require('ReactElement');

var escapeTextForBrowser = require('escapeTextForBrowser');
var mixInto = require('mixInto');
Expand Down Expand Up @@ -105,7 +105,7 @@ mixInto(ReactTextComponent, {

var ReactTextComponentFactory = function(text) {
// Bypass validation and configuration
return new ReactDescriptor(ReactTextComponent, null, null, null, null, text);
return new ReactElement(ReactTextComponent, null, null, null, null, text);
};

ReactTextComponentFactory.type = ReactTextComponent;
Expand Down
8 changes: 4 additions & 4 deletions src/browser/__tests__/ReactDOM-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,8 @@ describe('ReactDOM', function() {

it('allow React.DOM factories to be called without warnings', function() {
spyOn(console, 'warn');
var descriptor = React.DOM.div();
expect(descriptor.type).toBe('div');
var element = React.DOM.div();
expect(element.type).toBe('div');
expect(console.warn.argsForCall.length).toBe(0);
});

Expand All @@ -139,8 +139,8 @@ describe('ReactDOM', function() {

it('warns but allow dom factories to be used in createElement', function() {
spyOn(console, 'warn');
var descriptor = React.createElement(React.DOM.div);
expect(descriptor.type).toBe('div');
var element = React.createElement(React.DOM.div);
expect(element.type).toBe('div');
expect(console.warn.argsForCall.length).toBe(1);
expect(console.warn.argsForCall[0][0]).toContain(
'Do not pass React.DOM.div'
Expand Down
6 changes: 3 additions & 3 deletions src/browser/server/ReactServerRendering.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
"use strict";

var ReactDescriptor = require('ReactDescriptor');
var ReactElement = require('ReactElement');
var ReactInstanceHandles = require('ReactInstanceHandles');
var ReactMarkupChecksum = require('ReactMarkupChecksum');
var ReactServerRenderingTransaction =
Expand All @@ -33,7 +33,7 @@ var invariant = require('invariant');
*/
function renderComponentToString(component) {
invariant(
ReactDescriptor.isValidDescriptor(component),
ReactElement.isValidElement(component),
'renderComponentToString(): You must pass a valid ReactComponent.'
);

Expand Down Expand Up @@ -65,7 +65,7 @@ function renderComponentToString(component) {
*/
function renderComponentToStaticMarkup(component) {
invariant(
ReactDescriptor.isValidDescriptor(component),
ReactElement.isValidElement(component),
'renderComponentToStaticMarkup(): You must pass a valid ReactComponent.'
);

Expand Down
30 changes: 15 additions & 15 deletions src/browser/ui/React.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ var ReactComponent = require('ReactComponent');
var ReactCompositeComponent = require('ReactCompositeComponent');
var ReactContext = require('ReactContext');
var ReactCurrentOwner = require('ReactCurrentOwner');
var ReactDescriptor = require('ReactDescriptor');
var ReactDescriptorValidator = require('ReactDescriptorValidator');
var ReactElement = require('ReactElement');
var ReactElementValidator = require('ReactElementValidator');
var ReactDOM = require('ReactDOM');
var ReactDOMComponent = require('ReactDOMComponent');
var ReactDefaultInjection = require('ReactDefaultInjection');
var ReactInstanceHandles = require('ReactInstanceHandles');
var ReactLegacyDescriptor = require('ReactLegacyDescriptor');
var ReactLegacyElement = require('ReactLegacyElement');
var ReactMount = require('ReactMount');
var ReactMultiChild = require('ReactMultiChild');
var ReactPerf = require('ReactPerf');
Expand All @@ -47,19 +47,19 @@ var onlyChild = require('onlyChild');

ReactDefaultInjection.inject();

var createDescriptor = ReactDescriptor.createDescriptor;
var createFactory = ReactDescriptor.createFactory;
var createElement = ReactElement.createElement;
var createFactory = ReactElement.createFactory;

if (__DEV__) {
createDescriptor = ReactDescriptorValidator.createDescriptor;
createFactory = ReactDescriptorValidator.createFactory;
createElement = ReactElementValidator.createElement;
createFactory = ReactElementValidator.createFactory;
}

// TODO: Drop legacy descriptors once classes no longer export these factories
createDescriptor = ReactLegacyDescriptor.wrapCreateDescriptor(
createDescriptor
// TODO: Drop legacy elements once classes no longer export these factories
createElement = ReactLegacyElement.wrapCreateElement(
createElement
);
createFactory = ReactLegacyDescriptor.wrapCreateFactory(
createFactory = ReactLegacyElement.wrapCreateFactory(
createFactory
);

Expand All @@ -76,8 +76,8 @@ var React = {
EventPluginUtils.useTouchEvents = shouldUseTouch;
},
createClass: ReactCompositeComponent.createClass,
createDescriptor: createDescriptor, // deprecated, will be removed next week
createElement: createDescriptor,
createDescriptor: createElement, // deprecated, will be removed next week
createElement: createElement,
createFactory: createFactory,
constructAndRenderComponent: ReactMount.constructAndRenderComponent,
constructAndRenderComponentByID: ReactMount.constructAndRenderComponentByID,
Expand All @@ -90,8 +90,8 @@ var React = {
renderComponentToStaticMarkup:
ReactServerRendering.renderComponentToStaticMarkup,
unmountComponentAtNode: ReactMount.unmountComponentAtNode,
isValidClass: ReactLegacyDescriptor.isValidFactory,
isValidComponent: ReactDescriptor.isValidDescriptor,
isValidClass: ReactLegacyElement.isValidFactory,
isValidComponent: ReactElement.isValidElement,
withContext: ReactContext.withContext,
__internals: {
Component: ReactComponent,
Expand Down
26 changes: 13 additions & 13 deletions src/browser/ui/ReactDOMComponent.js
Original file line number Diff line number Diff line change
Expand Up @@ -260,22 +260,22 @@ ReactDOMComponent.Mixin = {
return '';
},

receiveComponent: function(nextDescriptor, transaction) {
if (nextDescriptor === this._descriptor &&
nextDescriptor._owner != null) {
// Since descriptors are immutable after the owner is rendered,
receiveComponent: function(nextElement, transaction) {
if (nextElement === this._currentElement &&
nextElement._owner != null) {
// Since elements are immutable after the owner is rendered,
// we can do a cheap identity compare here to determine if this is a
// superfluous reconcile. It's possible for state to be mutable but such
// change should trigger an update of the owner which would recreate
// the descriptor. We explicitly check for the existence of an owner since
// it's possible for a descriptor created outside a composite to be
// the element. We explicitly check for the existence of an owner since
// it's possible for a element created outside a composite to be
// deeply mutated and reused.
return;
}

ReactComponent.Mixin.receiveComponent.call(
this,
nextDescriptor,
nextElement,
transaction
);
},
Expand All @@ -285,22 +285,22 @@ ReactDOMComponent.Mixin = {
* attached to the DOM. Reconciles the root DOM node, then recurses.
*
* @param {ReactReconcileTransaction} transaction
* @param {ReactDescriptor} prevDescriptor
* @param {ReactElement} prevElement
* @internal
* @overridable
*/
updateComponent: ReactPerf.measure(
'ReactDOMComponent',
'updateComponent',
function(transaction, prevDescriptor) {
assertValidProps(this._descriptor.props);
function(transaction, prevElement) {
assertValidProps(this._currentElement.props);
ReactComponent.Mixin.updateComponent.call(
this,
transaction,
prevDescriptor
prevElement
);
this._updateDOMProperties(prevDescriptor.props, transaction);
this._updateDOMChildren(prevDescriptor.props, transaction);
this._updateDOMProperties(prevElement.props, transaction);
this._updateDOMChildren(prevElement.props, transaction);
}
),

Expand Down
36 changes: 18 additions & 18 deletions src/browser/ui/ReactMount.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
var DOMProperty = require('DOMProperty');
var ReactBrowserEventEmitter = require('ReactBrowserEventEmitter');
var ReactCurrentOwner = require('ReactCurrentOwner');
var ReactDescriptor = require('ReactDescriptor');
var ReactLegacyDescriptor = require('ReactLegacyDescriptor');
var ReactElement = require('ReactElement');
var ReactLegacyElement = require('ReactLegacyElement');
var ReactInstanceHandles = require('ReactInstanceHandles');
var ReactPerf = require('ReactPerf');

Expand All @@ -33,8 +33,8 @@ var invariant = require('invariant');
var shouldUpdateReactComponent = require('shouldUpdateReactComponent');
var warning = require('warning');

var createDescriptor = ReactLegacyDescriptor.wrapCreateDescriptor(
ReactDescriptor.createDescriptor
var createElement = ReactLegacyElement.wrapCreateElement(
ReactElement.createElement
);

var SEPARATOR = ReactInstanceHandles.SEPARATOR;
Expand Down Expand Up @@ -335,24 +335,24 @@ var ReactMount = {
* perform an update on it and only mutate the DOM as necessary to reflect the
* latest React component.
*
* @param {ReactDescriptor} nextDescriptor Component descriptor to render.
* @param {ReactElement} nextElement Component element to render.
* @param {DOMElement} container DOM element to render into.
* @param {?function} callback function triggered on completion
* @return {ReactComponent} Component instance rendered in `container`.
*/
renderComponent: function(nextDescriptor, container, callback) {
renderComponent: function(nextElement, container, callback) {
invariant(
ReactDescriptor.isValidDescriptor(nextDescriptor),
'renderComponent(): Invalid component descriptor.%s',
ReactElement.isValidElement(nextElement),
'renderComponent(): Invalid component element.%s',
(
typeof nextDescriptor === 'string' ?
typeof nextElement === 'string' ?
' Instead of passing an element string, make sure to instantiate ' +
'it by passing it to React.createElement.' :
ReactLegacyDescriptor.isValidFactory(nextDescriptor) ?
ReactLegacyElement.isValidFactory(nextElement) ?
' Instead of passing a component class, make sure to instantiate ' +
'it by passing it to React.createElement.' :
// Check if it quacks like a descriptor
typeof nextDescriptor.props !== "undefined" ?
// Check if it quacks like a element
typeof nextElement.props !== "undefined" ?
' This may be caused by unintentionally loading two independent ' +
'copies of React.' :
''
Expand All @@ -362,11 +362,11 @@ var ReactMount = {
var prevComponent = instancesByReactRootID[getReactRootID(container)];

if (prevComponent) {
var prevDescriptor = prevComponent._descriptor;
if (shouldUpdateReactComponent(prevDescriptor, nextDescriptor)) {
var prevElement = prevComponent._currentElement;
if (shouldUpdateReactComponent(prevElement, nextElement)) {
return ReactMount._updateRootComponent(
prevComponent,
nextDescriptor,
nextElement,
container,
callback
);
Expand All @@ -382,7 +382,7 @@ var ReactMount = {
var shouldReuseMarkup = containerHasReactMarkup && !prevComponent;

var component = ReactMount._renderNewRootComponent(
nextDescriptor,
nextElement,
container,
shouldReuseMarkup
);
Expand All @@ -400,8 +400,8 @@ var ReactMount = {
* @return {ReactComponent} Component instance rendered in `container`.
*/
constructAndRenderComponent: function(constructor, props, container) {
var descriptor = createDescriptor(constructor, props);
return ReactMount.renderComponent(descriptor, container);
var element = createElement(constructor, props);
return ReactMount.renderComponent(element, container);
},

/**
Expand Down
4 changes: 2 additions & 2 deletions src/browser/ui/__tests__/ReactDOMComponent-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -318,8 +318,8 @@ describe('ReactDOMComponent', function() {
var ReactDOMComponent = require('ReactDOMComponent');
var ReactReconcileTransaction = require('ReactReconcileTransaction');

var StubNativeComponent = function(descriptor) {
ReactComponent.Mixin.construct.call(this, descriptor);
var StubNativeComponent = function(element) {
ReactComponent.Mixin.construct.call(this, element);
};
mixInto(StubNativeComponent, ReactComponent.Mixin);
mixInto(StubNativeComponent, ReactDOMComponent.Mixin);
Expand Down
4 changes: 2 additions & 2 deletions src/browser/ui/__tests__/ReactMount-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ describe('ReactMount', function() {
expect(function() {
ReactTestUtils.renderIntoDocument('div');
}).toThrow(
'Invariant Violation: renderComponent(): Invalid component descriptor. ' +
'Invariant Violation: renderComponent(): Invalid component element. ' +
'Instead of passing an element string, make sure to instantiate it ' +
'by passing it to React.createElement.'
);
Expand All @@ -57,7 +57,7 @@ describe('ReactMount', function() {
expect(function() {
ReactTestUtils.renderIntoDocument(Component);
}).toThrow(
'Invariant Violation: renderComponent(): Invalid component descriptor. ' +
'Invariant Violation: renderComponent(): Invalid component element. ' +
'Instead of passing a component class, make sure to instantiate it ' +
'by passing it to React.createElement.'
);
Expand Down
4 changes: 2 additions & 2 deletions src/browser/ui/dom/components/ReactDOMButton.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@
var AutoFocusMixin = require('AutoFocusMixin');
var ReactBrowserComponentMixin = require('ReactBrowserComponentMixin');
var ReactCompositeComponent = require('ReactCompositeComponent');
var ReactDescriptor = require('ReactDescriptor');
var ReactElement = require('ReactElement');
var ReactDOM = require('ReactDOM');

var keyMirror = require('keyMirror');

// Store a reference to the <button> `ReactDOMComponent`. TODO: use string
var button = ReactDescriptor.createFactory(ReactDOM.button.type);
var button = ReactElement.createFactory(ReactDOM.button.type);

var mouseListenerNames = keyMirror({
onClick: true,
Expand Down
4 changes: 2 additions & 2 deletions src/browser/ui/dom/components/ReactDOMForm.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ var EventConstants = require('EventConstants');
var LocalEventTrapMixin = require('LocalEventTrapMixin');
var ReactBrowserComponentMixin = require('ReactBrowserComponentMixin');
var ReactCompositeComponent = require('ReactCompositeComponent');
var ReactDescriptor = require('ReactDescriptor');
var ReactElement = require('ReactElement');
var ReactDOM = require('ReactDOM');

// Store a reference to the <form> `ReactDOMComponent`. TODO: use string
var form = ReactDescriptor.createFactory(ReactDOM.form.type);
var form = ReactElement.createFactory(ReactDOM.form.type);

/**
* Since onSubmit doesn't bubble OR capture on the top level in IE8, we need
Expand Down
4 changes: 2 additions & 2 deletions src/browser/ui/dom/components/ReactDOMImg.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ var EventConstants = require('EventConstants');
var LocalEventTrapMixin = require('LocalEventTrapMixin');
var ReactBrowserComponentMixin = require('ReactBrowserComponentMixin');
var ReactCompositeComponent = require('ReactCompositeComponent');
var ReactDescriptor = require('ReactDescriptor');
var ReactElement = require('ReactElement');
var ReactDOM = require('ReactDOM');

// Store a reference to the <img> `ReactDOMComponent`. TODO: use string
var img = ReactDescriptor.createFactory(ReactDOM.img.type);
var img = ReactElement.createFactory(ReactDOM.img.type);

/**
* Since onLoad doesn't bubble OR capture on the top level in IE8, we need to
Expand Down
Loading

0 comments on commit f48954d

Please sign in to comment.