1
0
Fork 0
Go to file
Renovate Bot 8e205038f2 update: pin dependencies 2021-07-24 20:59:51 -05:00
.github fix(docs): comment header in PR template 2020-03-02 18:48:34 -06:00
config feat: remove unused lodash dependency 2021-07-10 23:50:34 -05:00
docs/api continue cleaning up names, being property-based testing 2021-07-24 19:41:28 -05:00
scripts feat(build): add alpine image job from salty-dog 2019-11-09 20:17:20 -06:00
src continue cleaning up names, being property-based testing 2021-07-24 19:41:28 -05:00
test continue cleaning up names, being property-based testing 2021-07-24 19:41:28 -05:00
vendor/rollup-resources fix: declare resource modules 2019-09-28 10:42:41 -05:00
.codeclimate.yml feat(build): replace tslint with eslint 2019-11-09 16:50:30 -06:00
.dockerignore fix(build): add yarn lock to image before installing, add tmp files to docker ignore 2019-09-17 19:05:46 -05:00
.eslintrc.js feat(build): update eslint config, remove tslint plugins 2021-07-10 17:32:47 -05:00
.gitignore feat(reflect): handle missing prototypes 2021-03-27 18:22:36 -05:00
.gitlab-ci.yml remove(build): image jobs 2020-03-30 08:49:44 -05:00
.npmignore fix(build): omit git from package, ignore pid files 2019-11-10 09:47:10 -06:00
.npmrc feat(config): configure npm to use nexus mirror 2019-09-17 08:18:09 -05:00
CHANGELOG.md chore(release): 0.4.0-1 2021-07-10 17:08:17 -05:00
Dockerfile.alpine update: update node.js to v16 2021-05-28 07:22:22 -05:00
Dockerfile.stretch update: update node.js to v16 2021-05-28 07:22:22 -05:00
LICENSE.md feat: copy template from other projects 2019-09-17 07:45:15 -05:00
Makefile feat(build): bundle as ES module 2020-06-29 18:23:16 -05:00
README.md feat: remove unused lodash dependency 2021-07-10 23:50:34 -05:00
package.json update: pin dependencies 2021-07-24 20:59:51 -05:00
renovate.json fix: reduce renovate noise, automerge test deps 2021-06-11 10:57:24 -05:00
run.mk feat: include additional makefiles, add example 2019-09-28 15:24:51 -05:00
tsconfig.json feat: copy template from other projects 2019-09-17 07:45:15 -05:00
yarn.lock update: pin dependencies 2021-07-24 20:59:51 -05:00

README.md

JS Utils

This project is a collection of utilities meant to extend lodash, collected from my other Typescript projects, lightly documented, and heavily tested.

Contents

Status

Pipeline status Lines of Code Test coverage MIT license FOSSA Status

Open bug count Open issue count Closed issue count

Renovate badge Dependency status Dev dependency status Known vulnerabilities

Maintainability score Technical debt ratio Quality issues Language grade: JavaScript Total alerts

Releases

github release link github release version github commits since release

npm package link npm release version Typescript definitions

Usage

Install:

yarn add -D @apextoaster/js-utils

And import:

import { mustExist } from '@apextoaster/js-utils';

The library is bundled and has no dependencies.

Features

  • array mapper
    • map elements to keys by order
    • skip initial, gather remaining
  • async
    • defer
    • promise timeout
    • wait for predicate
  • async tracker
    • track and log leaking async resources for tests
  • buffer
  • checklist
    • include/exclude mode (whitelist/blacklist)
  • child process
    • wait for exit and gather output
    • write and flush
  • env
    • check DEBUG
  • list
    • concat lists
  • logger
    • get test logger (null or console depending on DEBUG)
  • map
    • must get (assertion)
    • get or default
    • get head from list value
    • get head or default
    • set or push to key
    • merge maps
    • push-merge maps
    • convert dict to map and vice versa
    • normalize map values to lists
    • create map from name-value pairs
  • maybe
    • is nil test (negative nil test)
    • count array or maybe
    • filter nil from list
    • must find (assertion)
    • does exist (positive nil test)
    • must exist (assertion)
    • must default (assertion)
  • pid file
    • write pid file
    • delete pid file
  • reflect
    • get constructor name
    • get methods from prototype chain
  • signals
    • wait for OS signal
  • string
    • left pad (please don't import just for this)
    • trim with suffix