New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

nejquery

Package Overview
Dependencies
Maintainers
1
Versions
230
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nejquery

A lightweight functional JavaScript utility library inspired by Ramda, Lodash, and FP principles.

latest
Source
npmnpm
Version
5.5.13
Version published
Weekly downloads
71
222.73%
Maintainers
1
Weekly downloads
 
Created
Source

nejQuery

npm version license minified size

nejQuery is a lightweight, functional JavaScript utility library — inspired by Ramda, Lodash, and FP principles — with a focus on data-last, curried, and composable functions. It offers a rich set of helpers for arrays, strings, numbers, objects, predicates, ADTs, and more.

It's like Ramda with fewer gotchas, Lodash with less weight, and jQuery with... well, no jQuery.

🙃 Why not just use Ramda or Lodash?

Honestly? You should. They're battle-tested, community-loved, and full-featured.

But if you've ever screamed "why is this curried nonsense so weird" or thought Lodash was a bit... much — welcome to nejQuery, the utility library your inner minimalist didn’t know it needed.

✨ Features

  • Data-last, curried function signatures
  • Immutable and side-effect-aware utilities
  • Composable with pipe() and compose()
  • Includes support for custom ADTs like Maybe and Result
  • Written in plain JavaScript (no build step required)

📦 Installation

npm install nejquery

Or add manually:

<script src="path/to/nejquery.js"></script>

🔧 Usage

Instead of writing imperative code like this:

const nums = [1, 2, 3, 4];
const result = [];

for (let i = 0; i < nums.length; i++) {
  const x = nums[i];
  if (x % 2 === 1) {
    result.push(x + 1);
  }
}

console.log(result); // [2, 4]

...you can write code declaratively like this:

import { pipe, map, filter, add } from 'nejquery'

const nums = [1, 2, 3, 4]

const isOdd = x => x % 2 === 1

// Partially applied functions
const add1 = add(1)
const filterIsOdd = filter(isOdd)
const mapIncrement = map(add1)

// Using Pipe for function composition
const incrementOdds = pipe(filterIsOdd, mapIncrement)

console.log(incrementOdds(nums)) // => [2, 4]

🧰 Categories

nejQuery is organized into the following sections:

Full documentation is available in nejquery_docs.md

🧪 ADT Support

Use createADT to build expressive data structures:

const Vehicle = createADT({
  Car: ['make', 'model'],
  Bicycle: ['type'],
  Truck: ['make', 'payloadCapacity']
})

const myVehicle = Vehicle.Car('Toyota', 'Camry')

match(myVehicle, {
  Car: ({make, model}) => console.log(`Car: ${make} ${model}`),
  Bicycle: ({type}) => console.log(`Bicycle: ${type}`),
  Truck: ({make, payloadCapacity}) => console.log(`Truck: ${make}, Payload: ${payloadCapacity}kg`)
})

Includes built-in ADTs: Maybe, Result and matching helpers.

📄 Documentation

All functions are documented with descriptions, examples, and implementations in nejquery_docs.md

🧠 Philosophy

  • Keep functions small and pure
  • Prioritize readability and composability
  • Never mutate inputs
  • Empower functional programming in everyday JavaScript

📣 Contributing

Got a function to propose? Open a PR or an issue — contributions are welcome!

Disclaimer: nejQuery is not affiliated with or endorsed by the jQuery Foundation or OpenJS Foundation.
Plus, I have great respect for jQuery. My grandfather used to use it.

📜 License

MIT

Keywords

functional

FAQs

Package last updated on 17 Jun 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