@bem-react/core
Advanced tools
Comparing version 1.6.6 to 2.0.0
@@ -6,2 +6,23 @@ # Change Log | ||
# [2.0.0](https://github.com/bem/bem-react/tree/master/packages/core/compare/@bem-react/core@1.6.6...@bem-react/core@2.0.0) (2019-05-24) | ||
### Features | ||
* **core:** add composeU for union types ([e45bf1a](https://github.com/bem/bem-react/tree/master/packages/core/commit/e45bf1a)) | ||
* **core:** change result type for compose ([4830d52](https://github.com/bem/bem-react/tree/master/packages/core/commit/4830d52)) | ||
* **core:** change result type for compose ([f2ce2d3](https://github.com/bem/bem-react/tree/master/packages/core/commit/f2ce2d3)) | ||
### BREAKING CHANGES | ||
* **core:** Change result type for compose, now this not wokring with same modifiers. | ||
If you wanna use same modifiers with different values, | ||
then you should use `composeU` instead `compose`. | ||
## [1.6.6](https://github.com/bem/bem-react/tree/master/packages/core/compare/@bem-react/core@1.6.5...@bem-react/core@1.6.6) (2019-05-13) | ||
@@ -8,0 +29,0 @@ |
@@ -9,12 +9,22 @@ import React, { ComponentType, StatelessComponent } from 'react'; | ||
export declare type ExtractProps<T> = T extends ComponentType<infer K> ? K : never; | ||
export declare type Wrapper<T> = (WrappedComponent: ComponentType) => ComponentType<T>; | ||
export declare type HOC<T> = (WrappedComponent: ComponentType) => ComponentType<T>; | ||
export declare type Wrapper<T> = HOC<T>; | ||
export declare type Composition<T> = <U extends ComponentType<any>>(fn: U) => StatelessComponent<JSX.LibraryManagedAttributes<U, ExtractProps<U>> & T>; | ||
export declare function compose<T1>(fn1: Wrapper<T1>): Composition<T1>; | ||
export declare function compose<T1, T2>(fn1: Wrapper<T1>, fn2: Wrapper<T2>): keyof T1 extends keyof T2 ? Composition<T1 | T2> : Composition<T1 & T2>; | ||
export declare function compose<T1, T2, T3>(fn1: Wrapper<T1>, fn2: Wrapper<T2>, fn3: Wrapper<T3>): keyof T1 extends keyof T2 ? Composition<T1 | T2 | T3> : Composition<T1 & T2 & T3>; | ||
export declare function compose<T1, T2, T3, T4>(fn1: Wrapper<T1>, fn2: Wrapper<T2>, fn3: Wrapper<T3>, fn4: Wrapper<T4>): keyof T1 extends keyof T2 ? Composition<T1 | T2 | T3 | T4> : Composition<T1 & T2 & T3 & T4>; | ||
export declare function compose<T1, T2, T3, T4, T5>(fn1: Wrapper<T1>, fn2: Wrapper<T2>, fn3: Wrapper<T3>, fn4: Wrapper<T4>, fn5: Wrapper<T5>): keyof T1 extends keyof T2 ? Composition<T1 | T2 | T3 | T4 | T5> : Composition<T1 & T2 & T3 & T4 & T5>; | ||
export declare function compose<T1, T2, T3, T4, T5, T6>(fn1: Wrapper<T1>, fn2: Wrapper<T2>, fn3: Wrapper<T3>, fn4: Wrapper<T4>, fn5: Wrapper<T5>, fn6: Wrapper<T6>): keyof T1 extends keyof T2 ? Composition<T1 | T2 | T3 | T4 | T5 | T6> : Composition<T1 & T2 & T3 & T4 & T5 & T6>; | ||
export declare function compose<T1, T2, T3, T4, T5, T6, T7>(fn1: Wrapper<T1>, fn2: Wrapper<T2>, fn3: Wrapper<T3>, fn4: Wrapper<T4>, fn5: Wrapper<T5>, fn6: Wrapper<T6>, fn7: Wrapper<T7>): keyof T1 extends keyof T2 ? Composition<T1 | T2 | T3 | T4 | T5 | T6 | T7> : Composition<T1 & T2 & T3 & T4 & T5 & T6 & T7>; | ||
export declare function compose<T1, T2, T3, T4, T5, T6, T7, T8>(fn1: Wrapper<T1>, fn2: Wrapper<T2>, fn3: Wrapper<T3>, fn4: Wrapper<T4>, fn5: Wrapper<T5>, fn6: Wrapper<T6>, fn7: Wrapper<T7>, fn8: Wrapper<T8>): keyof T1 extends keyof T2 ? Composition<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8> : Composition<T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8>; | ||
export declare function compose(...fns: Array<Wrapper<any>>): Composition<any>; | ||
export declare function compose<T1>(fn1: HOC<T1>): Composition<T1>; | ||
export declare function compose<T1, T2>(fn1: HOC<T1>, fn2: HOC<T2>): Composition<T1 & T2>; | ||
export declare function compose<T1, T2, T3>(fn1: HOC<T1>, fn2: HOC<T2>, fn3: HOC<T3>): Composition<T1 & T2 & T3>; | ||
export declare function compose<T1, T2, T3, T4>(fn1: HOC<T1>, fn2: HOC<T2>, fn3: HOC<T3>, fn4: HOC<T4>): Composition<T1 & T2 & T3 & T4>; | ||
export declare function compose<T1, T2, T3, T4, T5>(fn1: HOC<T1>, fn2: HOC<T2>, fn3: HOC<T3>, fn4: HOC<T4>, fn5: HOC<T5>): Composition<T1 & T2 & T3 & T4 & T5>; | ||
export declare function compose<T1, T2, T3, T4, T5, T6>(fn1: HOC<T1>, fn2: HOC<T2>, fn3: HOC<T3>, fn4: HOC<T4>, fn5: HOC<T5>, fn6: HOC<T6>): Composition<T1 & T2 & T3 & T4 & T5 & T6>; | ||
export declare function compose<T1, T2, T3, T4, T5, T6, T7>(fn1: HOC<T1>, fn2: HOC<T2>, fn3: HOC<T3>, fn4: HOC<T4>, fn5: HOC<T5>, fn6: HOC<T6>, fn7: HOC<T7>): Composition<T1 & T2 & T3 & T4 & T5 & T6 & T7>; | ||
export declare function compose<T1, T2, T3, T4, T5, T6, T7, T8>(fn1: HOC<T1>, fn2: HOC<T2>, fn3: HOC<T3>, fn4: HOC<T4>, fn5: HOC<T5>, fn6: HOC<T6>, fn7: HOC<T7>, fn8: HOC<T8>): Composition<T1 & T2 & T3 & T4 & T5 & T6 & T7 & T8>; | ||
export declare function compose(...fns: Array<HOC<any>>): Composition<any>; | ||
export declare function composeU<T1>(fn1: HOC<T1>): Composition<T1>; | ||
export declare function composeU<T1, T2>(fn1: HOC<T1>, fn2: HOC<T2>): Composition<T1 | T2>; | ||
export declare function composeU<T1, T2, T3>(fn1: HOC<T1>, fn2: HOC<T2>, fn3: HOC<T3>): Composition<T1 | T2 | T3>; | ||
export declare function composeU<T1, T2, T3, T4>(fn1: HOC<T1>, fn2: HOC<T2>, fn3: HOC<T3>, fn4: HOC<T4>): Composition<T1 | T2 | T3 | T4>; | ||
export declare function composeU<T1, T2, T3, T4, T5>(fn1: HOC<T1>, fn2: HOC<T2>, fn3: HOC<T3>, fn4: HOC<T4>, fn5: HOC<T5>): Composition<T1 | T2 | T3 | T4 | T5>; | ||
export declare function composeU<T1, T2, T3, T4, T5, T6>(fn1: HOC<T1>, fn2: HOC<T2>, fn3: HOC<T3>, fn4: HOC<T4>, fn5: HOC<T5>, fn6: HOC<T6>): Composition<T1 | T2 | T3 | T4 | T5 | T6>; | ||
export declare function composeU<T1, T2, T3, T4, T5, T6, T7>(fn1: HOC<T1>, fn2: HOC<T2>, fn3: HOC<T3>, fn4: HOC<T4>, fn5: HOC<T5>, fn6: HOC<T6>, fn7: HOC<T7>): Composition<T1 | T2 | T3 | T4 | T5 | T6 | T7>; | ||
export declare function composeU<T1, T2, T3, T4, T5, T6, T7, T8>(fn1: HOC<T1>, fn2: HOC<T2>, fn3: HOC<T3>, fn4: HOC<T4>, fn5: HOC<T5>, fn6: HOC<T6>, fn7: HOC<T7>, fn8: HOC<T8>): Composition<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8>; | ||
export declare function composeU(...fns: Array<HOC<any>>): Composition<any>; |
'use strict'; | ||
if (process.env.NODE_ENV === 'production') { | ||
module.exports = require('./build/cjs/core.production.min.js'); | ||
module.exports = require('./build/core.production.min.js'); | ||
} else { | ||
module.exports = require('./build/cjs/core.development.js'); | ||
module.exports = require('./build/core.development.js'); | ||
} |
{ | ||
"name": "@bem-react/core", | ||
"version": "1.6.6", | ||
"version": "2.0.0", | ||
"description": "BEM React Core", | ||
@@ -25,3 +25,3 @@ "homepage": "https://github.com/bem/bem-react", | ||
"prepublishOnly": "npm run build", | ||
"build": "PKG=core node ../../scripts/rollup/build.js", | ||
"build": "node ../../scripts/rollup/build.js", | ||
"lint": "__DEV__=1 tsc -p . --noEmit && tslint -p . -t stylish", | ||
@@ -32,4 +32,4 @@ "unit": "../../node_modules/.bin/mocha --opts ../../mocha.opts --", | ||
"dependencies": { | ||
"@bem-react/classname": "^1.5.0", | ||
"@bem-react/classnames": "^1.3.2" | ||
"@bem-react/classname": "^1.5.1", | ||
"@bem-react/classnames": "^1.3.3" | ||
}, | ||
@@ -55,3 +55,3 @@ "peerDependencies": { | ||
}, | ||
"gitHead": "470f39b5a854c910dec8e5e6255d2a1de45e918f" | ||
"gitHead": "b2939f6e269850d7147889f2632fa6ed3fc1f7b4" | ||
} |
@@ -122,5 +122,7 @@ # @bem-react/core · [](https://www.npmjs.com/package/@bem-react/core) [](https://bundlephobia.com/result?p=@bem-react/core) | ||
> **NOTE:** If you wanna use same modifiers with different values you should use `composeU` for getting correctly typings. | ||
```tsx | ||
import React, { FC } from 'react'; | ||
import { compose } from '@bem-react/core'; | ||
import { compose, composeU } from '@bem-react/core'; | ||
@@ -130,2 +132,3 @@ import { Button as ButtonPresenter } from './Components/Button/Button'; | ||
import { withButtonThemeAction } from './Components/Button/_theme/Button_theme_action'; | ||
import { withButtonThemeDefault } from './Components/Button/_theme/Button_theme_default'; | ||
@@ -135,3 +138,3 @@ import './App.css'; | ||
const Button = compose( | ||
withButtonThemeAction, | ||
composeU(withButtonThemeAction, withButtonThemeDefault), | ||
withButtonTypeLink, | ||
@@ -138,0 +141,0 @@ )(ButtonPresenter); |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
37498
2
158
192
1
Updated@bem-react/classname@^1.5.1
Updated@bem-react/classnames@^1.3.3