2.5.1 • Published 1 month ago

@exodus/basic-utils v2.5.1

Weekly downloads
-
License
UNLICENSED
Repository
github
Last release
1 month ago

Exodus Basic Utils

npm]

Install

yarn add @exodus/basic-utils

Usage

SynchronizedTime

import { SynchronizedTime } from '@exodus/basic-utils'

console.log(SynchronizedTime.now())

cleanInput

import { cleanInput } from '@exodus/basic-utils'

cleanInput('1.2abc@!#') // returns 1.2

flattenToPaths

Flatten an object to an array of [...path, leafValue] arrays.

import { flattenToPaths } from '@exodus/basic-utils'

flattenToPaths({
  harry: {
    wand: 'holly',
  },
  grindie: {
    wand: 'yew',
  },
  voldie: {
    wand: 'yew',
  },
})

// [
//   ['harry', 'wand', 'holly'],
//   ['grindie', 'wand', 'yew'],
//   ['voldie', 'wand', 'yew'],
// ]

Lodash-like utility functions

The following functions work like their lodash counterparts, with some caveats:

  • They're strict with respect to arguments, and don't support multiple options like arrays, strings, etc. For example, pick(users, ['name', 'age']) but NOT pick(users, 'name'). Please see the tests before you use them.
  • Functions that create objects return objects with a null prototype.

Before using a function, check its unit tests to make sure you're using the API correctly.

import {
  pick,
  pickBy,
  omit,
  mapKeys,
  mapValues,
  keyBy,
  orderBy,
  isNil,
  isObjectLike,
  isPlainObject,
  difference,
  intersection,
  partition,
  set,
} from '@exodus/basic-utils'

async helpers

See ./src/async.js and ./src/p-debounce.js for more details.

  • mapValuesAsync, filterAsync, partitionAsync are the async counterparts of mapValues, filter, partition respectively.
  • pDebounce: p-debounce, copied from the original temporarily to avoid having to ship this as ESM.

Prototype pollution safety

2.5.0

1 month ago

2.5.1

1 month ago

2.4.0

1 month ago

2.3.0

2 months ago

2.2.0

2 months ago

2.1.2

4 months ago

2.1.1

8 months ago

2.1.0

10 months ago

2.0.1

11 months ago

2.0.0

1 year ago

1.5.0

1 year ago

1.4.0

1 year ago

1.3.0

1 year ago

1.2.0

1 year ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.0

2 years ago

0.7.0

2 years ago

0.6.0

2 years ago

0.5.0

2 years ago

0.4.0

2 years ago

0.3.0

2 years ago

0.2.0

2 years ago

0.1.0

2 years ago