Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

monolite

Package Overview
Dependencies
Maintainers
1
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

monolite

Structural-sharing tree object modifier

  • 0.9.2
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
143
increased by6.72%
Maintainers
1
Weekly downloads
 
Created
Source

Type-safe structural-sharing tree modifier.

Install

yarn add monolite

Babel Plugin

Monolite by default makes usage of ES2015 Proxy, which permits to transform accessor functions to accessor chains.

// Using accessor function
set(state, (_) => _.nested.prop, 42)

// Using accessor chain
set(state, ['nested', 'prop'], 42)

To target older runtimes, which do not support Proxy, a Babel plugin is available, doing these transformations statically, at compile-time.

Setup

yarn add --dev babel-plugin-monolite

In babel.config.js, simply add:

module.exports = (api) => {
  return {
    presets: [
      // ...
    ],
    plugins: ['babel-plugin-monolite'],
  }
}

Voilà, all your accessor functions will be transformed to accessor chains during transpilation.

TypeScript

The main motivation of this library is to preserve static-typing, type-inference and completion provided by TypeScript, which is not supported by Immutable.js when working on trees.

Monolite takes Plain-Old JavaScript Objects and returns Plain-Old JavaScript Objects. Accessors permit TypeScript to understand the types you're dealing with and to provide completion and linting as if you were working directly on these objects.

FAQs

Package last updated on 15 Sep 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc