ImmutableAssign:轻量级的不可变助手,使您可以继续使用POJO(普通的旧JavaScript对象)

时间:2024-03-12 19:32:58
【文件属性】:

文件名称:ImmutableAssign:轻量级的不可变助手,使您可以继续使用POJO(普通的旧JavaScript对象)

文件大小:1.07MB

文件格式:ZIP

更新时间:2024-03-12 19:32:58

javascript typescript immutable lodash immutable-libraries

不可变分配(iassign.js) 轻量级的不可变助手,使您可以继续使用POJO(普通的旧JavaScript对象),并支持对嵌套对象进行完整的TypeScript类型检查。 该库正在尝试解决以下问题: 大多数不可变JavaScript库都试图封装数据并提供专有的API来处理数据。 它们比普通JavaScript语法更冗长。 例如, map1.get('b') vs map1.b , nested2.getIn(['a', 'b', 'd']) vs nested2.abd等。 封装的数据不再是POJO,因此无法轻松与其他库(例如lodash,下划线等)一起使用。 大多数不可变库会在整个应用程序(包括视图组件)中泄漏自身,但是,它们应该已经封装在发生更新的位置(例如Redux reducer)。 当您需要更改为具有自己的API的另一个不可变库时,这也很麻烦。 在读取属性时解决了


【文件预览】:
ImmutableAssign-master
----.prettierignore(15B)
----.gitignore(585B)
----karma.conf.js(4KB)
----tsconfig.json(427B)
----README.md(18KB)
----typings()
--------jasmine()
--------deep-freeze()
--------node()
----allCustomLaunchers.json(2KB)
----.vscode()
--------settings.json(375B)
--------tasks.json(220B)
----LICENSE(1KB)
----package.json(2KB)
----.coveralls.yml(51B)
----src()
--------iassign.ts(22KB)
--------iassign.d.ts(3KB)
--------iassign.js(21KB)
----Demo.gif(968KB)
----benchmarks.png(36KB)
----spec()
--------disableProxy.js(51B)
--------ImmutableAssign5Spec.js(10KB)
--------support()
--------ImmutableAssign3Spec.js(6KB)
--------ImmutableAssign6Spec.js(3KB)
--------ImmutableAssignSpec.ts(62KB)
--------ImmutableAssign2Spec.js(34KB)
--------libs()
--------ImmutableAssignSpec.js(73KB)
--------ImmutableAssign4Spec.js(10KB)
----deploy()
--------iassign.d.ts(3KB)
--------iassign.js(21KB)
----.npmignore(17B)
----.travis.yml(2KB)
----gulpfile.js(751B)
----debug()
--------README.md(4KB)
--------benchmarks.js(26KB)
--------debug.html(6KB)
--------test-intellisense.ts(2KB)
--------test-intellisense.js(2KB)
----.prettierrc.js(157B)
----.npmrc(46B)
----package-lock.json(282KB)

网友评论