[Functional Programming] Examples: When and Unless

复制代码
/**
 * When
 */

 const _branch = (x) => {
     const result = (x && x.isPublic) ?
        dissoc('private', x) : x;

     console.log(result);
     return assoc('result', 'done', result);
 }

const handlePublic = when(
    propEq('isPublic', true),
    dissoc('private')
);
const assignDone = assoc('result', 'done');
const branch = compose(
    assignDone,
    handlePublic
);

/**Unless */
const _isDefaultArray = (x) => {
    const result = !isArray(x) ?
        [] :
        x;

    return result.map(wrap => ({wrap}))
}

const isDefaultArray = compose(
    map(objOf('wrap')),
    unless(
        isArray,
        constant([])
    )
)


log(
    isDefaultArray([10,11,12,13])
)
复制代码

 

posted @   Zhentiw  阅读(139)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2018-05-07 [React] Forward a DOM reference to another Component using forwardRef in React 16.3
2018-05-07 [Angular] N things you might don't know about Angular Route
2016-05-07 [AWS] Install the AWS cli
2016-05-07 [CSS3] CSS :target Selector
2016-05-07 [HTML5] Emmet
2016-05-07 [React Flow] Up and Running with Facebook Flow for Typed JavaScript
2015-05-07 [AngularJS] angular-formly: expressionProperties
点击右上角即可分享
微信分享提示