按属性值过滤 Firefly 语义切片对象存储 Observables

按属性值过滤 Firefly 语义切片对象存储 Observables

Image by 恩里克 from 关注

设想

我们希望能够观察由属性过滤的反应萤火虫语义切片对象存储事件 姓名 价值 .

[

@fireflysemantics/切片

建造…

www.npmjs.com

](https://www.npmjs.com/package/@fireflysemantics/slice)

方法

使用 onFilteredEvent<E> 作为 Firefly Semantics Slice 实用程序库的一部分提供的函数。它是这样定义的。

导出函数 onFilteredEvent (
值:任何,
属性名:字符串
obs:可观察的): 可观察的{
返回 obs.pipe(
过滤器 ((e) => !! (e && e [propertyName] === value)));
);
}

RxJS 筛选 表达式检查事件 ( e ) 被定义并且 价值 参数匹配由标识的值 财产名称 争论。这 观测值 论据是 可观察的 Firefly 语义切片对象存储提供的参数。

演示

在这个演示中,我们创建了一个 命名事件 具有 姓名 我们将定位的属性。

导出类型 NamedEvent = { name: string }; 常量命名事件:命名事件 = {名称:'hilde'};

我们还创建了实例 命名事件 环境 姓名 希尔德 .我们使用它来初始化我们的对象存储。

常量开始:OStoreStart = {
事件:{值:命名事件},
}; 接口 ISTART 扩展 KeyObsValueReset {
事件:ObsValueReset;
}
让操作系统:OStore =新的OStore(开始);

我们现在可以过滤事件 财产 姓名 被设定为 希尔德 像这样:

const hildeEvents$: 可观察的= onFilteredEvent (
'希尔德',
'姓名',
OS.S.event.obs
);

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/40098/35410109

posted @ 2022-10-01 09:35  哈哈哈来了啊啊啊  阅读(40)  评论(0)    收藏  举报