just_two

0.0.5 • Public • Published

what?

I woke up with a haunting pun stuck in my head. And thus just_two was born.

The original idea was that I was going to make a human readable array filter by chaining just two functions get and by

.
└── get( Array || Object )
    └── by( String )
// ie
.
└── get( swallows )
    └── by( "plummage" )
this is the array we are searching
// i.e.
const arr = [
  {
    test: 1,
    color: "blue",
    nest: {
      birds: 4
    }
  },
  {
    test: 1,
    color: "red"
  },
  {
    test: 2,
    color: "red"
  },
  {
    test: 1,
    color: "red",
    nest: {
      birds: 3
    }
  }
];
const getByColor = get(array).by("color");
getByColor("blue");
get(array).by("color")("blue");
get(array).by("color", "blue");
get(array).by("nest.birds", 4);
/* all return
[
  {
    test: 1,
    color: "blue",
    nest: {
      birds: 4
    }
  }
]
*/

When I stopped typing and looked up there were a couple more functions than the original two. This update allows for chaining more expressions using language like and, or, equals, notEquals, greaterThan, and lessThan. The result is a human-readable array filter that isn't so anonymous-function-heavy.

.
└── get( Array || Object )
    └── by
        └── ...

( Array || Object ).
└── by
    ├── and
    ├── or
    ├── equals
    ├── notEquals
    ├── greaterThan
    ├── lessThan
get(array).by("color")("red")
.and('test', 1).or('test').equals(2)
.and('nest.birds').greaterThan(2);
/* returns
[
  {
    test: 1,
    color: "red",
    nest: {
      birds: 3
    }
  }
]
*/

Package Sidebar

Install

npm i just_two

Weekly Downloads

15

Version

0.0.5

License

MIT

Unpacked Size

8.24 kB

Total Files

5

Last publish

Collaborators

  • burge-is