New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@cicada/render

Package Overview
Dependencies
Maintainers
1
Versions
107
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cicada/render - npm Package Compare versions

Comparing version

to
1.0.0-alpha10

lib/__test__/connect.test.js

30

lib/__test__/convertFragment.test.js

@@ -25,5 +25,5 @@ 'use strict';

var _createConnect = require('../createConnect');
var _connect = require('../connect');
var _createConnect2 = _interopRequireDefault(_createConnect);
var _connect2 = _interopRequireDefault(_connect);

@@ -95,4 +95,4 @@ var _createStateTree = require('../createStateTree');

};
var connect = (0, _createConnect2.default)();
var Button = connect(ButtonComponent, 'Button');
var Button = (0, _connect2.default)(ButtonComponent, 'Button');
var declarativeComponent = (0, _convertFragment3.default)(fragment, { Button: Button }, (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default), _createAppearance2.default, _createBackground2.default, { utilities: { stateTree: stateTreeUtility } });

@@ -113,4 +113,3 @@ expect((0, _typeof3.default)(declarativeComponent.defaultListeners.onChange)).toBe('function');

var connect = (0, _createConnect2.default)();
var Button = connect(ButtonComponent, 'Button');
var Button = (0, _connect2.default)(ButtonComponent, 'Button');
var onChangeArgs = [];

@@ -238,7 +237,6 @@ var onChange = function onChange() {

var connect = (0, _createConnect2.default)();
var Button = connect(ButtonComponent, 'Button');
var Spy = connect(SpyComponent, 'Spy');
var Button = (0, _connect2.default)(ButtonComponent, 'Button');
var Spy = (0, _connect2.default)(SpyComponent, 'Spy');
var finalCreateTree = (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default);
var ButtonAndSpy = connect((0, _convertFragment3.default)(fragment, finalCreateTree, _createAppearance2.default, _createBackground2.default, { utilities: { stateTree: stateTreeUtility } }), 'ButtonAndSpy');
var ButtonAndSpy = (0, _connect2.default)((0, _convertFragment3.default)(fragment, finalCreateTree, _createAppearance2.default, _createBackground2.default, { utilities: { stateTree: stateTreeUtility } }), 'ButtonAndSpy');

@@ -324,7 +322,6 @@ var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {

var connect = (0, _createConnect2.default)();
var Button = connect(ButtonComponent, 'Button');
var Spy = connect(SpyComponent, 'Spy');
var Button = (0, _connect2.default)(ButtonComponent, 'Button');
var Spy = (0, _connect2.default)(SpyComponent, 'Spy');
var finalCreateTree = (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default);
var ButtonAndSpy = connect((0, _convertFragment3.default)(fragment, finalCreateTree, _createAppearance2.default, _createBackground2.default, { utilities: { stateTree: stateTreeUtility } }), 'ButtonAndSpy');
var ButtonAndSpy = (0, _connect2.default)((0, _convertFragment3.default)(fragment, finalCreateTree, _createAppearance2.default, _createBackground2.default, { utilities: { stateTree: stateTreeUtility } }), 'ButtonAndSpy');

@@ -376,6 +373,5 @@ var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {

var connect = (0, _createConnect2.default)();
var Button = connect(ButtonComponent, 'Button');
var Button = (0, _connect2.default)(ButtonComponent, 'Button');
var finalCreateTree = (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default);
var ButtonFrag = connect((0, _convertFragment3.default)(fragment, finalCreateTree, _createAppearance2.default, _createBackground2.default, { utilities: { stateTree: stateTreeUtility } }), 'ButtonFrag');
var ButtonFrag = (0, _connect2.default)((0, _convertFragment3.default)(fragment, finalCreateTree, _createAppearance2.default, _createBackground2.default, { utilities: { stateTree: stateTreeUtility } }), 'ButtonFrag');

@@ -382,0 +378,0 @@ test('simple delegate', function () {

@@ -31,5 +31,5 @@ 'use strict';

var _createConnect = require('../../createConnect');
var _connect = require('../../connect');
var _createConnect2 = _interopRequireDefault(_createConnect);
var _connect2 = _interopRequireDefault(_connect);

@@ -91,6 +91,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var connect = noop;
var stateTree = {};
beforeEach(function () {
connect = (0, _createConnect2.default)();
stateTree = (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default)();

@@ -101,3 +99,3 @@ });

var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {
components: { Demo: connect(DemoComponent, 'Demo') },
components: { Demo: (0, _connect2.default)(DemoComponent, 'Demo') },
stateTree: stateTree,

@@ -115,3 +113,3 @@ config: {

var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {
components: { Demo: connect(DemoComponentWithIdentifier, 'Demo') },
components: { Demo: (0, _connect2.default)(DemoComponentWithIdentifier, 'Demo') },
stateTree: stateTree,

@@ -142,3 +140,3 @@ config: {

var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {
components: { Demo: connect(DemoComponent, 'Demo') },
components: { Demo: (0, _connect2.default)(DemoComponent, 'Demo') },
stateTree: (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default)({

@@ -198,3 +196,3 @@ demo: {

stateTree: stateTree,
components: { Button: connect(Component, 'Button') },
components: { Button: (0, _connect2.default)(Component, 'Button') },
config: {

@@ -255,3 +253,3 @@ type: 'Button',

stateTree: stateTree,
components: { Button: connect(Component, 'Button') },
components: { Button: (0, _connect2.default)(Component, 'Button') },
config: {

@@ -315,3 +313,3 @@ type: 'Button',

stateTree: stateTree,
components: { Button: connect(Component, 'Button') },
components: { Button: (0, _connect2.default)(Component, 'Button') },
config: {

@@ -377,3 +375,3 @@ type: 'Button',

stateTree: stateTree,
components: { Button: connect(Component, 'Button') },
components: { Button: (0, _connect2.default)(Component, 'Button') },
config: {

@@ -434,3 +432,3 @@ type: 'Button',

stateTree: stateTree,
components: { Button: connect(Component, 'Button') },
components: { Button: (0, _connect2.default)(Component, 'Button') },
config: {

@@ -492,3 +490,3 @@ type: 'Button',

stateTree: stateTree,
components: { Button: connect(Component, 'Button') },
components: { Button: (0, _connect2.default)(Component, 'Button') },
config: {

@@ -495,0 +493,0 @@ type: 'Button',

@@ -29,5 +29,5 @@ 'use strict';

var _createConnect = require('../../createConnect');
var _connect = require('../../connect');
var _createConnect2 = _interopRequireDefault(_createConnect);
var _connect2 = _interopRequireDefault(_connect);

@@ -80,3 +80,2 @@ var _createBackground = require('../../createBackground');

var stateTree = null;
var connect = null;
var appearance = null;

@@ -86,3 +85,2 @@ beforeEach(function () {

appearance = (0, _createAppearance2.default)();
connect = (0, _createConnect2.default)();
});

@@ -115,3 +113,3 @@

var Input = connect(DemoInput, 'Input');
var Input = (0, _connect2.default)(DemoInput, 'Input');

@@ -118,0 +116,0 @@ var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {

@@ -7,6 +7,2 @@ 'use strict';

var _reactDom = require('react-dom');
var _reactDom2 = _interopRequireDefault(_reactDom);
var _propTypes = require('prop-types');

@@ -18,5 +14,5 @@

var _createConnect = require('../../createConnect');
var _connect = require('../../connect');
var _createConnect2 = _interopRequireDefault(_createConnect);
var _connect2 = _interopRequireDefault(_connect);

@@ -146,4 +142,2 @@ var _util = require('../../util');

var connect = (0, _createConnect2.default)();
var DynamicRender = (0, _createDynamicRender2.default)((0, _applyStateTreeSubscriber2.default)(_createStateTree2.default), _createAppearance2.default, _createBackground2.default, backgroundDef);

@@ -163,3 +157,3 @@

var components = (0, _util.mapValues)({ Button: Button.Component, Input: Input.Component, DynamicRender: DynamicRender }, connect);
var components = (0, _util.mapValues)({ Button: Button.Component, Input: Input.Component, DynamicRender: DynamicRender }, _connect2.default);

@@ -222,3 +216,3 @@ var config = {

components = (0, _util.mapValues)({ Button: Button.Component, Input: Input.Component, DynamicRender: DynamicRender }, connect);
components = (0, _util.mapValues)({ Button: Button.Component, Input: Input.Component, DynamicRender: DynamicRender }, _connect2.default);

@@ -225,0 +219,0 @@ var config = {

@@ -25,5 +25,5 @@ 'use strict';

var _createConnect = require('../../createConnect');
var _connect = require('../../connect');
var _createConnect2 = _interopRequireDefault(_createConnect);
var _connect2 = _interopRequireDefault(_connect);

@@ -184,6 +184,5 @@ var _createStateTree = require('../../createStateTree');

var connect = (0, _createConnect2.default)();
var Button = connect(ButtonComponent, 'Button');
var Button = (0, _connect2.default)(ButtonComponent, 'Button');
var appliedCreateStateTree = (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default);
var FragmentButton = connect((0, _convertFragment2.default)(fragment, appliedCreateStateTree, _createAppearance2.default, _createBackground2.default, { utilities: { stateTree: stateTreeUtility } }), 'FragmentButton');
var FragmentButton = (0, _connect2.default)((0, _convertFragment2.default)(fragment, appliedCreateStateTree, _createAppearance2.default, _createBackground2.default, { utilities: { stateTree: stateTreeUtility } }), 'FragmentButton');

@@ -252,6 +251,5 @@ var config = {

var connect = (0, _createConnect2.default)();
var baseComponents = (0, _util.mapValues)({ Input: InputComponent, Button: ButtonComponent }, connect);
var baseComponents = (0, _util.mapValues)({ Input: InputComponent, Button: ButtonComponent }, _connect2.default);
var fragmentComponents = (0, _util.mapValues)(fragments, function (fragment, name) {
return connect((0, _convertFragment2.default)(fragment, (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default), _createAppearance2.default, _createBackground2.default, { utilities: { stateTree: stateTreeUtility } }), name);
return (0, _connect2.default)((0, _convertFragment2.default)(fragment, (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default), _createAppearance2.default, _createBackground2.default, { utilities: { stateTree: stateTreeUtility } }), name);
});

@@ -342,3 +340,5 @@

/* eslint-disable no-console */
(_console = console).log.apply(_console, ['on first name change'].concat(argv));
/* eslint-enable no-console */
}

@@ -357,6 +357,5 @@ }]

var connect = (0, _createConnect2.default)();
var baseComponents = (0, _util.mapValues)({ Input: InputComponent, Button: ButtonComponent }, connect);
var baseComponents = (0, _util.mapValues)({ Input: InputComponent, Button: ButtonComponent }, _connect2.default);
var fragmentComponents = (0, _util.mapValues)(perfFragments, function (fragment, name) {
return connect((0, _convertFragment2.default)(fragment, (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default), _createAppearance2.default, _createBackground2.default, { utilities: { stateTree: stateTreeUtility } }), name);
return (0, _connect2.default)((0, _convertFragment2.default)(fragment, (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default), _createAppearance2.default, _createBackground2.default, { utilities: { stateTree: stateTreeUtility } }), name);
});

@@ -363,0 +362,0 @@

@@ -29,5 +29,5 @@ 'use strict';

var _createConnect = require('../../createConnect');
var _connect = require('../../connect');
var _createConnect2 = _interopRequireDefault(_createConnect);
var _connect2 = _interopRequireDefault(_connect);

@@ -53,7 +53,5 @@ var _createBackground = require('../../createBackground');

var appearance = null;
var connect = null;
beforeEach(function () {
stateTree = (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default)();
appearance = (0, _createAppearance2.default)();
connect = (0, _createConnect2.default)();
});

@@ -81,33 +79,82 @@

test('use stateTree in interpolation', function () {
var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {
stateTree: stateTree,
appearance: appearance,
components: { Demo: connect(DemoComponent, 'Demo') },
background: (0, _createBackground2.default)({
jobs: {
interpolation: interpolationJob
},
utilities: {
stateTree: stateTreeUtility
var DemoChildComponent = {
render: function render(_ref2) {
var children = _ref2.children;
return _react2.default.createElement(
'div',
null,
children
);
}
};
describe('use stateTree', function () {
test('basic stateTree get', function () {
var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {
stateTree: stateTree,
appearance: appearance,
components: { Demo: (0, _connect2.default)(DemoComponent, 'Demo') },
background: (0, _createBackground2.default)({
jobs: {
interpolation: interpolationJob
},
utilities: {
stateTree: stateTreeUtility
}
}, stateTree, appearance),
config: {
children: [{
bind: 'demo',
type: 'Demo'
}, {
type: 'div',
interpolate: function interpolate(_ref3) {
var s = _ref3.stateTree;
return s.get('demo').value + 'bbb';
}
}]
}
}, stateTree, appearance),
config: {
children: [{
bind: 'demo',
type: 'Demo'
}, {
type: 'div',
interpolate: function interpolate(_ref2) {
var s = _ref2.stateTree;
}));
return s.get('demo').value + 'bbb';
stateTree.set('demo.value', 'aaa');
expect(stateTree.get('demo.value')).toBe('aaa');
expect(container.html()).toEqual('<div><div><div><div>aaa</div></div><div><div>aaabbb</div></div></div></div>');
});
test('use statePath in children', function () {
var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {
stateTree: stateTree,
appearance: appearance,
components: { Demo: (0, _connect2.default)(DemoChildComponent, 'Demo') },
background: (0, _createBackground2.default)({
jobs: {
interpolation: interpolationJob
},
utilities: {
stateTree: stateTreeUtility
}
}]
}
}));
}, stateTree, appearance),
config: {
children: [{
bind: 'demo',
type: 'Demo',
children: [{
type: 'div',
interpolate: function interpolate(_ref4) {
var s = _ref4.stateTree,
statePath = _ref4.statePath;
stateTree.set('demo.value', 'aaa');
expect(stateTree.get('demo.value')).toBe('aaa');
expect(container.html()).toEqual('<div><div><div><div>aaa</div></div><div><div>aaabbb</div></div></div></div>');
return s.get(statePath).value + 'bbb';
}
}]
}]
}
}));
stateTree.set('demo.value', 'aaa');
expect(stateTree.get('demo.value')).toBe('aaa');
expect(container.html()).toEqual('<div><div><div><div><div><div>aaabbb</div></div></div></div></div></div>');
});
});

@@ -33,5 +33,5 @@ 'use strict';

var _createConnect = require('../../createConnect');
var _connect = require('../../connect');
var _createConnect2 = _interopRequireDefault(_createConnect);
var _connect2 = _interopRequireDefault(_connect);

@@ -53,7 +53,5 @@ var _stateTree = require('../../background/utility/stateTree');

var appearance = null;
var connect = null;
beforeEach(function () {
stateTree = (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default)();
appearance = (0, _createAppearance2.default)();
connect = (0, _createConnect2.default)();
});

@@ -85,3 +83,3 @@

appearance: appearance,
components: { Demo: connect(DemoComponent, 'Demo') },
components: { Demo: (0, _connect2.default)(DemoComponent, 'Demo') },
background: (0, _createBackground2.default)({

@@ -88,0 +86,0 @@ jobs: {

@@ -41,5 +41,5 @@ 'use strict';

var _createConnect = require('../../createConnect');
var _connect = require('../../connect');
var _createConnect2 = _interopRequireDefault(_createConnect);
var _connect2 = _interopRequireDefault(_connect);

@@ -135,7 +135,5 @@ var _createBackground = require('../../createBackground');

var appearance = null;
var connect = null;
beforeEach(function () {
stateTree = (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default)({});
appearance = (0, _createAppearance2.default)();
connect = (0, _createConnect2.default)();
});

@@ -163,3 +161,3 @@

var Input = connect(DemoInput, 'Input');
var Input = (0, _connect2.default)(DemoInput, 'Input');

@@ -231,3 +229,3 @@ var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {

var Input = connect(DemoInput, 'Input');
var Input = (0, _connect2.default)(DemoInput, 'Input');

@@ -317,3 +315,3 @@ var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {

};
Input = connect(DemoInput, 'Input');
Input = (0, _connect2.default)(DemoInput, 'Input');
container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {

@@ -442,3 +440,3 @@ stateTree: stateTreeWithInitial,

var Input = connect(DemoInput, 'Input');
var Input = (0, _connect2.default)(DemoInput, 'Input');

@@ -531,3 +529,3 @@ var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {

var Input = connect(DemoInput, 'Input');
var Input = (0, _connect2.default)(DemoInput, 'Input');

@@ -581,3 +579,3 @@ var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {

var Input = connect(DemoInput, 'Input');
var Input = (0, _connect2.default)(DemoInput, 'Input');

@@ -641,3 +639,3 @@ var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {

var Input = connect(DemoInput, 'Input');
var Input = (0, _connect2.default)(DemoInput, 'Input');
var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {

@@ -688,3 +686,3 @@ stateTree: stateTree,

var Input = connect(DemoInput, 'Input');
var Input = (0, _connect2.default)(DemoInput, 'Input');

@@ -691,0 +689,0 @@ var container = (0, _enzyme.mount)(_react2.default.createElement(_Render2.default, {

@@ -29,5 +29,5 @@ 'use strict';

var _createConnect = require('../../createConnect');
var _connect = require('../../connect');
var _createConnect2 = _interopRequireDefault(_createConnect);
var _connect2 = _interopRequireDefault(_connect);

@@ -54,7 +54,5 @@ var _createBackground = require('../../createBackground');

var appearance = null;
var connect = null;
beforeEach(function () {
stateTree = (0, _applyStateTreeSubscriber2.default)(_createStateTree2.default)();
appearance = (0, _createAppearance2.default)();
connect = (0, _createConnect2.default)();
});

@@ -86,3 +84,3 @@

appearance: appearance,
components: { Demo: connect(DemoComponent, 'Demo') },
components: { Demo: (0, _connect2.default)(DemoComponent, 'Demo') },
config: {

@@ -105,3 +103,3 @@ bind: 'demo',

appearance: appearance,
components: { Demo: connect(DemoComponent, 'Demo') },
components: { Demo: (0, _connect2.default)(DemoComponent, 'Demo') },
background: (0, _createBackground2.default)({

@@ -142,3 +140,3 @@ jobs: {

appearance: appearance,
components: { Demo: connect(DemoComponent, 'Demo') },
components: { Demo: (0, _connect2.default)(DemoComponent, 'Demo') },
background: (0, _createBackground2.default)({

@@ -145,0 +143,0 @@ jobs: {

@@ -26,3 +26,3 @@ 'use strict';

function initialize(utilInstances, stateTree, appearance) {
function initialize(utilInstances, _, appearance) {
var idToInterpolate = {};

@@ -32,5 +32,8 @@

var children = _ref.children,
interpolate = _ref.interpolate;
interpolate = _ref.interpolate,
getStatePath = _ref.getStatePath;
idToInterpolate[id] = typeof interpolate === 'function' ? interpolate : createInterpolate(children, (0, _keys2.default)(utilInstances));
var fn = typeof interpolate === 'function' ? interpolate : createInterpolate(children, (0, _keys2.default)(utilInstances));
idToInterpolate[id] = { fn: fn, getStatePath: getStatePath };
}

@@ -40,3 +43,5 @@

function run(id) {
return idToInterpolate[id]((0, _extends3.default)({}, utilInstances));
return idToInterpolate[id].fn((0, _extends3.default)({}, utilInstances, {
statePath: idToInterpolate[id].getStatePath()
}));
}

@@ -43,0 +48,0 @@

@@ -12,2 +12,3 @@ 'use strict';

var primitiveComponent = exports.primitiveComponent = {
a: DISPLAY_INLINE,
br: DISPLAY_BLOCK,

@@ -14,0 +15,0 @@ dd: DISPLAY_INLINE,

@@ -28,3 +28,3 @@ 'use strict';

* createBackground 代码中做了三个重要的事情:
* 1. 对外提供统一的 register 函数,这个函数是 createConnect 中对每个组件自动调用的。
* 1. 对外提供统一的 register 函数,这个函数是 connect 中对每个组件自动调用的。
* 在 register 函数中,再调用相关的 background 的 register。这样就建立了组件与 background 的链接。

@@ -31,0 +31,0 @@ * 在 validation 例子中,就是把用户在组件上填写的 validator register 到 validation 这个 background 中去。

@@ -260,4 +260,7 @@ 'use strict';

// 绑定 intercepter
this.intercepters = (0, _util.mapValues)(defaultIntercepters, function (defaultIntercepter, name) {
return (0, _util.inject)(intercepters[name] !== undefined ? intercepters[name] : defaultIntercepter, _this4.getInjectArg);
/* eslint-disable no-nested-ternary */
this.intercepters = (0, _util.filter)((0, _util.mapValues)(defaultIntercepters, function (defaultIntercepter, name) {
return intercepters[name] !== undefined ? (0, _util.inject)(intercepters[name], _this4.getInjectArg) : defaultIntercepter === undefined ? undefined : (0, _util.inject)(defaultIntercepter, _this4.getInjectArg);
}), function (i) {
return i !== undefined;
});

@@ -279,4 +282,4 @@ }

var nextState = defaultListener.apply(undefined, [_this5.getRenderArg(statePath)].concat(runtimeArgs));
if (nextState !== state) {
_this5.context.stateTree.set(_this5.getResolvedStatePath(), nextState, _constant.REASON_DEFAULT_LISTENER);
if (nextState !== undefined && nextState !== state) {
_this5.context.stateTree.merge(_this5.getResolvedStatePath(), nextState, _constant.REASON_DEFAULT_LISTENER);
}

@@ -288,8 +291,4 @@ };

value: function getChildContext() {
var _this6 = this;
return {
getStatePath: function getStatePath() {
return _this6.getResolvedStatePath();
}
getStatePath: this.getResolvedStatePath
};

@@ -312,5 +311,7 @@ }

key: 'componentWillReceiveProps',
value: function componentWillReceiveProps() {
value: function componentWillReceiveProps(nextProps) {
// 不接受 config 动态变化
throw new Error('connected component received new props, statePath: ' + this.getResolvedStatePath());
/* eslint-disable no-console */
console.warn('connected component should never received new props, statePath: ' + this.getResolvedStatePath(), this.props, nextProps);
/* eslint-enable no-console */
}

@@ -369,9 +370,9 @@ }, {

var _initialiseProps = function _initialiseProps() {
var _this7 = this;
var _this6 = this;
this.getInjectArg = function () {
// CAUTION 一定要在运行时再拿path,因为 path 可能会变
var currentStatePath = _this7.getResolvedStatePath();
var stateTree = _this7.context.stateTree;
return (0, _extends3.default)({}, _this7.context.background.instances, {
var currentStatePath = _this6.getResolvedStatePath();
var stateTree = _this6.context.stateTree;
return (0, _extends3.default)({}, _this6.context.background.instances, {
state: stateTree.get(currentStatePath),

@@ -382,3 +383,3 @@ // 兼容以前的写法

statePath: new _common.StatePath(currentStatePath),
rootStatePath: new _common.StatePath(_this7.getResolvedRootPath())
rootStatePath: new _common.StatePath(_this6.getResolvedRootPath())
});

@@ -390,9 +391,9 @@ };

return {
state: _this7.context.stateTree.get(statePath || _this7.getResolvedStatePath()),
props: _this7.props.props,
children: _this7.props.children,
listeners: _this7.listeners,
intercepters: _this7.intercepters,
context: _this7.context,
instance: _this7.instance
state: _this6.context.stateTree.get(statePath || _this6.getResolvedStatePath()),
props: _this6.props.props,
children: _this6.props.children,
listeners: _this6.listeners,
intercepters: _this6.intercepters,
context: _this6.context,
instance: _this6.instance
};

@@ -402,4 +403,4 @@ };

this.getResolvedStatePath = function () {
var reactContext = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this7.context;
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _this7.props;
var reactContext = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this6.context;
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _this6.props;

@@ -412,7 +413,7 @@ var _ref3 = reactContext || {},

return (0, _common.resolveStatePath)(getScopes(), _this7.bind, props.scopeIndex);
return (0, _common.resolveStatePath)(getScopes(), _this6.bind, props.scopeIndex);
};
this.getResolvedRootPath = function () {
var _ref4 = _this7.context || {},
var _ref4 = _this6.context || {},
_ref4$getScopes = _ref4.getScopes,

@@ -423,3 +424,3 @@ getScopes = _ref4$getScopes === undefined ? function () {

return (0, _common.resolveStatePath)(getScopes(), '', _this7.props.scopeIndex);
return (0, _common.resolveStatePath)(getScopes(), '', _this6.props.scopeIndex);
};

@@ -429,9 +430,9 @@

// CAUTION 在这里判断是因为未来 React 的 shouldComponentUpdate 会失效
if (shouldComponentUpdate === undefined || shouldComponentUpdate(_this7.getRenderArg(), type, changes) !== false) {
if (shouldComponentUpdate === undefined || shouldComponentUpdate(_this6.getRenderArg(), type, changes) !== false) {
// CAUTION 不要把 version 记录到 state 上,我们要确保的是 render,所以记到 render 上
_this7.setState({ stateChange: _this7.state.stateChange++ });
_this6.setState({ stateChange: _this6.state.stateChange++ });
}
// 新增的声明周期函数
if (type === _constant.CHANGE_STATETREE && typeof componentWillReceiveState === 'function') {
componentWillReceiveState(_this7.getRenderArg(), changes);
componentWillReceiveState(_this6.getRenderArg(), changes);
}

@@ -443,3 +444,2 @@ };

// TODO 考虑 Row.Col 的问题, identifier 没有 bind 的问题
(0, _assign2.default)(Wrapper, (0, _util.mapValues)(identifiers, createIdentifierComponent));

@@ -446,0 +446,0 @@ return Wrapper;

@@ -45,5 +45,5 @@ 'use strict';

var generatePrimitiveId = (0, _util.createUniqueIdGenerator)('c');
function createPrimitiveWrapper(Tag, display) {
var generatePrimitiveId = (0, _util.createUniqueIdGenerator)('c');
var wrappedRender = function wrappedRender(_ref) {

@@ -64,3 +64,4 @@ var children = _ref.children,

var background = _ref2.background,
appearance = _ref2.appearance;
appearance = _ref2.appearance,
getStatePath = _ref2.getStatePath;
(0, _classCallCheck3.default)(this, Primitive);

@@ -70,2 +71,6 @@

_this.subscribe = function () {
_this.setState({ version: _this.state.version++ });
};
_this.state = {

@@ -76,3 +81,3 @@ version: 0

var _appearance$register = appearance.register(_this.id, config, _this.subscribe.bind(_this)),
var _appearance$register = appearance.register(_this.id, config, _this.subscribe),
unsubscribeAppearance = _appearance$register.cancel,

@@ -84,3 +89,5 @@ hijack = _appearance$register.hijack;

var _background$register = background.register(_this.id, config, {}),
var _background$register = background.register(_this.id, (0, _extends3.default)({}, config, {
getStatePath: getStatePath
}), {}),
cancel = _background$register.cancel;

@@ -99,7 +106,2 @@

}, {
key: 'subscribe',
value: function subscribe() {
this.setState({ version: this.state.version++ });
}
}, {
key: 'render',

@@ -115,3 +117,3 @@ value: function render() {

Primitive.contextTypes = {
// 用于获取上面层级所有可用的 scope
getStatePath: _propTypes2.default.func,
background: _propTypes2.default.object.isRequired,

@@ -118,0 +120,0 @@ appearance: _propTypes2.default.object.isRequired

@@ -11,6 +11,2 @@ 'use strict';

var _keys = require('babel-runtime/core-js/object/keys');
var _keys2 = _interopRequireDefault(_keys);
var _typeof2 = require('babel-runtime/helpers/typeof');

@@ -55,31 +51,2 @@

function createOriginContainer() {
var originData = {};
return {
insert: function insert(path, data) {
if (originData[path] !== undefined) {
// CAUTION 从这里开始组件的 statePath 就必须是唯一的了,所以页面上同一个 scope 下不能有相同的 bind
throw new _errors.ErrorDuplicateOriginDataPath(path);
}
originData[path] = (0, _cloneDeep2.default)(data);
},
get: function get(path, defaultValue) {
var data = originData[path];
if (data === undefined) return defaultValue;
return (typeof data === 'undefined' ? 'undefined' : (0, _typeof3.default)(data)) === 'object' ? (0, _cloneDeep2.default)(data) : data;
},
remove: function remove(path) {
delete originData[path];
},
has: function has(key) {
return originData[key] !== undefined;
},
keys: function keys() {
return (0, _keys2.default)(originData);
}
};
}
function createStateTree(initialStateTree) {

@@ -86,0 +53,0 @@ var stateTree = (0, _cloneDeep2.default)(initialStateTree) || {};

@@ -81,3 +81,3 @@ 'use strict';

*
* 阅读完 Render 代码后建议阅读 createConnect 代码。它主要负责从 context 上取数据给组件。
* 阅读完 Render 代码后建议阅读 connect 代码。它主要负责从 context 上取数据给组件。
*/

@@ -84,0 +84,0 @@

{
"name": "@cicada/render",
"version": "1.0.0-alpha1",
"version": "1.0.0-alpha10",
"main": "./lib/index.js",

@@ -12,12 +12,7 @@ "scripts": {

"dependencies": {
"@alipay/ajax": "^3.1.1",
"deep-equal": "^1.0.1",
"exist.js": "^0.3.0",
"lodash": "^4.17.4",
"modulex-url": "^1.0.8",
"prop-types": "^15.5.10",
"react": "^15.3.1",
"react-dom": "^15.3.2",
"select": "^1.1.0",
"uuid": "^2.0.2"
"react-dom": "^15.3.2"
},

@@ -39,13 +34,2 @@ "babel": {

}
],
[
"import",
[
{
"libraryName": "antd"
},
{
"libraryName": "antd-mobile"
}
]
]

@@ -76,3 +60,2 @@ ]

"babel-loader": "^6.4.1",
"babel-plugin-import": "^1.1.1",
"babel-plugin-transform-builtin-extend": "^1.1.2",

@@ -79,0 +62,0 @@ "babel-plugin-transform-runtime": "^6.9.0",