[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. | | [countOf(val)](./js-utils.countof.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. | | [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, val)](./js-utils.defer.md) | Resolve after a set amount of time. | | [doesExist(val)](./js-utils.doesexist.md) | Check if a variable is not nil. | | [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. | | [filterNil(list)](./js-utils.filternil.md) | Remove any null or undefined items from the list. | | [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. | | [leftPad(val, min, fill)](./js-utils.leftpad.md) | | | [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. | | [mergeList(parts)](./js-utils.mergelist.md) | Merge arguments, which may or may not be arrays, into one return that is definitely an array. | | [mergeList(parts)](./js-utils.mergelist_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.@todo: rename to mustDefault | | [mustExist(val)](./js-utils.mustexist.md) | Assert that a variable is not nil and return the value. | | [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) | | | [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. | | [ModuleCtor](./js-utils.modulector.md) | | | [Nil](./js-utils.nil.md) | Unset value. | | [Optional](./js-utils.optional.md) | Value that may be nil. |