Skip to content

Commit eb3535c

Browse files
committed
fix: remove unnecessary isPlainObject check
if the renderable has `defaultProps` it is a ordinary function component which only accepts a props param
1 parent 697a560 commit eb3535c

File tree

4 files changed

+33
-28
lines changed

4 files changed

+33
-28
lines changed

.size-snapshot.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
{
22
"dist/react-render-callback.umd.js": {
3-
"bundled": 4277,
4-
"minified": 1687,
5-
"gzipped": 735
3+
"bundled": 3207,
4+
"minified": 1340,
5+
"gzipped": 617
66
},
77
"dist/react-render-callback.esm.js": {
8-
"bundled": 2628,
9-
"minified": 1511,
10-
"gzipped": 631,
8+
"bundled": 2490,
9+
"minified": 1390,
10+
"gzipped": 598,
1111
"treeshaked": {
1212
"rollup": {
13-
"code": 289,
14-
"import_statements": 121
13+
"code": 265,
14+
"import_statements": 97
1515
},
1616
"webpack": {
17-
"code": 1369
17+
"code": 1312
1818
}
1919
}
2020
},
2121
"dist/react-render-callback.cjs.js": {
22-
"bundled": 2785,
23-
"minified": 1625,
24-
"gzipped": 667
22+
"bundled": 2627,
23+
"minified": 1489,
24+
"gzipped": 631
2525
},
2626
"dist/react-render-callback.umd.min.js": {
27-
"bundled": 4310,
28-
"minified": 1673,
29-
"gzipped": 727
27+
"bundled": 3240,
28+
"minified": 1326,
29+
"gzipped": 608
3030
}
3131
}

other/misc-tests/__tests__/build.js

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,33 +24,41 @@ import * as umdImport from '../../../dist/react-render-callback.umd'
2424
const cjsRequire = require('../../../') // picks up the main from package.json
2525
const umdRequire = require('../../../dist/react-render-callback.umd')
2626

27-
test(`import render from 'react-render-callback/dist/react-render-callback.esm'`, () => {
28-
expect(esImport.default).toBeInstanceOf(Function)
29-
})
30-
test(`import {createRender} from 'react-render-callback/dist/react-render-callback.esm'`, () => {
31-
expect(esImport.createRender).toBeInstanceOf(Function)
32-
})
33-
3427
test(`import render from 'react-render-callback'`, () => {
3528
expect(cjsImport.default).toBeInstanceOf(Function)
36-
expect(cjsImport.createRender).toBeInstanceOf(Function)
3729
})
3830

3931
test(`import {createRender} from 'react-render-callback'`, () => {
4032
expect(cjsImport.createRender).toBeInstanceOf(Function)
4133
})
4234

35+
test(`import render from 'react-render-callback/dist/react-render-callback.esm'`, () => {
36+
expect(esImport.default).toBeInstanceOf(Function)
37+
})
38+
test(`import {createRender} from 'react-render-callback/dist/react-render-callback.esm'`, () => {
39+
expect(esImport.createRender).toBeInstanceOf(Function)
40+
})
41+
4342
test(`import render from 'react-render-callback/dist/react-render-callback.umd'`, () => {
4443
expect(umdImport.default).toBeInstanceOf(Function)
44+
})
45+
46+
test(`import {createRender} from 'react-render-callback/dist/react-render-callback.umd'`, () => {
4547
expect(umdImport.createRender).toBeInstanceOf(Function)
4648
})
4749

4850
test(`const render = require('react-render-callback')`, () => {
4951
expect(cjsRequire).toBeInstanceOf(Function)
52+
})
53+
54+
test(`const {createRender} = require('react-render-callback')`, () => {
5055
expect(cjsRequire.createRender).toBeInstanceOf(Function)
5156
})
5257

5358
test(`const render = require('react-render-callback/dist/react-render-callback.umd')`, () => {
5459
expect(umdRequire).toBeInstanceOf(Function)
60+
})
61+
62+
test(`const {createRender} = require('react-render-callback/dist/react-render-callback.umd')`, () => {
5563
expect(umdRequire.createRender).toBeInstanceOf(Function)
5664
})

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@
3838
"react": "^0.14.0 || ^15.0.0-0 || ^16.0.0-0"
3939
},
4040
"dependencies": {
41-
"@babel/runtime": "^7.0.0",
42-
"is-plain-object": "^2.0.4"
41+
"@babel/runtime": "^7.0.0"
4342
},
4443
"devDependencies": {
4544
"@babel/plugin-transform-runtime": "^7.0.0",

src/createRender.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import {isValidElement, createElement, cloneElement} from 'react'
22

3-
import isPlainObject from 'is-plain-object'
4-
53
import constant from './internal/constant'
64
import ignoredValuesToNull from './internal/ignoredValuesToNull'
75
import isReactComponent from './internal/isReactComponent'
@@ -14,7 +12,7 @@ export default (renderable, options) => {
1412
if (typeof renderable === 'function') {
1513
return (...args) =>
1614
ignoredValuesToNull(
17-
renderable.defaultProps && args.length === 1 && isPlainObject(args[0])
15+
renderable.defaultProps
1816
? renderable({...renderable.defaultProps, ...args[0]})
1917
: renderable(...args),
2018
)

0 commit comments

Comments
 (0)