Utility library in TypeScript, with a focus on Node and FP utils and emphasis on
not rewriting builtin features.
See the docs below for details (generated from types and comments). Example:
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
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
Name | Type |
---|
error | c.ExecFileException | null |
stdout | string | Buffer |
stderr | string | 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
Returns
any
Defined in
curry.ts:1
Listener
Ƭ Listener: (a
: AnyMap
, b
: AnyMap
) => any
Type declaration
▸ (a
, b
): any
Parameters
Returns
any
Defined in
store.ts:3
R
Ƭ R: (...args
: any
[]) => Timer
Type declaration
▸ (...args
): Timer
Parameters
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
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
Parameters
Returns
boolean
Example
and([ 1, 2, 3 ])
and([ 1, 2, 3, false ])
Defined in
and.ts:8
average
▸ average(xs
): number
Averages a list of numbers
Parameters
Returns
number
Example
average([ 2, 4, 6, 8 ])
Defined in
average.ts:7
capitalizeFirstChar
▸ capitalizeFirstChar(str
): string
Capitalizes the first character of string
Parameters
Returns
string
Example
capitalizeFirstChar('things and stuff')
Defined in
capitalize-first-char.ts:7
chunk
▸ chunk<T
>(arr
, n
): T
[][]
Splits an array into chunks
Type parameters
Parameters
Returns
T
[][]
Example
chunk([1, 2, 3, 4 ], 2)
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
Name | Type |
---|
val | number |
min | number |
max | number |
Returns
number
Example
clamp(100, 0, 1000)
clamp(100, 101, 1000)
clamp(100, 0, 99)
Defined in
clamp.ts:11
collapseNewlines
▸ collapseNewlines(str
): string
Collapses multiple newlines to two
Parameters
Returns
string
Example
collapseNewlines('\n\n\n\n')
Defined in
collapse-newlines.ts:7
collapseWhitespace
▸ collapseWhitespace(str
): string
Collapses consecutive whitespace to a single space
Parameters
Returns
string
Example
collapseWhitespace('a\n\r\t\nb')
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
Returns
fn
▸ (a
): AnyMap
Parameters
Returns
AnyMap
Example
const data = [ { foo: 'a', bar: 'baz' }, { foo: 'b', bar: 'quux' }, { foo: 'a', bar: 'whatever' } ]
collectBy('foo')(data)
Defined in
collect-by.ts:11
combineRegex
▸ combineRegex(rs
, opts?
): RegExp
Combines regular expressions
Parameters
Name | Type | Default value |
---|
rs | RegExp [] | undefined |
opts | string | '' |
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
Parameters
Name | Type |
---|
...fns | (t : T ) => T [] |
Returns
fn
▸ (t
): T
Parameters
Returns
T
Example
const addOne = (a) => a + 1
const timesTwo = (a) => a * 2
compose(addOne, timesTwo)(2)
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
Parameters
Name | Type |
---|
el | T |
ls | string | T [] |
Returns
number
Example
countIn('a', 'abc')
countIn('a', [ 'a', 'b', 'c' ])
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
Parameters
Returns
F
Example
const addThree = (a, b, c) => a + b + c
curry(addThree)(1)(1)(1)
Defined in
curry.ts:13
debounce
▸ debounce(fn
, ms
): R
Simple debounce
Parameters
Name | Type |
---|
fn | (...args : any ) => any |
ms | number |
Returns
R
Example
debounce(() => console.log('hi'), 5000)
Defined in
debounce.ts:10
diff
▸ diff<T
>(a
, b
): T
[]
Diff two arrays
Type parameters
Parameters
Returns
T
[]
Example
diff([ 1, 2, 3 ], [ 2, 3 ])
Defined in
diff.ts:7
div
▸ div(ns
): number
Divide any amount of numbers
Parameters
Returns
number
Example
div([ 4, 2, 1 ])
Defined in
div.ts:7
drop
▸ drop<A
>(n
, arr
): A
[]
Like Haskell's drop
Type parameters
Parameters
Returns
A
[]
Example
drop(2, [ 1, 2, 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
Parameters
Name | Type |
---|
pred | (x : T ) => boolean |
arr | T [] |
Returns
T
[]
Example
dropWhile(lessThanThree, [ 1, 2, 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
Parameters
Name | Type |
---|
xs | string | any [] | Record <string , any > |
fn | (a : any , b : string | number ) => T |
Returns
Record
<string
, any
> | T
[]
Example
each([ 'a', 'b', 'c' ], id)
Defined in
each.ts:33
escapeForRegex
▸ escapeForRegex(s?
): string
Parameters
Name | Type | Default value |
---|
s | string | '' |
Returns
string
Example
escapeForRegex('foo')
escapeForRegex('1 \\ {} []|')
Defined in
escape-for-regex.ts:7
execute
▸ execute(cmd
): void
Like a standalone npm run
that obeys npm bin
Parameters
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
Returns
Promise
<boolean
>
Example
await fileExists('./foo')
Defined in
file-exists.ts:10
filter
▸ filter<T
>(fn
, list
): T
[] | Record
<string
, T
>
filter
for array and object
Type parameters
Parameters
Name | Type |
---|
fn | (x : T , y : string | number ) => boolean |
list | string | AnyMap | T [] |
Returns
T
[] | Record
<string
, T
>
Example
filter(id, [ 1, 2 ])
filter(lessThanThree, [ 1, 2, 3, 4 ])
filter(lessThanThree, { a: 1, b: 4 })
Defined in
filter.ts:14
findIndices
▸ findIndices(el
, arr
): number
[]
Find all indices of an item in an array
Parameters
Returns
number
[]
Example
findIndices(1, [ 1, 2, 1 ])
Defined in
find-indices.ts:7
findPort
▸ findPort(port
, cb
): void
Find next open port
Parameters
Name | Type |
---|
port | number |
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
Parameters
Returns
T
[]
Example
flattenAndUniq([ 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
Name | Type |
---|
f | (...xs : any []) => any |
Returns
fn
▸ (...args
): any
Parameters
Returns
any
Example
const minus = (a, b) => a - b
minus(2, 1)
flip(minus)(2, 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
Parameters
Name | Type |
---|
f | (x : T , y : T ) => T |
a | T [] |
Returns
T
Example
foldl1(increment, [ 1, 1, 1 ])
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()
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
Returns
undefined
| string
Example
getKeyByValue('bar', { foo: 'bar' })
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
Returns
string
Example
getOrdinal(1)
Defined in
get-ordinal.ts:9
getProjectRoot
▸ getProjectRoot(): string
Get project root
Returns
string
Example
getProjectRoot()
Defined in
get-project-root.ts:10
getRegexFlags
▸ getRegexFlags(r
): string
[]
Returns the flags for a given regular expression
Parameters
Returns
string
[]
Example
getRegexFlags(/foo/ig)
Defined in
get-regex-flags.ts:7
getStdin
▸ getStdin(f
): void
Get stdin and do something with it.
Parameters
Name | Type |
---|
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()
Defined in
get-terminal-size.ts:9
getUserHome
▸ getUserHome(): string
Get current user's home directory
Returns
string
Example
getUserHome()
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
Returns
number
Example
greater(1, 2)
Defined in
greater.ts:7
groupBy
▸ groupBy(p
): (a
: any
[]) => AnyMap
Collect an an array of objects by string key
Parameters
Returns
fn
▸ (a
): AnyMap
Parameters
Returns
AnyMap
Example
const data = [ { foo: 'a', bar: 'baz' }, { foo: 'b', bar: 'quux' }, { foo: 'a', bar: 'whatever' } ]
groupBy('foo')(data)
Defined in
group-by.ts:10
has
▸ has(p
, o
): boolean
See if an object has a property
Parameters
Returns
boolean
Example
has('a' { b: 'c' })
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
Parameters
Returns
boolean
Example
hasDuplicate([ 1, 1, 2 ])
Defined in
has-duplicate.ts:8
head
▸ head<T
>(arr
): T
First element
Type parameters
Parameters
Returns
T
Example
head([ 1, 2, 3 ])
Defined in
head.ts:7
id
▸ id<A
>(a
): A
id
Type parameters
Parameters
Returns
A
Example
id(1)
id()
Defined in
id.ts:8
init
▸ init(arr
): any
[]
Returns all but the last item of an array
Parameters
Returns
any
[]
Example
init([ 1, 2, 3 ])
Defined in
init.ts:7
initials
▸ initials(str
): string
Trims a string to just caps
Parameters
Returns
string
Example
initials('Zac Anger')
Defined in
initials.ts:7
intersection
▸ intersection<T
>(xs
, ys
): T
[]
Get the intersection of two arrays
Type parameters
Parameters
Returns
T
[]
Example
intersection([ 1, 2 ], [])
intersection([ 1, 2, 3 ], [1, 2])
Defined in
intersection.ts:8
is
▸ is(t
, val
): boolean
Returns true if the value is of the type
Parameters
Returns
boolean
Example
is('number', 2)
Defined in
is.ts:7
isArrayLike
▸ isArrayLike(v
): boolean
Returns true if the passed value is array-like
Parameters
Returns
boolean
Example
isArrayLike({})
isArrayLike([ 1, 2 ])
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
Name | Type |
---|
a | number |
b | number |
mid | number |
Returns
boolean
Example
isBetween(1, 3, 2)
isBetween(2, 1, 2)
Defined in
is-between.ts:11
isBoolean
▸ isBoolean(v
): boolean
Returns true if the value is a boolean
Parameters
Returns
boolean
Example
isBoolean(true)
Defined in
is-boolean.ts:7
isClass
▸ isClass(fn
): boolean
Returns true if passed fn is an ES2015 class
Parameters
Returns
boolean
Example
isClass(noop)
Defined in
is-class.ts:12
isDate
▸ isDate(v
): boolean
Returns true if the value is a date
Parameters
Returns
boolean
Example
isDate(new Date())
Defined in
is-date.ts:9
isDefined
▸ isDefined(v
): boolean
Returns true if the value is defined
Parameters
Returns
boolean
Example
isDefined(null)
Defined in
is-defined.ts:7
isDirectory
▸ isDirectory(filePath
): Promise
<boolean
>
Returns true if the path is a directory
Parameters
Returns
Promise
<boolean
>
Example
await isDirectory('.')
await isDirectory('./fake-path')
Defined in
is-directory.ts:11
isEmpty
▸ isEmpty(v
): boolean
Returns true if the value is empty
Parameters
Returns
boolean
Example
isEmpty('')
isEmpty({})
isEmpty([])
isEmpty(null)
Defined in
is-empty.ts:14
isError
▸ isError(a
): boolean
Returns true if value is an error
Parameters
Returns
boolean
Example
isError(new Error())
Defined in
is-error.ts:9
isEven
▸ isEven(n
): boolean
Returns true if the number is even
Parameters
Returns
boolean
Example
isEven(2)
Defined in
is-even.ts:7
isFile
▸ isFile(filePath
): Promise
<boolean
>
Returns true if the path is a file
Parameters
Returns
Promise
<boolean
>
Example
isFile('./README.md')
isFile('.')
Defined in
is-file.ts:11
isFloat
▸ isFloat(n
): boolean
Returns true if the number is a float
Parameters
Returns
boolean
Example
isFloat(2)
isFloat(2.2)
Defined in
is-float.ts:8
isFunction
▸ isFunction(v
): boolean
Returns true if the value is a function
Parameters
Returns
boolean
Example
const noop = () => {}
isFunction(2)
isFunction(noop)
Defined in
is-function.ts:9
isGenerator
▸ isGenerator(v
): boolean
Returns true if passed val is a generator
Parameters
Returns
boolean
Example
isGenerator(2)
Defined in
is-generator.ts:7
isGeneratorFunction
▸ isGeneratorFunction(v
): boolean
Returns true if val is a generator function
Parameters
Returns
boolean
Example
isGeneratorFunction(2)
Defined in
is-generator-function.ts:7
isInstalled
▸ isInstalled(pkgName
): boolean
Returns true if the passed node_module name is installed
Parameters
Returns
boolean
Example
isInstalled('zeelib')
Defined in
is-installed.ts:7
isInteger
▸ isInteger(v
): boolean
Returns true if the value is an integer
Parameters
Returns
boolean
Example
isInteger(2)
isInteger(1.1)
Defined in
is-integer.ts:8
isJson
▸ isJson(str
): boolean
Returns true if the string is valid JSON
Parameters
Returns
boolean
Example
isJson(JSON.stringify({ a: 'b' }))
Defined in
is-json.ts:7
isMap
▸ isMap(v
): boolean
Returns true if value is a map
Parameters
Returns
boolean
Example
isMap(new Map())
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
Returns
boolean
Example
isNull(null)
Defined in
is-null.ts:7
isNullOrUndefined
▸ isNullOrUndefined(v
): boolean
Returns true if the value is null or undefined
Parameters
Returns
boolean
Example
isNullOrUndefined(null)
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
Returns
boolean
Example
isNumber(2)
isNumber(NaN)
Defined in
is-number.ts:8
isObject
▸ isObject(v
): boolean
Returns true if the value is an object
Parameters
Returns
boolean
Example
isObject('asdf')
Defined in
is-object.ts:7
isOdd
▸ isOdd(n
): boolean
Returns true if the number is odd
Parameters
Returns
boolean
Example
isOdd(1)
Defined in
is-odd.ts:7
isPrimitive
▸ isPrimitive(v
): boolean
Returns true if value is a primitive
Parameters
Returns
boolean
Example
isPrimitive(1)
Defined in
is-primitive.ts:7
isPromise
▸ isPromise(a
): boolean
Returns true if value is a promise
Parameters
Returns
boolean
Example
isPromise(Promise.resolve())
Defined in
is-promise.ts:7
isRegExp
▸ isRegExp(v
): boolean
Returns true if value is a RegExp
Parameters
Returns
boolean
Example
isRegExp(/a/)
Defined in
is-reg-exp.ts:9
isRoot
▸ isRoot(): boolean
Check if current process is running as root.
Returns
boolean
Example
isRoot()
Defined in
is-root.ts:7
isSemver
▸ isSemver(v
): boolean
Returns true if the provided string is a valid semantic version
Parameters
Returns
boolean
Example
isSemver("0.0.0")
isSemver("0.")
Defined in
is-semver.ts:8
isSet
▸ isSet(v
): boolean
Returns true if value is a set
Parameters
Returns
boolean
Example
isSet(new Set())
Defined in
is-set.ts:9
isString
▸ isString(v
): boolean
Returns true if value is a string
Parameters
Returns
boolean
Example
isString('a')
Defined in
is-string.ts:7
isSymLink
▸ isSymLink(filePath
): Promise
<boolean
>
Returns true if path is a symlink
Parameters
Returns
Promise
<boolean
>
Example
isSymLink('.')
Defined in
is-sym-link.ts:10
isSymbol
▸ isSymbol(a
): boolean
Returns true if value is a symbol
Parameters
Returns
boolean
Example
isSymbol(Symbol.for('foo'))
Defined in
is-symbol.ts:7
isUndefined
▸ isUndefined(v
): boolean
Returns true if value is undefined
Parameters
Returns
boolean
Example
isUndefined(undefined)
Defined in
is-undefined.ts:7
isValidDate
▸ isValidDate(d
): boolean
Returns true if the passed object is a valid Date
Parameters
Returns
boolean
Example
isValidDate('1234')
Defined in
is-valid-date.ts:9
keep
▸ keep(x
): R
Returns an array or object with all falsey values removed
Parameters
Returns
R
Example
keep([ 'a', null, '', 2])
keep({ a: '', b: null, c: 2 })
Defined in
keep.ts:13
last
▸ last<A
>(arr
): A
Returns the last element of the array
Type parameters
Parameters
Returns
A
Example
last([ 1, 2, 3 ])
Defined in
last.ts:7
len
▸ len(val
): number
Get length of element
Works for array, object, string, set, map, and function
Parameters
Returns
number
Example
len('foo')
len([ 1, 2 ]) => 2
len((a, b) => a + b)
Defined in
len.ts:19
lesser
▸ lesser(a
, b
): number
Returns the lesser of two numbers
Parameters
Returns
number
Example
lesser(1, 2)
Defined in
lesser.ts:7
lightenOrDarken
▸ lightenOrDarken(col
, amt
): string
Lighten or darken a color
Parameters
Name | Type |
---|
col | string |
amt | number |
Returns
string
Example
const newCol = lightenOrDarken('#F06D06', 20)
const newCol = lightenOrDarken('#F06D06', -20)
Defined in
lighten-or-darken.ts:10
lines
▸ lines(str
): string
[]
Split a string on lines
Parameters
Returns
string
[]
Example
lines('foo\nbar')
Defined in
lines.ts:7
mapObject
▸ mapObject(f
, o
, ctx?
): AnyMap
Map for objects
Parameters
Name | Type |
---|
f | (a : any , b : string , c : any ) => any |
o | AnyMap |
ctx | any |
Returns
AnyMap
Example
const f = (a) => a + ' world'
const d = { a: 'hello', b: 'sup' }
mapObject(f, d)
Defined in
map-object.ts:11
memoize
▸ memoize(fn
): any
A simple memoizing util
Parameters
Returns
any
Example
memoize((a) => a)
memoize((a) => a)(1)
Defined in
memoize.ts:8
mzero
▸ mzero(v?
): any
Get monadic empty/zero value for a type
Parameters
Returns
any
Example
mzero(1)
mzero([1])
Defined in
mzero.ts:10
objectToString
▸ objectToString(v
): string
toString
Parameters
Returns
string
Example
objectToString({})
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
Parameters
Name | Type |
---|
fn | <T>(...args : T []) => T |
Returns
fn
▸ (...args
): U
Parameters
Returns
U
Example
const o = once(id)
o(1)
o()
o(2)
Defined in
once.ts:10
open
▸ open(args
, opts
, cb
): void
Opens things. Works on Linux, Mac, and Windows
Parameters
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
Name | Type |
---|
ks | string | string [] |
o | AnyMap |
Returns
AnyMap
Example
pick('a', { a: 'a', b: 'b' })
pick([ 'a', 'b' ], { a: 'a', b: 'b', c: 'c' })
Defined in
pick.ts:11
pipe
▸ pipe<T
>(...fns
): (data
: T
) => T
Left to right composition
Type parameters
Parameters
Returns
fn
▸ (data
): T
Parameters
Returns
T
Example
const addOne = (a) => a + 1
const timesTwo = (a) => a * 2
pipe(addOne, timesTwo)(2)
Defined in
pipe.ts:13
pluck
▸ pluck(key
, arr
): any
[]
Simple pluck
Parameters
Name | Type |
---|
key | string |
arr | any [] |
Returns
any
[]
Example
pluck('a', [ { a: 'a' }, { a: 'b' } ])
Defined in
pluck.ts:7
product
▸ product(nums
): number
Get the product of a list of numbers
Parameters
Returns
number
Example
product([ 1, 2, 3, 4 ])
Defined in
product.ts:7
prompt
▸ prompt(question
): Promise
<string
>
Create a simple prompt for the terminal
Parameters
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
Name | Type | Default value |
---|
a | number | undefined |
b | number | undefined |
step | number | 1 |
Returns
number
[]
Example
range(1, 4)
range(1, 10, 3)
Defined in
range.ts:14
readJson
▸ readJson(file
): Promise
<any
[] | AnyMap
>
Read json file and parse it
Parameters
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
Parameters
Name | Type |
---|
fn | (b : B , a : A ) => B |
initialValue | B |
data | A [] |
Returns
B
Example
reduce((a, b) => a + b, 0, [ 1, 2, 3, 4 ])
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
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
Parameters
Name | Type |
---|
n | number |
p | A | (n : number , i : number ) => A |
Returns
A
[]
Example
replicate(3, 10)
replicate(4, (a) => a + 1)
Defined in
replicate.ts:10
rgbToHex
▸ rgbToHex(r
, g
, b
): string
Convert rgb to hex
Parameters
Name | Type |
---|
r | number |
g | number |
b | number |
Returns
string
Example
rgbToHex(255, 255, 255)
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
Parameters
Name | Type |
---|
path | string |
fallback? | A |
Returns
fn
▸ (obj
): undefined
| null
| A
Parameters
Returns
undefined
| null
| A
Example
safeGet('a.b.c')({ a: { b: { c: 'd' } } })
safeGet('a.b.e')({ a: { b: { c: 'd' } } })
safeGet('a.b.e', 'f')({ a: { b: { c: 'd' } } })
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
Name | Type |
---|
width | number |
height | number |
maxWidth? | number |
maxHeight? | number |
Returns
Object
Name | Type |
---|
height | number |
width | number |
Example
scaleToFit(1400, 1200, 2000, 200)
Defined in
scale-to-fit.ts:10
shuffle
▸ shuffle<A
>(arr
): A
[]
Randomly shuffle items in array
Type parameters
Parameters
Returns
A
[]
Example
shuffle([ 1, 2, 3, 4 ])
Defined in
shuffle.ts:7
sleep
▸ sleep(ms
): Promise
<void
>
Simple sleep.
Parameters
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
Parameters
Name | Type |
---|
f | (a : A ) => number |
xs | A [] |
Returns
A
[]
Example
const list = [ { id: 1 }, { id: 3 }, { id: 2 } ]
sortBy(({ id }) => id, list)
Defined in
sort-by.ts:10
sortObject
▸ sortObject(o
): AnyMap
Sort an object (recursively)
Parameters
Returns
AnyMap
Example
sortObject({ b: 'c', a: 'd' })
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
Parameters
Name | Type |
---|
pred | (a : A ) => boolean |
arr | A [] |
Returns
[A
[], A
[]]
Example
span(lessThanThree, [ 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
Parameters
Returns
[A
[], A
[]]
Example
splitAt(1, [ [ 'a', 'b' ], 'c' ])
Defined in
split-at.ts:13
store
▸ store(state?
): Store
A very simple store implementation (think Redux-like)
Parameters
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
Name | Type | Default value |
---|
s | string | '' |
Returns
string
Example
stripAnsi(colorize.blue('hello'))
Defined in
strip-ansi.ts:7
sub
▸ sub(ns
): number
Subtract any amount of numbers
Parameters
Returns
number
Example
sub([ 4, 3, 2, 1 ])
Defined in
sub.ts:7
sum
▸ sum(nums
): number
Sum an array of numbers
Parameters
Returns
number
Example
sum([ 1, 2, 3, 4 ])
Defined in
sum.ts:7
tail
▸ tail<T
>(arr
): T
[]
All elements except first
Type parameters
Parameters
Returns
T
[]
Example
tail([ 1, 2, 3, 4 ])
Defined in
tail.ts:7
take
▸ take<A
>(n
, a
): A
[]
Like Haskell's take
Type parameters
Parameters
Returns
A
[]
Example
take(2, [ 1, 2, 3 ])
Defined in
take.ts:7
takeLast
▸ takeLast<A
>(num
, arr
): A
[]
Takes the last n items of array
Type parameters
Parameters
Returns
A
[]
Example
takeLast(2, [ 1, 2, 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
Parameters
Name | Type |
---|
pred | (a : A , n : number ) => boolean |
arr | A [] |
Returns
A
[]
Example
takeWhile((x) => x < 3, [ 1, 2, 3, 4 ])
Defined in
take-while.ts:8
tap
▸ tap(msg
): <A>(a
: A
) => A
Log a value to console, and return that value
Parameters
Returns
fn
▸ <A
>(a
): A
Type parameters
Parameters
Returns
A
Example
const logger = tap('This is the thing!')
logger(2)
Defined in
tap.ts:8
touch
▸ touch(filePath
, contents?
): Promise
<void
>
Make a file if it doesn't exist already
Parameters
Name | Type | Default value |
---|
filePath | string | undefined |
contents | string | '' |
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
Name | Type | Default value |
---|
str | string | undefined |
limit | number | undefined |
tail | string | '…' |
Returns
string
Example
truncate('asdf asdf asdf asdf', 4)
truncate('asdf asdf asdf asdf', 8, ' etc.')
Defined in
truncate.ts:8
tryJson
▸ tryJson<T
>(o
): AnyMap
| T
Tries to parse JSON, if is JSON
Type parameters
Parameters
Returns
AnyMap
| T
Example
tryJson('[1,2]')
tryJson([ 1, 2 ])
Defined in
try-json.ts:10
typeOf
▸ typeOf(a
): string
Enhanced typeof
Parameters
Returns
string
Example
typeOf('a')
typeOf(new Date())
Defined in
type-of.ts:13
union
▸ union<A
>(...xs
): A
[]
Get the union of any amount of arrays
Type parameters
Parameters
Returns
A
[]
Example
union([ 1, 2, 3 ], [ 2, 3, 4 ])
Defined in
union.ts:9
uniq
▸ uniq<A
>(arr
): A
[]
Uniq an array
Type parameters
Parameters
Returns
A
[]
Example
uniq([ 1, 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
Returns
AnyMap
[]
Example
const a = [ { foo: 'foo' }, { foo: 'bar' }, { foo: 'foo' } ]
uniqBy('foo', a)
Defined in
uniq-by.ts:11
unless
▸ unless<A
>(cond
, fn
): null
| A
Call a function if the condition is falsey
Type parameters
Parameters
Name | Type |
---|
cond | boolean |
fn | () => A |
Returns
null
| A
Example
unless(() => true, false)
Defined in
unless.ts:7
unlines
▸ unlines(arr
): string
Join an array with lines
Parameters
Returns
string
Example
unlines([ 'foo', 'bar' ])
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
Parameters
Name | Type |
---|
p | (x : T ) => boolean |
f | (...args : T []) => T |
Returns
fn
▸ (...args
): T
Parameters
Returns
T
Example
until(equals5, increment)(2)
Defined in
until.ts:7
unwords
▸ unwords(arr
): string
Join an array with spaces
Parameters
Returns
string
Example
unwords([ 'foo', bar ])
Defined in
unwords.ts:7
watch
▸ watch(filePath
, cb
): void
Watch a file for changes, and call the function
Parameters
Name | Type |
---|
filePath | string |
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
Returns
string
[]
Example
words('foo bar')
Defined in
words.ts:7
writeJson
▸ writeJson(path
, data
, indent
): Promise
<void
>
Write JSON from a stringifiable value
Parameters
Name | Type |
---|
path | string |
data | any |
indent | number |
Returns
Promise
<void
>
Example
await writeJson('foo.json', someObject, 4)
Defined in
write-json.ts:9