From f7d39d7ea8a4579ecc7ee78ff1ac7900b8eb7291 Mon Sep 17 00:00:00 2001 From: zhangfisher Date: Wed, 29 May 2024 18:08:30 +0800 Subject: [PATCH] docs: update --- docs/changelog.md | 6 ++++++ src/className.ts | 12 ++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index f41f695..465a011 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,11 @@ # flexstyled +## 2.0.8 + +### Patch Changes + +- 0d5b3c6: [特性]: 更新`StyledClassName`的入参类型,从`string[]`变更为`(string | undefined)[]`提高容错性 + ## 2.0.7 ### Patch Changes diff --git a/src/className.ts b/src/className.ts index ddc051d..11721da 100644 --- a/src/className.ts +++ b/src/className.ts @@ -20,7 +20,7 @@ import { createStyled } from "./styled"; import { CSSRuleObject, StyledObject, StyledOptions } from "./types"; import { isStyledObject } from "./utils"; -export type StyledClassName = (...args:string[])=>string +export type StyledClassName = (...args:(string | undefined)[])=>string export function className(styles:CSSRuleObject,options?:StyledOptions): StyledClassName export function className(styles:CSSRuleObject,combindStyles?:(StyledObject | StyledClassName)[],options?:StyledOptions):StyledClassName @@ -31,11 +31,11 @@ export function className(){ typeof(arguments[1])=='object' ? arguments[1] : Object.assign({},arguments[2]) ) : {} const combindClasss = (combindStyles || []).map(item=>{ - if(typeof item === "function"){ - return item() - }else if(isStyledObject(item)){ - return item.className - } + try{ + return typeof item === "function" ? item() : (isStyledObject(item) ? item.className : '') + }catch{ + return '' + } }).join(" ") const styleObject = createStyled(styles,options) return (...args:string[])=>{