You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

ramda-extension

Package Overview
Dependencies
Maintainers
1
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ramda-extension

Helpful functions built on top of the mighty Ramda

0.13.0
latest
Source
npmnpm
Version published
Maintainers
1
Created
Source

Ramda!

Ramda extension

🤘🤘🤘

Utility library for functional JavaScript.

Library adds utilities functions that are built on the top of marvelous Ramda library.

Play wit Ramda and Ramda-extension in REPL.

See our documentation site.

Github Apache-2.0 Travis Downloads Version

import { cx } from 'ramda-extension';

cx({ box: true, 'box--outline': false }, 'width-100'); // ".box .width-100"

Why to choose ramda-extension over other libraries?

We focus on functional point-free code. Our goal is to keep codebase composed only from ramda functions, not from own code. Basically, we are using only const and ES6 modules from the JavaScript itself.

We have a few functions with side-effects (like log and trace) to support better developer's experience in debugging process. It is only for development purpose and it should not be used in production code.

Installation

$ yarn add ramda ramda-extension

or

$ npm install ramda ramda-extension

Usage

We support CommonJS and ES modules syntax.

Import function as a named export (not recommended without treeshaking):

import { toKebabCase } from 'ramda-extension';
import { flatten } from 'ramda'; // standard ramda function (if needed)

toKebabCase('I wanna eat my kebab.') // "i-wanna-eat-my-kebab"
flatten([1, 2, [3, 4], 5]) // [1, 2, 3, 4, 5]
  • NOTE: standard ramda functions are still accessed via 'ramda'

Alternatively you can import it separately if your environment doesn't support treeshaking (Sse babel-plugin-transform-imports):

import toKebabCase from 'ramda-extension/lib/toKebabCase';

toKebabCase('I wanna eat my kebab.') // "i-wanna-eat-my-kebab"

If you prefer jQuery-style:

import * as R_ from 'ramda-extension'

R_.toKebabCase('I wanna eat my kebab.') // "i-wanna-eat-my-kebab"

NOTE: Ramda itself is not part of bundle, you need to add it manually

CDN

You can use Ramda-extension directly in the browser:

<script src="https://cdn.jsdelivr.net/npm/ramda@latest/dist/ramda.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/ramda-extension@latest/dist/ramda-extension.min.js"></script>

Articles & Resources

Contributing

Most of the functions have its own tests and examples in the JS Doc.

Feel free to either contribute yourself or submit an issue if there is a bug or you have an idea for a new extension.

We are open to all ideas and suggestions, feel free to open an issue or a pull request!

See the contribution guide for guidelines.

License

All packages are distributed under the Apache 2.0 license. See the license here.

Keywords

ramda

FAQs

Package last updated on 01 Apr 2025

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