# longcut

> Carve out the things you want from deep JavaScript objects

Latest version **1.0.2** (published 2016-02-08) · MIT license · 0 weekly downloads

## Install

```sh
npm install longcut
pnpm add longcut
yarn add longcut
bun add longcut
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2016-02-08 |
| First published | 2016-02-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Michael Zedeler |
| Maintainers | mzedeler |
| Keywords | data, transformation |

## Links

- npm: https://www.npmjs.com/package/longcut
- Repository: https://github.com/mzedeler/longcut
- Homepage: https://github.com/mzedeler/longcut#readme
- Issues: https://github.com/mzedeler/longcut/issues
- npm.io page: https://npm.io/package/longcut

## Alternatives

- [@libsql/sqlite3](https://npm.io/package/@libsql/sqlite3.md) — 39.8K weekly downloads
- [@fortemi/core](https://npm.io/package/@fortemi/core.md) — 461 weekly downloads
- [cdb-converter](https://npm.io/package/cdb-converter.md) — 341 weekly downloads
- [@uplo/adapter-prisma](https://npm.io/package/@uplo/adapter-prisma.md) — 75 weekly downloads
- [typeorm-aios](https://npm.io/package/typeorm-aios.md) — 30 weekly downloads

## Recent versions

- 1.0.2 (latest) — 2016-02-08
- 1.0.1 — 2016-02-08
- 1.0.0 — 2016-02-08

## README

# longcut

Cut your deep data structures into smaller pieces using regular expressions.

## Installation

    npm install longcut

## Usage

    var longcut = require('longcut').longcut;
    var lc = longcut({
      key1: [10, 20, 'hello'],
      key2: { another: 'child object' },
      key3: 'just a string'
    });
    
    console.log(lc('key1')(2).val());
    // hello
    console.log(lc('key2')('another').val());
    // child object
    console.log(lc(/3/).val());
    // { key3: 'just a string' }
    console.log(lc('key1')(/2/).val());
    // [ 20 ]

## Description

Longcut lets you slice and dice your data structures with a very terse syntax where you don't have to worry
about the exact types involved and with regular expressions at your disposal.

Given

    var obj = {
      key1: [10, 20, 'hello'],
      key2: { another: 'child object' },
      key3: 'just a string'
    };
    var lo = longcut(obj);

| JavaScript               | longcut                      | value                       |
|--------------------------|------------------------------|-----------------------------|
| `obj['key2'][3]`         | `lo('key2')(3).val()`        | `hello`                     |
| `obj['key2']['another']` | `lo('key')('another').val()` | `child object`              |
| horribly complicated!    | `lo(/3/).val()`              | `{ key3: 'just a string' }` |

## Author

Written by Michael Zedeler <michael@zedeler.dk>. Copyright 2016, see the attached LICENSE file.

## Bugs

If you encounter any unexpected behavior, here is what you can do - ordered by increasing value to me:

 * Write me.
 * File a bug report on the issue tracker.
 * Write a failing test and open a pull request with it.
 * Write a failing test, fix the bug and demonstrate that the test is passing with your changes. Open a pull request with the test and the fix.

---
_Source: https://npm.io/package/longcut · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
