From f74298d8dd4f000ab32b202416d7fdab6d9e8a8b Mon Sep 17 00:00:00 2001 From: lttb Date: Sun, 30 Apr 2017 10:47:24 +0300 Subject: [PATCH] Rewrite filterProps and createStyled, fix tests --- src/createStyled.js | 20 +++++++++++------ src/tests/__snapshots__/index.spec.jsx.snap | 9 +++++--- src/tests/index.spec.jsx | 1 + src/utils/filterProps.js | 24 +++++++++++++-------- 4 files changed, 35 insertions(+), 19 deletions(-) diff --git a/src/createStyled.js b/src/createStyled.js index b079d8a..93d9739 100644 --- a/src/createStyled.js +++ b/src/createStyled.js @@ -9,9 +9,18 @@ import type { TagNameOrStyledElementType } from './types' -const createStyled = (jss: Function) => ( - baseStyles: BaseStylesType = {} -): StyledType => { +const getStyledArgs = ( + tagNameOrStyledElement: TagNameOrStyledElementType +): StyledElementAttrsType => { + if (typeof tagNameOrStyledElement === 'string') { + return {tagName: tagNameOrStyledElement, style: {}} + } + + const {tagName, style} = tagNameOrStyledElement + return {tagName, style} +} + +const createStyled = (jss: Function) => (baseStyles: BaseStylesType = {}): StyledType => { let staticSheet let dynamicSheet @@ -34,10 +43,7 @@ const createStyled = (jss: Function) => ( tagNameOrStyledElement: TagNameOrStyledElementType, ownStyle: ComponentStyleType ): StyledElementType => { - const {tagName, style}: StyledElementAttrsType = typeof tagNameOrStyledElement === 'string' - ? {tagName: tagNameOrStyledElement, style: {}} - : tagNameOrStyledElement - + const {tagName, style} = getStyledArgs(tagNameOrStyledElement) const elementStyle = {...style, ...ownStyle} return styled({tagName, baseStyles, elementStyle, mountSheets}) diff --git a/src/tests/__snapshots__/index.spec.jsx.snap b/src/tests/__snapshots__/index.spec.jsx.snap index 664eecf..6b920f3 100644 --- a/src/tests/__snapshots__/index.spec.jsx.snap +++ b/src/tests/__snapshots__/index.spec.jsx.snap @@ -9,7 +9,8 @@ exports[`test renders correctly App with default Styled 1`] = `
+ className="section-11-0-12" + data-name="content">