[Home](./index.md) > [@apextoaster/js-utils](./js-utils.md)
## js-utils package
## Classes
| Class | Description |
| --- | --- |
| [ArrayMapper](./js-utils.arraymapper.md) | Map an array of items into a map of arrays using the specified keys, able to skip
initial items and gather remaining items into a rest
key. |
| [Checklist](./js-utils.checklist.md) | Check whether items are included or not (blacklist or whitelist, depending on mode
). |
| [ChildProcessError](./js-utils.childprocesserror.md) | Error indicating that a child process exited with an error status. |
| [InvalidArgumentError](./js-utils.invalidargumenterror.md) | Error indicating that an invalid argument was passed to a function call. |
| [MissingKeyError](./js-utils.missingkeyerror.md) | Error indicating that a required key did not exist in a map-like. |
| [NotFoundError](./js-utils.notfounderror.md) | Error indicating that some value was not found. |
| [NotImplementedError](./js-utils.notimplementederror.md) | Error indicating that a function has not been implemented yet. |
| [TimeoutError](./js-utils.timeouterror.md) | Error indicating that a promise timed out. |
## Enumerations
| Enumeration | Description |
| --- | --- |
| [ChecklistMode](./js-utils.checklistmode.md) | |
## Functions
| Function | Description |
| --- | --- |
| [concat(chunks)](./js-utils.concat.md) | Concatenate a list of buffers. |
| [constructorName(val)](./js-utils.constructorname.md) | Get the constructor name from an instance. |
| [defaultWhen(condition, items)](./js-utils.defaultwhen.md) | Return the first element when condition
is true and the second element when condition
is false. |
| [defer(ms)](./js-utils.defer.md) | Resolve after a set amount of time. |
| [doesExist(val)](./js-utils.doesexist.md) | Check if a variable is some T
. |
| [encode(chunks, encoding)](./js-utils.encode.md) | Concatenate then encode a list of buffers. |
| [ensureArray(val)](./js-utils.ensurearray.md) | |
| [ensureArray(val)](./js-utils.ensurearray_1.md) | |
| [entriesOf(map)](./js-utils.entriesof.md) | Get entries of a map-like. |
| [getConstructor(val)](./js-utils.getconstructor.md) | Get the constructor from an instance. |
| [getHead(map, key)](./js-utils.gethead.md) | Get the first element from the specified key within a map of lists. |
| [getHeadOrDefault(map, key, defaultValue)](./js-utils.getheadordefault.md) | Get the first element from the specified key, within a map of lists, or a default value when the key does not exist or is nil. |
| [getMethods(value)](./js-utils.getmethods.md) | Get the methods from an instance and its prototypes. |
| [getOrDefault(map, key, defaultValue)](./js-utils.getordefault.md) | Get a map key or default value when the key does not exist or is nil. |
| [getTestLogger(verbose)](./js-utils.gettestlogger.md) | Get a test logger. Returns a null logger unless verbose
is true or run under debug mode. |
| [hasItems(val)](./js-utils.hasitems.md) | Test if a value is an array with some items (length > 0).This is not a general replacement for .length > 0
, since it is also a typeguard: if (hasItems(val)) else { val }
will complain that val
is never
in the else
branch, since it was proven not to be an array by this function, even if val
is simply empty. |
| [hasItems(val)](./js-utils.hasitems_1.md) | |
| [isDebug()](./js-utils.isdebug.md) | Test if DEBUG mode is set.TODO: check variable value as well |
| [isNil(val)](./js-utils.isnil.md) | Check if a value is nil. |
| [isNone(val)](./js-utils.isnone.md) | |
| [isSome(val)](./js-utils.issome.md) | |
| [leftPad(val, min, fill)](./js-utils.leftpad.md) | |
| [lengthOf(val)](./js-utils.lengthof.md) | Calculate the length of an array or value.Arrays return their length, single values return 1, and nil values return 0. This counts the number of elements that setOrPush would add. |
| [makeDict(map)](./js-utils.makedict.md) | Turns a map or dict into a dict |
| [makeMap(val)](./js-utils.makemap.md) | Clone a map or map-like object into a new map. |
| [mergeArrays(parts)](./js-utils.mergearrays.md) | |
| [mergeArrays(parts)](./js-utils.mergearrays_1.md) | |
| [mergeMap(target, source)](./js-utils.mergemap.md) | Merge the source
map into the target
map, replacing keys that already exist. |
| [mustCoalesce(values)](./js-utils.mustcoalesce.md) | Return the first value that is not nil. |
| [mustDefault(values)](./js-utils.mustdefault.md) | Return the first value that is some T
. Throw if they are all None
. |
| [mustExist(val, err)](./js-utils.mustexist.md) | Assert that a variable is not None
and return the value. Throw if it is None
. |
| [mustFind(list, predicate)](./js-utils.mustfind.md) | Find a value matching the given predicate or throw. |
| [mustGet(map, key)](./js-utils.mustget.md) | Get an element from a Map and guard against nil values. |
| [normalizeMap(map)](./js-utils.normalizemap.md) | (BETA) Normalize a map-like of values into a dict of lists of strings. |
| [pairsToMap(pairs)](./js-utils.pairstomap.md) | Turns a list of name-value pairs into a map. |
| [pushMergeMap(args)](./js-utils.pushmergemap.md) | Merge the provided maps into a new map, merging keys that already exist by pushing new items. |
| [pushMergeMap(args)](./js-utils.pushmergemap_1.md) | |
| [removeNone(list)](./js-utils.removenone.md) | Remove any null or undefined items from the list. |
| [setOrPush(map, key, val)](./js-utils.setorpush.md) | Set a map key to a new array or push to the existing value. |
| [signal(signals)](./js-utils.signal.md) | |
| [spyLogger(spies)](./js-utils.spylogger.md) | Create a spy logger using the provided methods, which returns itself as a child. |
| [timeout(ms, oper)](./js-utils.timeout.md) | Reject after a set amount of time if the original promise has not yet resolved. |
| [trim(val, max, tail)](./js-utils.trim.md) | |
| [waitForChild(child)](./js-utils.waitforchild.md) | Wait for a child process to exit, collecting output, errors, and exit status. |
| [writeValue(stream, value)](./js-utils.writevalue.md) | |
## Interfaces
| Interface | Description |
| --- | --- |
| [ArrayMapperOptions](./js-utils.arraymapperoptions.md) | |
| [ChecklistOptions](./js-utils.checklistoptions.md) | |
| [ChildOptions](./js-utils.childoptions.md) | |
| [ChildResult](./js-utils.childresult.md) | |
| [Dict](./js-utils.dict.md) | |
| [ExternalModule](./js-utils.externalmodule.md) | |
## Variables
| Variable | Description |
| --- | --- |
| [SIGNAL\_RELOAD](./js-utils.signal_reload.md) | |
| [SIGNAL\_RESET](./js-utils.signal_reset.md) | |
| [SIGNAL\_STOP](./js-utils.signal_stop.md) | |
## Type Aliases
| Type Alias | Description |
| --- | --- |
| [ChildSpawner](./js-utils.childspawner.md) | |
| [MapLike](./js-utils.maplike.md) | A Map
or dictionary object with string keys and TVal
values. |
| [Maybe](./js-utils.maybe.md) | Value that may be nil. |
| [ModuleCtor](./js-utils.modulector.md) | |
| [Nil](./js-utils.nil.md) | Old name for None. |
| [None](./js-utils.none.md) | Unset value. |
| [Optional](./js-utils.optional.md) | Old name for Maybe. |