Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

zeelib

Package Overview
Dependencies
Maintainers
0
Versions
370
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

zeelib

Util lib

  • 13.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
321
decreased by-43.68%
Maintainers
0
Weekly downloads
 
Created
Source

zeelib / Exports

zeelib

Utility library in TypeScript, with a focus on Node and FP utils and emphasis on not rewriting builtin features.

npm version ko-fi Support with PayPal


Installation

npm i zeelib

Usage

See the docs below for details (generated from types and comments). Example:

import * as z from 'zeelib'

const answer = await z.prompt('Pick a letter')
if (z.isEmpty(answer)) process.exit(1)

Full Docs [zeelib](README.md) / Exports

zeelib

Table of contents

Interfaces

Type Aliases

Variables

Functions

Type Aliases

AnyFn

Ƭ AnyFn: (...args: any[]) => any

Type declaration

▸ (...args): any

Parameters
NameType
...argsany[]
Returns

any

Defined in

pipe.ts:3


AnyMap

Ƭ AnyMap: Record<string, any>

Defined in

types.ts:1


Cb

Ƭ Cb: (error: c.ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void

Type declaration

▸ (error, stdout, stderr): void

Parameters
NameType
errorc.ExecFileException | null
stdoutstring | Buffer
stderrstring | Buffer
Returns

void

Defined in

open.ts:4


ColMap

Ƭ ColMap: Record<string, (t: string) => string>

Defined in

colorize.ts:4


F

Ƭ F: (...args: any[]) => any

Type declaration

▸ (...args): any

Parameters
NameType
...argsany[]
Returns

any

Defined in

curry.ts:1


Listener

Ƭ Listener: (a: AnyMap, b: AnyMap) => any

Type declaration

▸ (a, b): any

Parameters
NameType
aAnyMap
bAnyMap
Returns

any

Defined in

store.ts:3


R

Ƭ R: (...args: any[]) => Timer

Type declaration

▸ (...args): Timer

Parameters
NameType
...argsany[]
Returns

Timer

Defined in

debounce.ts:2


R

Ƭ R: string | any[] | AnyMap

Defined in

keep.ts:4


Timer

Ƭ Timer: NodeJS.Timeout | number | null

Defined in

debounce.ts:1


Updater

Ƭ Updater: (a: AnyMap) => AnyMap

Type declaration

▸ (a): AnyMap

Parameters
NameType
aAnyMap
Returns

AnyMap

Defined in

store.ts:4

Variables

colorize

Const colorize: ColMap

Defined in

colorize.ts:34

Functions

and

and<T>(a): boolean

Returns false if any in input array is false

Type parameters
Name
T
Parameters
NameType
aT[]
Returns

boolean

Example

and([ 1, 2, 3 ]) // => true
and([ 1, 2, 3, false ]) // => false
Defined in

and.ts:8


average

average(xs): number

Averages a list of numbers

Parameters
NameType
xsnumber[]
Returns

number

Example

average([ 2, 4, 6, 8 ]) // => 5
Defined in

average.ts:7


capitalizeFirstChar

capitalizeFirstChar(str): string

Capitalizes the first character of string

Parameters
NameType
strstring
Returns

string

Example

capitalizeFirstChar('things and stuff') // => 'Things and stuff'
Defined in

capitalize-first-char.ts:7


chunk

chunk<T>(arr, n): T[][]

Splits an array into chunks

Type parameters
Name
T
Parameters
NameType
arrT[]
nnumber
Returns

T[][]

Example

chunk([1, 2, 3, 4 ], 2) // => [ [ 1, 2 ], [ 3, 4 ] ]
Defined in

chunk.ts:7


clamp

clamp(val, min, max): number

Takes a number, min, and max If number is between min and max, returns number Otherwise returns min or max

Parameters
NameType
valnumber
minnumber
maxnumber
Returns

number

Example

clamp(100, 0, 1000) // => 100
clamp(100, 101, 1000) // => 101
clamp(100, 0, 99) // => 00
Defined in

clamp.ts:11


collapseNewlines

collapseNewlines(str): string

Collapses multiple newlines to two

Parameters
NameType
strstring
Returns

string

Example

collapseNewlines('\n\n\n\n') // => '\n\n'
Defined in

collapse-newlines.ts:7


collapseWhitespace

collapseWhitespace(str): string

Collapses consecutive whitespace to a single space

Parameters
NameType
strstring
Returns

string

Example

collapseWhitespace('a\n\r\t\nb') // => 'a b'
Defined in

collapse-whitespace.ts:7


collectBy

collectBy(p): (a: any[]) => AnyMap

Collect an an array of objects by string key cred: gh:uniqname

Parameters
NameType
pstring
Returns

fn

▸ (a): AnyMap

Parameters
NameType
aany[]
Returns

AnyMap

Example

const data = [ { foo: 'a', bar: 'baz' }, { foo: 'b', bar: 'quux' }, { foo: 'a', bar: 'whatever' } ]
collectBy('foo')(data) // => { a: { foo: 'a', bar: 'whatever' }, b: { foo: 'b', bar: 'quux' } }
Defined in

collect-by.ts:11


combineRegex

combineRegex(rs, opts?): RegExp

Combines regular expressions

Parameters
NameTypeDefault value
rsRegExp[]undefined
optsstring''
Returns

RegExp

Example

combineRegex([/[a-z]/, /[0-9]], 'g') ==> /[a-z][0-9]/g
Defined in

combine-regex.ts:7


compose

compose<T>(...fns): (t: T) => T

Right to left composition

Type parameters
Name
T
Parameters
NameType
...fns(t: T) => T[]
Returns

fn

▸ (t): T

Parameters
NameType
tT
Returns

T

Example

const addOne = (a) => a + 1
const timesTwo = (a) => a * 2
compose(addOne, timesTwo)(2) // => 5
Defined in

compose.ts:11


countIn

countIn<T>(el, ls): number

Find out how many of a given element is in an array or string.

Type parameters
Name
T
Parameters
NameType
elT
lsstring | T[]
Returns

number

Example

countIn('a', 'abc') // => 1
countIn('a', [ 'a', 'b', 'c' ]) // => 1
Defined in

count-in.ts:9


curry

curry<T>(fn): F

Takes a function and returns a function that takes any number of arguments

Produces a curried function

Type parameters
Name
T
Parameters
NameType
fnF
Returns

F

Example

const addThree = (a, b, c) => a + b + c
curry(addThree)(1)(1)(1) // => 3
Defined in

curry.ts:13


debounce

debounce(fn, ms): R

Simple debounce

Parameters
NameType
fn(...args: any) => any
msnumber
Returns

R

Example

debounce(() => console.log('hi'), 5000)
Defined in

debounce.ts:10


diff

diff<T>(a, b): T[]

Diff two arrays

Type parameters
Name
T
Parameters
NameType
aT[]
bT[]
Returns

T[]

Example

diff([ 1, 2, 3 ], [ 2, 3 ]) // => [ 1 ]
Defined in

diff.ts:7


div

div(ns): number

Divide any amount of numbers

Parameters
NameType
nsnumber[]
Returns

number

Example

div([ 4, 2, 1 ]) // => 2
Defined in

div.ts:7


drop

drop<A>(n, arr): A[]

Like Haskell's drop

Type parameters
Name
A
Parameters
NameType
nnumber
arrA[]
Returns

A[]

Example

drop(2, [ 1, 2, 3 ]) // => 3
Defined in

drop.ts:7


dropWhile

dropWhile<T>(pred, arr): T[]

The opposite of takeWhile: takes a predicate and array and returns an array of the elements that didn't pass the predicate

Type parameters
Name
T
Parameters
NameType
pred(x: T) => boolean
arrT[]
Returns

T[]

Example

dropWhile(lessThanThree, [ 1, 2, 3, 4 ]) // => [ 3, 4 ]
Defined in

drop-while.ts:11


each

each<T>(xs, fn): Record<string, any> | T[]

Takes an array or object and a function, and runs the function on each element

Type parameters
Name
T
Parameters
NameType
xsstring | any[] | Record<string, any>
fn(a: any, b: string | number) => T
Returns

Record<string, any> | T[]

Example

each([ 'a', 'b', 'c' ], id) // => 'a'
Defined in

each.ts:33


escapeForRegex

escapeForRegex(s?): string

Parameters
NameTypeDefault value
sstring''
Returns

string

Example

escapeForRegex('foo') // => foo
escapeForRegex('1 \\ {} []|') // => '1 \\\\ \{\} \\[\\]\\|'
Defined in

escape-for-regex.ts:7


execute

execute(cmd): void

Like a standalone npm run that obeys npm bin

Parameters
NameType
cmdstring
Returns

void

Example

execute('standard-format -w')
Defined in

execute.ts:15


fileExists

fileExists(filePath): Promise<boolean>

Returns bool based on if passed path exists

Parameters
NameType
filePathstring
Returns

Promise<boolean>

Example

await fileExists('./foo') // => Promise<true>
Defined in

file-exists.ts:10


filter

filter<T>(fn, list): T[] | Record<string, T>

filter for array and object

Type parameters
Name
T
Parameters
NameType
fn(x: T, y: string | number) => boolean
liststring | AnyMap | T[]
Returns

T[] | Record<string, T>

Example

filter(id, [ 1, 2 ]) // => [ 1, 2 ]
filter(lessThanThree, [ 1, 2, 3, 4 ]) // => [ 1, 2 ]
filter(lessThanThree, { a: 1, b: 4 }) // =>  { a: 1 }
Defined in

filter.ts:14


findIndices

findIndices(el, arr): number[]

Find all indices of an item in an array

Parameters
NameType
elany
arrany[]
Returns

number[]

Example

findIndices(1, [ 1, 2, 1 ]) // => [ 0, 2 ]
Defined in

find-indices.ts:7


findPort

findPort(port, cb): void

Find next open port

Parameters
NameType
portnumber
cb(x: null | Error, y?: number) => void
Returns

void

Example

findPort(8000, (err, port) => console.log(`${port} is open`))
Defined in

find-port.ts:13


flattenAndUniq

flattenAndUniq<T>(arr): T[]

Recursively flatten arrays then uniq what's left

Type parameters
Name
T
Parameters
NameType
arrT[]
Returns

T[]

Example

flattenAndUniq([ 1, 2, 3, [ 1, 2, 3 ]]) // =>  [ 1, 2, 3 ]
Defined in

flatten-and-uniq.ts:10


flip

flip(f): (...args: any[]) => any

Flips order of received arguments and calls f.

Parameters
NameType
f(...xs: any[]) => any
Returns

fn

▸ (...args): any

Parameters
NameType
...argsany[]
Returns

any

Example

const minus = (a, b) => a - b
minus(2, 1) // => 1
flip(minus)(2, 1) // => -1
Defined in

flip.ts:9


fold

fold<T>(f, a): T

Applies f to first two items of list, then to next, etc.

Type parameters
Name
T
Parameters
NameType
f(x: T, y: T) => T
aT[]
Returns

T

Example

foldl1(increment, [ 1, 1, 1 ]) // => 3
Defined in

fold.ts:8


getFreeDisk

getFreeDisk(): number

Get free disk space

Returns

number

Example

getFreeDisk()
Defined in

get-free-disk.ts:9


getFreeMemory

getFreeMemory(): number

Get free memory

Returns

number

Example

getFreeMemory()
Defined in

get-free-memory.ts:9


getGlobal

getGlobal(): undefined | typeof globalThis

Gets the global for your current context.

Returns

undefined | typeof globalThis

Example

getGlobal() // => window, global, whatever
Defined in

get-global.ts:7


getHashFromDate

getHashFromDate(): string

Returns a hash based on current timestamp

Returns

string

Example

getHashFromDate()
Defined in

get-hash-from-date.ts:7


getHashFromSystem

getHashFromSystem(): string

Get a md5 hash based on hostname, process.ppid, and date

Returns

string

Example

getHashFromSystem()
Defined in

get-hash-from-system.ts:10


getKeyByValue

getKeyByValue(value, object): undefined | string

Get the key for a value

Parameters
NameType
valueany
objectAnyMap
Returns

undefined | string

Example

getKeyByValue('bar', { foo: 'bar' }) // => 'foo'
Defined in

get-key-by-value.ts:9


getLoadAverage

getLoadAverage(): number

Get load average

Returns

number

Example

getLoadAverage()
Defined in

get-load-average.ts:10


getMemoryUsage

getMemoryUsage(): number

Get memory usage

Returns

number

Example

getMemoryUsage()
Defined in

get-memory-usage.ts:9


getOrdinal

getOrdinal(n): string

Adds ordinal onto integer

Works up to 999

Parameters
NameType
nnumber
Returns

string

Example

getOrdinal(1) // => '1st'
Defined in

get-ordinal.ts:9


getProjectRoot

getProjectRoot(): string

Get project root

Returns

string

Example

getProjectRoot() // /path/to/project
Defined in

get-project-root.ts:10


getRegexFlags

getRegexFlags(r): string[]

Returns the flags for a given regular expression

Parameters
NameType
rRegExp
Returns

string[]

Example

getRegexFlags(/foo/ig) // => [ 'g', 'i' ]
Defined in

get-regex-flags.ts:7


getStdin

getStdin(f): void

Get stdin and do something with it.

Parameters
NameType
f(a: string) => void
Returns

void

Example

getStdin((str) => {
  console.log(str.split(''))
})
Defined in

get-stdin.ts:9


getTerminalColumns

getTerminalColumns(): number

Get columns of current terminal

Returns

number

Example

getTerminalColumns()
Defined in

get-terminal-columns.ts:7


getTerminalRows

getTerminalRows(): number

Get current terminal rows

Returns

number

Example

getTerminalRows()
Defined in

get-terminal-rows.ts:7


getTerminalSize

getTerminalSize(): Size

Returns size of the current terminal

Returns

Size

Example

getTerminalSize() // => { columns: number, rows: number }
Defined in

get-terminal-size.ts:9


getUserHome

getUserHome(): string

Get current user's home directory

Returns

string

Example

getUserHome() // => /home/z
Defined in

get-user-home.ts:11


getUserShell

getUserShell(): string

Get the current user's shell, or an empty string on shell-less platforms

Returns

string

Example

getUserShell()
Defined in

get-user-shell.ts:8


greater

greater(a, b): number

Get the greater of two numbers

Parameters
NameType
anumber
bnumber
Returns

number

Example

greater(1, 2) // => 2
Defined in

greater.ts:7


groupBy

groupBy(p): (a: any[]) => AnyMap

Collect an an array of objects by string key

Parameters
NameType
pstring
Returns

fn

▸ (a): AnyMap

Parameters
NameType
aany[]
Returns

AnyMap

Example

const data = [ { foo: 'a', bar: 'baz' }, { foo: 'b', bar: 'quux' }, { foo: 'a', bar: 'whatever' } ]
groupBy('foo')(data) // => { a: { foo: 'a', bar: 'whatever' }, b: { foo: 'b', bar: 'quux' } }
Defined in

group-by.ts:10


has

has(p, o): boolean

See if an object has a property

Parameters
NameType
pstring
oAnyMap
Returns

boolean

Example

has('a' { b: 'c' }) // => false
Defined in

has.ts:9


hasColor

hasColor(): boolean

Returns true if the current terminal supports color

Returns

boolean

Example

hasColor()
Defined in

has-color.ts:14


hasDuplicate

hasDuplicate<T>(arr): boolean

Returns true if an array has any duplicate elements

Type parameters
Name
T
Parameters
NameType
arrT[]
Returns

boolean

Example

hasDuplicate([ 1, 1, 2 ]) // => true
Defined in

has-duplicate.ts:8


head

head<T>(arr): T

First element

Type parameters
Name
T
Parameters
NameType
arrT[]
Returns

T

Example

head([ 1, 2, 3 ]) // => 1
Defined in

head.ts:7


id

id<A>(a): A

id

Type parameters
Name
A
Parameters
NameType
aA
Returns

A

Example

id(1) // => 1
id() // => undefined
Defined in

id.ts:8


init

init(arr): any[]

Returns all but the last item of an array

Parameters
NameType
arrany[]
Returns

any[]

Example

init([ 1, 2, 3 ]) // => [ 1, 2 ]
Defined in

init.ts:7


initials

initials(str): string

Trims a string to just caps

Parameters
NameType
strstring
Returns

string

Example

initials('Zac Anger') // => 'ZA'
Defined in

initials.ts:7


intersection

intersection<T>(xs, ys): T[]

Get the intersection of two arrays

Type parameters
Name
T
Parameters
NameType
xsT[]
ysT[]
Returns

T[]

Example

intersection([ 1, 2 ], []) // => []
intersection([ 1, 2, 3 ], [1, 2]) // => [ 1, 2 ]
Defined in

intersection.ts:8


is

is(t, val): boolean

Returns true if the value is of the type

Parameters
NameType
tstring
valany
Returns

boolean

Example

is('number', 2) // => true
Defined in

is.ts:7


isArrayLike

isArrayLike(v): boolean

Returns true if the passed value is array-like

Parameters
NameType
vany
Returns

boolean

Example

isArrayLike({}) // => false
isArrayLike([ 1, 2 ]) // => true
Defined in

is-array-like.ts:10


isBetween

isBetween(a, b, mid): boolean

Returns true if the last parameter is before the first and second parameters

Parameters
NameType
anumber
bnumber
midnumber
Returns

boolean

Example

isBetween(1, 3, 2) // => true
isBetween(2, 1, 2) // => false
Defined in

is-between.ts:11


isBoolean

isBoolean(v): boolean

Returns true if the value is a boolean

Parameters
NameType
vany
Returns

boolean

Example

isBoolean(true) // => true
Defined in

is-boolean.ts:7


isClass

isClass(fn): boolean

Returns true if passed fn is an ES2015 class

Parameters
NameType
fn() => any
Returns

boolean

Example

isClass(noop) // => false
Defined in

is-class.ts:12


isDate

isDate(v): boolean

Returns true if the value is a date

Parameters
NameType
vany
Returns

boolean

Example

isDate(new Date()) // => true
Defined in

is-date.ts:9


isDefined

isDefined(v): boolean

Returns true if the value is defined

Parameters
NameType
vany
Returns

boolean

Example

isDefined(null) // => true
Defined in

is-defined.ts:7


isDirectory

isDirectory(filePath): Promise<boolean>

Returns true if the path is a directory

Parameters
NameType
filePathstring
Returns

Promise<boolean>

Example

await isDirectory('.') // => true
await isDirectory('./fake-path') // => false
Defined in

is-directory.ts:11


isEmpty

isEmpty(v): boolean

Returns true if the value is empty

Parameters
NameType
vany
Returns

boolean

Example

isEmpty('') // => true
isEmpty({}) // => true
isEmpty([]) // => true
isEmpty(null) // => true
Defined in

is-empty.ts:14


isError

isError(a): boolean

Returns true if value is an error

Parameters
NameType
aany
Returns

boolean

Example

isError(new Error()) // => true
Defined in

is-error.ts:9


isEven

isEven(n): boolean

Returns true if the number is even

Parameters
NameType
nnumber
Returns

boolean

Example

isEven(2) // => true
Defined in

is-even.ts:7


isFile

isFile(filePath): Promise<boolean>

Returns true if the path is a file

Parameters
NameType
filePathstring
Returns

Promise<boolean>

Example

isFile('./README.md') // => true
isFile('.') // => false
Defined in

is-file.ts:11


isFloat

isFloat(n): boolean

Returns true if the number is a float

Parameters
NameType
nnumber
Returns

boolean

Example

isFloat(2) // => false
isFloat(2.2) // => true
Defined in

is-float.ts:8


isFunction

isFunction(v): boolean

Returns true if the value is a function

Parameters
NameType
vany
Returns

boolean

Example

const noop = () => {}
isFunction(2) // => false
isFunction(noop) // => true
Defined in

is-function.ts:9


isGenerator

isGenerator(v): boolean

Returns true if passed val is a generator

Parameters
NameType
vany
Returns

boolean

Example

isGenerator(2) // => false
Defined in

is-generator.ts:7


isGeneratorFunction

isGeneratorFunction(v): boolean

Returns true if val is a generator function

Parameters
NameType
vany
Returns

boolean

Example

isGeneratorFunction(2) // => false
Defined in

is-generator-function.ts:7


isInstalled

isInstalled(pkgName): boolean

Returns true if the passed node_module name is installed

Parameters
NameType
pkgNamestring
Returns

boolean

Example

isInstalled('zeelib') // => true
Defined in

is-installed.ts:7


isInteger

isInteger(v): boolean

Returns true if the value is an integer

Parameters
NameType
vany
Returns

boolean

Example

isInteger(2) // => true
isInteger(1.1) // => false
Defined in

is-integer.ts:8


isJson

isJson(str): boolean

Returns true if the string is valid JSON

Parameters
NameType
strstring
Returns

boolean

Example

isJson(JSON.stringify({ a: 'b' })) // => true
Defined in

is-json.ts:7


isMap

isMap(v): boolean

Returns true if value is a map

Parameters
NameType
vany
Returns

boolean

Example

isMap(new Map()) // => true
Defined in

is-map.ts:9


isNode

isNode(): boolean

Returns true if code is in Node

Returns

boolean

Example

isNode()
Defined in

is-node.ts:7


isNull

isNull(v): boolean

Returns true if the value is null

Parameters
NameType
vany
Returns

boolean

Example

isNull(null) // => true
Defined in

is-null.ts:7


isNullOrUndefined

isNullOrUndefined(v): boolean

Returns true if the value is null or undefined

Parameters
NameType
vany
Returns

boolean

Example

isNullOrUndefined(null) // => true
Defined in

is-null-or-undefined.ts:10


isNumber

isNumber(v): boolean

Returns true if the value is a number and is not NaN

Parameters
NameType
vany
Returns

boolean

Example

isNumber(2) // => true
isNumber(NaN) // => false
Defined in

is-number.ts:8


isObject

isObject(v): boolean

Returns true if the value is an object

Parameters
NameType
vany
Returns

boolean

Example

isObject('asdf') // => false
Defined in

is-object.ts:7


isOdd

isOdd(n): boolean

Returns true if the number is odd

Parameters
NameType
nnumber
Returns

boolean

Example

isOdd(1) // => true
Defined in

is-odd.ts:7


isPrimitive

isPrimitive(v): boolean

Returns true if value is a primitive

Parameters
NameType
vany
Returns

boolean

Example

isPrimitive(1) // => true
Defined in

is-primitive.ts:7


isPromise

isPromise(a): boolean

Returns true if value is a promise

Parameters
NameType
aany
Returns

boolean

Example

isPromise(Promise.resolve())
Defined in

is-promise.ts:7


isRegExp

isRegExp(v): boolean

Returns true if value is a RegExp

Parameters
NameType
vany
Returns

boolean

Example

isRegExp(/a/) // => true
Defined in

is-reg-exp.ts:9


isRoot

isRoot(): boolean

Check if current process is running as root.

Returns

boolean

Example

isRoot() // => true
Defined in

is-root.ts:7


isSemver

isSemver(v): boolean

Returns true if the provided string is a valid semantic version

Parameters
NameType
vstring
Returns

boolean

Example

isSemver("0.0.0") // => true
isSemver("0.") // => false
Defined in

is-semver.ts:8


isSet

isSet(v): boolean

Returns true if value is a set

Parameters
NameType
vany
Returns

boolean

Example

isSet(new Set()) // => true
Defined in

is-set.ts:9


isString

isString(v): boolean

Returns true if value is a string

Parameters
NameType
vany
Returns

boolean

Example

isString('a') // => true
Defined in

is-string.ts:7


isSymLink(filePath): Promise<boolean>

Returns true if path is a symlink

Parameters
NameType
filePathstring
Returns

Promise<boolean>

Example

isSymLink('.') // => false
Defined in

is-sym-link.ts:10


isSymbol

isSymbol(a): boolean

Returns true if value is a symbol

Parameters
NameType
aany
Returns

boolean

Example

isSymbol(Symbol.for('foo')) // => true
Defined in

is-symbol.ts:7


isUndefined

isUndefined(v): boolean

Returns true if value is undefined

Parameters
NameType
vany
Returns

boolean

Example

isUndefined(undefined) // => true
Defined in

is-undefined.ts:7


isValidDate

isValidDate(d): boolean

Returns true if the passed object is a valid Date

Parameters
NameType
dDate
Returns

boolean

Example

isValidDate('1234') // => false
Defined in

is-valid-date.ts:9


keep

keep(x): R

Returns an array or object with all falsey values removed

Parameters
NameType
xR
Returns

R

Example

keep([ 'a', null, '', 2]) // => [ 'a', 2 ]
keep({ a: '', b: null, c: 2 }) // => { c: 2 }
Defined in

keep.ts:13


last

last<A>(arr): A

Returns the last element of the array

Type parameters
Name
A
Parameters
NameType
arrA[]
Returns

A

Example

last([ 1, 2, 3 ]) // => 3
Defined in

last.ts:7


len

len(val): number

Get length of element

Works for array, object, string, set, map, and function

Parameters
NameType
valany
Returns

number

Example

len('foo') // => 3
len([ 1, 2 ]) => 2
len((a, b) => a + b) // => 2
Defined in

len.ts:19


lesser

lesser(a, b): number

Returns the lesser of two numbers

Parameters
NameType
anumber
bnumber
Returns

number

Example

lesser(1, 2) // => 1
Defined in

lesser.ts:7


lightenOrDarken

lightenOrDarken(col, amt): string

Lighten or darken a color

Parameters
NameType
colstring
amtnumber
Returns

string

Example

// lighten
const newCol = lightenOrDarken('#F06D06', 20)
// darken
const newCol = lightenOrDarken('#F06D06', -20)
Defined in

lighten-or-darken.ts:10


lines

lines(str): string[]

Split a string on lines

Parameters
NameType
strstring
Returns

string[]

Example

lines('foo\nbar') // => [ 'foo', 'bar' ]
Defined in

lines.ts:7


mapObject

mapObject(f, o, ctx?): AnyMap

Map for objects

Parameters
NameType
f(a: any, b: string, c: any) => any
oAnyMap
ctxany
Returns

AnyMap

Example

const f = (a) => a + ' world'
const d = { a: 'hello', b: 'sup' }
mapObject(f, d) // => { a: 'hello world', b: 'sup world' }
Defined in

map-object.ts:11


memoize

memoize(fn): any

A simple memoizing util

Parameters
NameType
fnany
Returns

any

Example

memoize((a) => a) // => [Function]
memoize((a) => a)(1) // => 1
Defined in

memoize.ts:8


mzero

mzero(v?): any

Get monadic empty/zero value for a type

Parameters
NameType
v?any
Returns

any

Example

mzero(1) // =>
mzero([1]) // => []
Defined in

mzero.ts:10


objectToString

objectToString(v): string

toString

Parameters
NameType
vany
Returns

string

Example

objectToString({}) // => '[object Object]'
Defined in

object-to-string.ts:7


once

once<U>(fn): (...args: U[]) => U

Only calls fn once; subsequent calls just return first val

Type parameters
Name
U
Parameters
NameType
fn<T>(...args: T[]) => T
Returns

fn

▸ (...args): U

Parameters
NameType
...argsU[]
Returns

U

Example

const o = once(id)
o(1) // => 1
o() // => 1
o(2) // => 1
Defined in

once.ts:10


open

open(args, opts, cb): void

Opens things. Works on Linux, Mac, and Windows

Parameters
NameType
argsstring
optsAnyMap
cbCb
Returns

void

Example

open('http://zacanger.com')
Defined in

open.ts:12


pick

pick(ks, o): AnyMap

pick as it is in rambda (not ramda)

Parameters
NameType
ksstring | string[]
oAnyMap
Returns

AnyMap

Example

pick('a', { a: 'a', b: 'b' }) // => { a: 'a' }
pick([ 'a', 'b' ], { a: 'a', b: 'b', c: 'c' }) // => { a: 'a', b: 'b' }
Defined in

pick.ts:11


pipe

pipe<T>(...fns): (data: T) => T

Left to right composition

Type parameters
Name
T
Parameters
NameType
...fnsAnyFn[]
Returns

fn

▸ (data): T

Parameters
NameType
dataT
Returns

T

Example

const addOne = (a) => a + 1
const timesTwo = (a) => a * 2
pipe(addOne, timesTwo)(2) // => 6
Defined in

pipe.ts:13


pluck

pluck(key, arr): any[]

Simple pluck

Parameters
NameType
keystring
arrany[]
Returns

any[]

Example

pluck('a', [ { a: 'a' }, { a: 'b' } ]) // => [ 'a', 'b' ]
Defined in

pluck.ts:7


product

product(nums): number

Get the product of a list of numbers

Parameters
NameType
numsnumber[]
Returns

number

Example

product([ 1, 2, 3, 4 ]) // => 24
Defined in

product.ts:7


prompt

prompt(question): Promise<string>

Create a simple prompt for the terminal

Parameters
NameType
questionstring
Returns

Promise<string>

Example

const answer = await prompt('Do the thing')
if (answer.toLowercase() === 'y') { doTheThing() }
Defined in

prompt.ts:11


range

range(a, b, step?): number[]

Range function

Takes a start and and end, and a step (defaults to 1).

This is inclusive. That is: 1..10,2 == 0,2,4,6,8,10

Parameters
NameTypeDefault value
anumberundefined
bnumberundefined
stepnumber1
Returns

number[]

Example

range(1, 4) // => [ 1, 2, 3, 4 ]
range(1, 10, 3) // => [ 1, 4, 7, 10 ]
Defined in

range.ts:14


readJson

readJson(file): Promise<any[] | AnyMap>

Read json file and parse it

Parameters
NameType
filestring
Returns

Promise<any[] | AnyMap>

Example

const json = await readJson('./foo.json')
Defined in

read-json.ts:10


reduce

reduce<A, B>(fn, initialValue, data): B

Reduce

Type parameters
Name
A
B
Parameters
NameType
fn(b: B, a: A) => B
initialValueB
dataA[]
Returns

B

Example

reduce((a, b) => a + b, 0, [ 1, 2, 3, 4 ]) // => 10
Defined in

reduce.ts:7


removeBOM

removeBOM(content): string

The same as what's in Node's module (see lib/internal/module). Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) because the buffer-to-string conversion in fs.readFileSync() translates it to FEFF, the UTF-16 BOM.

Parameters
NameType
contentstring
Returns

string

Example

removeBOM(someContent)
Defined in

remove-bom.ts:10


replicate

replicate<A>(n, p): A[]

Generates an array of the length of the first param, filled with the second param, calling the second param if it's a function

Type parameters
Name
A
Parameters
NameType
nnumber
pA | (n: number, i: number) => A
Returns

A[]

Example

replicate(3, 10) // => [ 10, 10, 10 ]
replicate(4, (a) => a + 1) // => [ 5, 5, 5, 5 ]
Defined in

replicate.ts:10


rgbToHex

rgbToHex(r, g, b): string

Convert rgb to hex

Parameters
NameType
rnumber
gnumber
bnumber
Returns

string

Example

rgbToHex(255, 255, 255) // => '#ffffff'
Defined in

rgb-to-hex.ts:7


safeGet

safeGet<A>(path, fallback?): (obj: AnyMap) => undefined | null | A

Like _.get: takes an access string and an optional fallback, then an object

Type parameters
Name
A
Parameters
NameType
pathstring
fallback?A
Returns

fn

▸ (obj): undefined | null | A

Parameters
NameType
objAnyMap
Returns

undefined | null | A

Example

safeGet('a.b.c')({ a: { b: { c: 'd' } } }) // => 'd'
safeGet('a.b.e')({ a: { b: { c: 'd' } } }) // => undefined
safeGet('a.b.e', 'f')({ a: { b: { c: 'd' } } }) // => 'f'
Defined in

safe-get.ts:13


scaleToFit

scaleToFit(width, height, maxWidth?, maxHeight?): Object

Takes a width, height, maxWidth, and maxHeight

Returns an object that tells you the largest you can scale to

Parameters
NameType
widthnumber
heightnumber
maxWidth?number
maxHeight?number
Returns

Object

NameType
heightnumber
widthnumber

Example

scaleToFit(1400, 1200, 2000, 200) // => { width: 233.33333333333331, height: 200 }
Defined in

scale-to-fit.ts:10


shuffle

shuffle<A>(arr): A[]

Randomly shuffle items in array

Type parameters
Name
A
Parameters
NameType
arrA[]
Returns

A[]

Example

shuffle([ 1, 2, 3, 4 ])
Defined in

shuffle.ts:7


sleep

sleep(ms): Promise<void>

Simple sleep.

Parameters
NameType
msnumber
Returns

Promise<void>

Example

const delay = await sleep(1000)
sleep(1000).then(doAThing)
Defined in

sleep.ts:8


sortBy

sortBy<A>(f, xs): A[]

Takes a sort fn and an array

Returns a sorted array

Type parameters
Name
A
Parameters
NameType
f(a: A) => number
xsA[]
Returns

A[]

Example

const list = [ { id: 1 }, { id: 3 }, { id: 2 } ]
sortBy(({ id }) => id, list) // => [ { id: 1 }, { id: 2 }, { id: 3 } ]
Defined in

sort-by.ts:10


sortObject

sortObject(o): AnyMap

Sort an object (recursively)

Parameters
NameType
oAnyMap
Returns

AnyMap

Example

sortObject({ b: 'c', a: 'd' }) // => { a: 'd', b: 'c' }
Defined in

sort-object.ts:10


span

span<A>(pred, arr): [A[], A[]]

Similar to takeWhile: returns a tuple of all elements that pass predicate and all elements that did not

Type parameters
Name
A
Parameters
NameType
pred(a: A) => boolean
arrA[]
Returns

[A[], A[]]

Example

span(lessThanThree, [ 1, 2, 3, 4 ]) // => [ [ 1, 2 ], [ 3, 4 ] ]
Defined in

span.ts:11


splitAt

splitAt<A>(num, arr): [A[], A[]]

Like Haskell's splitAt

splitAt n xs returns a tuple xs prefix of length n and second element is remainder of list

Type parameters
Name
A
Parameters
NameType
numnumber
arrA[]
Returns

[A[], A[]]

Example

splitAt(1, [ [ 'a', 'b' ], 'c' ]) // => [ [ [ 'a', 'b' ] ], [ 'c' ] ]
Defined in

split-at.ts:13


store

store(state?): Store

A very simple store implementation (think Redux-like)

Parameters
NameType
stateAnyMap
Returns

Store

Example

const state = store()
state.subscribe((next, prev) => next.foo)
state.update({ foo: 'bar' })
Defined in

store.ts:20


stripAnsi

stripAnsi(s?): string

Remove ANSI escapes from string

Parameters
NameTypeDefault value
sstring''
Returns

string

Example

stripAnsi(colorize.blue('hello')) // => 'hello'
Defined in

strip-ansi.ts:7


sub

sub(ns): number

Subtract any amount of numbers

Parameters
NameType
nsnumber[]
Returns

number

Example

sub([ 4, 3, 2, 1 ]) // => -2
Defined in

sub.ts:7


sum

sum(nums): number

Sum an array of numbers

Parameters
NameType
numsnumber[]
Returns

number

Example

sum([ 1, 2, 3, 4 ]) // => 10
Defined in

sum.ts:7


tail

tail<T>(arr): T[]

All elements except first

Type parameters
Name
T
Parameters
NameType
arrT[]
Returns

T[]

Example

tail([ 1, 2, 3, 4 ]) // => [ 2, 3, 4 ]
Defined in

tail.ts:7


take

take<A>(n, a): A[]

Like Haskell's take

Type parameters
Name
A
Parameters
NameType
nnumber
aA[]
Returns

A[]

Example

take(2, [ 1, 2, 3 ]) // => [ 1, 2 ]
Defined in

take.ts:7


takeLast

takeLast<A>(num, arr): A[]

Takes the last n items of array

Type parameters
Name
A
Parameters
NameType
numnumber
arrA[]
Returns

A[]

Example

takeLast(2, [ 1, 2, 3, 4 ]) // => [ 3, 4 ]
Defined in

take-last.ts:7


takeWhile

takeWhile<A>(pred, arr): A[]

Returns elements that pass predicate, until failure (ignores matches after failure)

Type parameters
Name
A
Parameters
NameType
pred(a: A, n: number) => boolean
arrA[]
Returns

A[]

Example

takeWhile((x) => x < 3, [ 1, 2, 3, 4 ]) // => [ 1, 2 ]
Defined in

take-while.ts:8


tap

tap(msg): <A>(a: A) => A

Log a value to console, and return that value

Parameters
NameType
msgstring
Returns

fn

▸ <A>(a): A

Type parameters
Name
A
Parameters
NameType
aA
Returns

A

Example

const logger = tap('This is the thing!')
logger(2) // => this is the thing 2 ; 2
Defined in

tap.ts:8


touch

touch(filePath, contents?): Promise<void>

Make a file if it doesn't exist already

Parameters
NameTypeDefault value
filePathstringundefined
contentsstring''
Returns

Promise<void>

Example

touch('foo.txt')
touch('foo.txt', 'contentx')
Defined in

touch.ts:11


truncate

truncate(str, limit, tail?): string

Truncate a string

Parameters
NameTypeDefault value
strstringundefined
limitnumberundefined
tailstring'…'
Returns

string

Example

truncate('asdf asdf asdf asdf', 4) // => 'asd…'
truncate('asdf asdf asdf asdf', 8, ' etc.') // => 'asd etc.'
Defined in

truncate.ts:8


tryJson

tryJson<T>(o): AnyMap | T

Tries to parse JSON, if is JSON

Type parameters
Name
T
Parameters
NameType
oT
Returns

AnyMap | T

Example

tryJson('[1,2]') // => [ 1, 2 ]
tryJson([ 1, 2 ]) // => [ 1, 2 ]
Defined in

try-json.ts:10


typeOf

typeOf(a): string

Enhanced typeof

Parameters
NameType
aany
Returns

string

Example

typeOf('a') // => 'string'
typeOf(new Date()) // => 'date'
Defined in

type-of.ts:13


union

union<A>(...xs): A[]

Get the union of any amount of arrays

Type parameters
Name
A
Parameters
NameType
...xsA[][]
Returns

A[]

Example

union([ 1, 2, 3 ], [ 2, 3, 4 ]) // => [ 1, 2, 3, 4 ]
Defined in

union.ts:9


uniq

uniq<A>(arr): A[]

Uniq an array

Type parameters
Name
A
Parameters
NameType
arrA[]
Returns

A[]

Example

uniq([ 1, 1, 2, 3 ]) // => [ 1, 2, 3 ]
Defined in

uniq.ts:7


uniqBy

uniqBy(el, xs): AnyMap[]

Unique an array by a string key of objects in array Returns only the values of the passed key

Parameters
NameType
elstring
xsAnyMap[]
Returns

AnyMap[]

Example

const a = [ { foo: 'foo' }, { foo: 'bar' }, { foo: 'foo' } ]
uniqBy('foo', a) // => [ { foo: 'foo' }, { foo: 'bar' } ]
Defined in

uniq-by.ts:11


unless

unless<A>(cond, fn): null | A

Call a function if the condition is falsey

Type parameters
Name
A
Parameters
NameType
condboolean
fn() => A
Returns

null | A

Example

unless(() => true, false) // => true
Defined in

unless.ts:7


unlines

unlines(arr): string

Join an array with lines

Parameters
NameType
arrstring[]
Returns

string

Example

unlines([ 'foo', 'bar' ]) // => 'foo\nbar'
Defined in

unlines.ts:7


until

until<T>(p, f): (...args: T[]) => T

Until p f yields result of applying f until p holds

Type parameters
Name
T
Parameters
NameType
p(x: T) => boolean
f(...args: T[]) => T
Returns

fn

▸ (...args): T

Parameters
NameType
...argsT[]
Returns

T

Example

until(equals5, increment)(2) // => 5
Defined in

until.ts:7


unwords

unwords(arr): string

Join an array with spaces

Parameters
NameType
arrstring[]
Returns

string

Example

unwords([ 'foo', bar ]) // => 'foo bar'
Defined in

unwords.ts:7


watch

watch(filePath, cb): void

Watch a file for changes, and call the function

Parameters
NameType
filePathstring
cb(event: string, filename: null | string) => void
Returns

void

Example

watch('./foo', console.log)
Defined in

watch.ts:10


words

words(str): string[]

Split a string on spaces

Parameters
NameType
strstring
Returns

string[]

Example

words('foo bar') // => [ 'foo', 'bar' ]
Defined in

words.ts:7


writeJson

writeJson(path, data, indent): Promise<void>

Write JSON from a stringifiable value

Parameters
NameType
pathstring
dataany
indentnumber
Returns

Promise<void>

Example

await writeJson('foo.json', someObject, 4)
Defined in

write-json.ts:9

Keywords

FAQs

Package last updated on 24 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc