文件名称:timm:具有快速读取和可接受写入的不变性帮助器
文件大小:883KB
文件格式:ZIP
更新时间:2024-05-22 10:10:49
JavaScript
蒂姆 具有快速读取和可接受写入的不变性帮助器() 安装 $ npm install --save timm 动机 我知道,我知道...这个世界不需要另一个不变性库,尤其是和。 但是……我感到了这种渴望,至少是为了满足我有限的需求。 ImmutableJS是一个可靠,全面且高性能的解决方案,但这种功能是有代价的:将ImmutableJS的Maps和Lists与您的普通对象混合在一起会引起一些摩擦,并导致读取这些对象(在我的情况下,比编写它们更常见)不太方便。 另一方面,无缝不可变通过使用普通对象和数组解决了“摩擦”问题,但似乎存在一些性能问题(至少在我的基准测试中,请参阅下文)。 timm的方法:使用普通对象和数组,并提供简单的变异函数来处理大多数常见操作(欢迎提出建议!)。 另外,当timm确认该操作将使输入对象发生突变时,它会延迟创建新对象。 换句话说,不修改对象的操作总是返回对
【文件预览】:
timm-master
----.gitignore(220B)
----.flowconfig(0B)
----package.json(2KB)
----ROADMAP.md(83B)
----src()
--------timm.ts(20KB)
--------__tests__()
----.eslintrc.yaml(942B)
----LICENSE(1KB)
----CHANGELOG.md(3KB)
----tsconfig.json(282B)
----_config.yml(26B)
----.github()
--------workflows()
----.prettierignore(32B)
----tools()
--------oldCoffeeCoverageLoader.coffee(755B)
--------oldCoffeeCoverageMerge.coffee(675B)
--------benchmarks.js(11KB)
--------extraBenchmarks.coffee(356B)
--------typeTests.ts(4KB)
----README.md(14KB)
----babel.config.js(134B)
----.npmignore(270B)
----docs()
--------benchmarks-win7-20160218.png(14KB)
--------README_TEMPLATE.md(6KB)
--------benchmarks-osx-20171025-node8.6.png(87KB)
--------benchmarks-osx-20171109-node8.6.png(97KB)
--------benchmarks-win7-20160219.png(18KB)
--------bechmarks-osx-20180822-node9.11.png(540KB)
--------benchmarks-win7-20160613.png(24KB)
----.prettierrc(36B)
----yarn.lock(271KB)