├── .eslintrc.yml ├── .gitignore ├── .nycrc ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── benchmark ├── README.md ├── global.d.ts ├── withHandlers.tsx ├── withKeyboardFocus.tsx ├── withProps.tsx ├── withPropsOnChange.tsx └── withState.tsx ├── gulpfile.js ├── mocha.opts ├── package.json ├── src ├── assemble.tsx ├── blueprint.ts ├── branch.spec.tsx ├── branch.ts ├── combine.ts ├── compose.ts ├── debug.spec.tsx ├── debug.ts ├── defaultProps.spec.tsx ├── defaultProps.ts ├── flattenProp.spec.tsx ├── flattenProp.ts ├── getContext.spec.tsx ├── getContext.ts ├── global.d.ts ├── index.ts ├── integrate.spec.tsx ├── integrate.ts ├── isolate.spec.tsx ├── isolate.ts ├── lifecycle.spec.tsx ├── lifecycle.ts ├── mapProps.spec.tsx ├── mapProps.ts ├── noOp.spec.tsx ├── noOp.ts ├── omitProps.spec.tsx ├── omitProps.ts ├── onDidMount.ts ├── onDidUpdate.ts ├── onWillMount.ts ├── onWillReceiveProps.ts ├── onWillUnmount.ts ├── onWillUpdate.ts ├── onlyUpdateForKeys.spec.tsx ├── onlyUpdateForKeys.ts ├── pure.spec.tsx ├── pure.ts ├── renameProp.spec.tsx ├── renameProp.ts ├── renameProps.spec.tsx ├── renameProps.ts ├── renderComponent.spec.tsx ├── renderComponent.ts ├── renderNothing.spec.tsx ├── renderNothing.ts ├── setDisplayName.spec.tsx ├── setDisplayName.ts ├── setPropTypes.spec.tsx ├── setPropTypes.ts ├── setStatic.spec.tsx ├── setStatic.ts ├── shouldUpdate.ts ├── toClass.ts ├── types.ts ├── utils │ ├── getDisplayName.ts │ ├── getKeysAndSymbols.ts │ ├── getUniqueKey.ts │ ├── isClassComponent.ts │ ├── isReferentiallyTransparentFunctionComponent.ts │ ├── mapKeys.ts │ ├── omit.ts │ ├── pick.ts │ ├── resolveValue.ts │ ├── shallowEqual.ts │ └── toArray.ts ├── withContext.spec.tsx ├── withContext.ts ├── withHandlers.spec.tsx ├── withHandlers.ts ├── withProps.spec.tsx ├── withProps.ts ├── withPropsOnChange.spec.tsx ├── withPropsOnChange.ts ├── withReducer.spec.tsx ├── withReducer.ts ├── withState.spec.tsx ├── withState.ts ├── wrapDisplayName.spec.tsx └── wrapDisplayName.ts ├── test ├── component.ts ├── integration │ ├── advanced.test.tsx │ └── symbol.test.tsx └── setupDOM.ts ├── tsconfig.json ├── tslint.json └── webpack.config.js /.eslintrc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/.eslintrc.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/.gitignore -------------------------------------------------------------------------------- /.nycrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/.nycrc -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/README.md -------------------------------------------------------------------------------- /benchmark/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/benchmark/README.md -------------------------------------------------------------------------------- /benchmark/global.d.ts: -------------------------------------------------------------------------------- 1 | declare module "recompact"; 2 | -------------------------------------------------------------------------------- /benchmark/withHandlers.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/benchmark/withHandlers.tsx -------------------------------------------------------------------------------- /benchmark/withKeyboardFocus.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/benchmark/withKeyboardFocus.tsx -------------------------------------------------------------------------------- /benchmark/withProps.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/benchmark/withProps.tsx -------------------------------------------------------------------------------- /benchmark/withPropsOnChange.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/benchmark/withPropsOnChange.tsx -------------------------------------------------------------------------------- /benchmark/withState.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/benchmark/withState.tsx -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/gulpfile.js -------------------------------------------------------------------------------- /mocha.opts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/mocha.opts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/package.json -------------------------------------------------------------------------------- /src/assemble.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/assemble.tsx -------------------------------------------------------------------------------- /src/blueprint.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/blueprint.ts -------------------------------------------------------------------------------- /src/branch.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/branch.spec.tsx -------------------------------------------------------------------------------- /src/branch.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/branch.ts -------------------------------------------------------------------------------- /src/combine.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/combine.ts -------------------------------------------------------------------------------- /src/compose.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/compose.ts -------------------------------------------------------------------------------- /src/debug.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/debug.spec.tsx -------------------------------------------------------------------------------- /src/debug.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/debug.ts -------------------------------------------------------------------------------- /src/defaultProps.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/defaultProps.spec.tsx -------------------------------------------------------------------------------- /src/defaultProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/defaultProps.ts -------------------------------------------------------------------------------- /src/flattenProp.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/flattenProp.spec.tsx -------------------------------------------------------------------------------- /src/flattenProp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/flattenProp.ts -------------------------------------------------------------------------------- /src/getContext.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/getContext.spec.tsx -------------------------------------------------------------------------------- /src/getContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/getContext.ts -------------------------------------------------------------------------------- /src/global.d.ts: -------------------------------------------------------------------------------- 1 | declare module "fbjs/lib/shallowEqual"; 2 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/integrate.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/integrate.spec.tsx -------------------------------------------------------------------------------- /src/integrate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/integrate.ts -------------------------------------------------------------------------------- /src/isolate.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/isolate.spec.tsx -------------------------------------------------------------------------------- /src/isolate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/isolate.ts -------------------------------------------------------------------------------- /src/lifecycle.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/lifecycle.spec.tsx -------------------------------------------------------------------------------- /src/lifecycle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/lifecycle.ts -------------------------------------------------------------------------------- /src/mapProps.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/mapProps.spec.tsx -------------------------------------------------------------------------------- /src/mapProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/mapProps.ts -------------------------------------------------------------------------------- /src/noOp.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/noOp.spec.tsx -------------------------------------------------------------------------------- /src/noOp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/noOp.ts -------------------------------------------------------------------------------- /src/omitProps.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/omitProps.spec.tsx -------------------------------------------------------------------------------- /src/omitProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/omitProps.ts -------------------------------------------------------------------------------- /src/onDidMount.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/onDidMount.ts -------------------------------------------------------------------------------- /src/onDidUpdate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/onDidUpdate.ts -------------------------------------------------------------------------------- /src/onWillMount.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/onWillMount.ts -------------------------------------------------------------------------------- /src/onWillReceiveProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/onWillReceiveProps.ts -------------------------------------------------------------------------------- /src/onWillUnmount.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/onWillUnmount.ts -------------------------------------------------------------------------------- /src/onWillUpdate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/onWillUpdate.ts -------------------------------------------------------------------------------- /src/onlyUpdateForKeys.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/onlyUpdateForKeys.spec.tsx -------------------------------------------------------------------------------- /src/onlyUpdateForKeys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/onlyUpdateForKeys.ts -------------------------------------------------------------------------------- /src/pure.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/pure.spec.tsx -------------------------------------------------------------------------------- /src/pure.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/pure.ts -------------------------------------------------------------------------------- /src/renameProp.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/renameProp.spec.tsx -------------------------------------------------------------------------------- /src/renameProp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/renameProp.ts -------------------------------------------------------------------------------- /src/renameProps.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/renameProps.spec.tsx -------------------------------------------------------------------------------- /src/renameProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/renameProps.ts -------------------------------------------------------------------------------- /src/renderComponent.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/renderComponent.spec.tsx -------------------------------------------------------------------------------- /src/renderComponent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/renderComponent.ts -------------------------------------------------------------------------------- /src/renderNothing.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/renderNothing.spec.tsx -------------------------------------------------------------------------------- /src/renderNothing.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/renderNothing.ts -------------------------------------------------------------------------------- /src/setDisplayName.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/setDisplayName.spec.tsx -------------------------------------------------------------------------------- /src/setDisplayName.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/setDisplayName.ts -------------------------------------------------------------------------------- /src/setPropTypes.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/setPropTypes.spec.tsx -------------------------------------------------------------------------------- /src/setPropTypes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/setPropTypes.ts -------------------------------------------------------------------------------- /src/setStatic.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/setStatic.spec.tsx -------------------------------------------------------------------------------- /src/setStatic.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/setStatic.ts -------------------------------------------------------------------------------- /src/shouldUpdate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/shouldUpdate.ts -------------------------------------------------------------------------------- /src/toClass.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/toClass.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/types.ts -------------------------------------------------------------------------------- /src/utils/getDisplayName.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/utils/getDisplayName.ts -------------------------------------------------------------------------------- /src/utils/getKeysAndSymbols.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/utils/getKeysAndSymbols.ts -------------------------------------------------------------------------------- /src/utils/getUniqueKey.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/utils/getUniqueKey.ts -------------------------------------------------------------------------------- /src/utils/isClassComponent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/utils/isClassComponent.ts -------------------------------------------------------------------------------- /src/utils/isReferentiallyTransparentFunctionComponent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/utils/isReferentiallyTransparentFunctionComponent.ts -------------------------------------------------------------------------------- /src/utils/mapKeys.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/utils/mapKeys.ts -------------------------------------------------------------------------------- /src/utils/omit.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/utils/omit.ts -------------------------------------------------------------------------------- /src/utils/pick.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/utils/pick.ts -------------------------------------------------------------------------------- /src/utils/resolveValue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/utils/resolveValue.ts -------------------------------------------------------------------------------- /src/utils/shallowEqual.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/utils/shallowEqual.ts -------------------------------------------------------------------------------- /src/utils/toArray.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/utils/toArray.ts -------------------------------------------------------------------------------- /src/withContext.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/withContext.spec.tsx -------------------------------------------------------------------------------- /src/withContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/withContext.ts -------------------------------------------------------------------------------- /src/withHandlers.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/withHandlers.spec.tsx -------------------------------------------------------------------------------- /src/withHandlers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/withHandlers.ts -------------------------------------------------------------------------------- /src/withProps.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/withProps.spec.tsx -------------------------------------------------------------------------------- /src/withProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/withProps.ts -------------------------------------------------------------------------------- /src/withPropsOnChange.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/withPropsOnChange.spec.tsx -------------------------------------------------------------------------------- /src/withPropsOnChange.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/withPropsOnChange.ts -------------------------------------------------------------------------------- /src/withReducer.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/withReducer.spec.tsx -------------------------------------------------------------------------------- /src/withReducer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/withReducer.ts -------------------------------------------------------------------------------- /src/withState.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/withState.spec.tsx -------------------------------------------------------------------------------- /src/withState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/withState.ts -------------------------------------------------------------------------------- /src/wrapDisplayName.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/wrapDisplayName.spec.tsx -------------------------------------------------------------------------------- /src/wrapDisplayName.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/src/wrapDisplayName.ts -------------------------------------------------------------------------------- /test/component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/test/component.ts -------------------------------------------------------------------------------- /test/integration/advanced.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/test/integration/advanced.test.tsx -------------------------------------------------------------------------------- /test/integration/symbol.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/test/integration/symbol.test.tsx -------------------------------------------------------------------------------- /test/setupDOM.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/test/setupDOM.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/tslint.json -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikiwi/reassemble/HEAD/webpack.config.js --------------------------------------------------------------------------------