purrjs

1.0.0 • Public • Published

Purr.js

Simple JavaScript utility library with respect to FP

Installation

Library can be installed via downloading a git repo:

git clone https://github.com/happyCoda/purrjs.git

or from npm:

npm i purrjs

Functions

_checkType(thing)Boolean

Checks entity's type

_throwIfNotObjectOrArrayOrString(thing)

Throws if entity is not Object, Array or String. Wrapper method over _throwIfNotOneOfTypes

_throwIfNotObjectOrArray(thing)

Throws if entity is not Object or Array. Wrapper method over _throwIfNotOneOfTypes

_throwIfNotOneOfTypes(thing, types)

Throws if entity is not of one of types provided

_throwWrongType(expected, given)

Throws exception with given explanations

_checkArity(args, arity)Boolean

Checks if args given fits arity provided

_expose(global, item, name)

Makes any object available in global scope

_inspect(collection, deeper)String

Inspects objects

_setRecursionMaxDepth(value)

Sets maximum recursion depth (useful for walk method)

isObject(thing)Boolean

Checks if entity is an Object

isArray(thing)Boolean

Checks if entity is an Array

isFunction(thing)Boolean

Checks if entity is an Function

isBoolean(thing)Boolean

Checks if entity is an Boolean

isNumber(thing)Boolean

Checks if entity is an Number

isString(thing)Boolean

Checks if entity is an String

isNull(thing)Boolean

Checks if entity is an Null

isUndefined(thing)Boolean

Checks if entity is an Undefined

isSymbol(thing)Boolean

Checks if entity is an Symbol

is(thing, type)Boolean

Checks if entity has a given type

isOneOfTypes(thing, types)Boolean

Checks if entity has one of the given types

isTruthy(thing)Boolean

Checks if entity has a truthy value

isEmpty(thing)Boolean

Checks if entity has an empty value ('', [], {})

curry(func, arity, context)function | Any

Performs function currying

compose(...args)function

Composed functions

noop(thing)Any

Function placeholder in case you need some callback. Simply returns given value

each(collection, func)

Iterates over collection and calls callback on every iteration

map(collection, func)Arrray | Object | String

Iterates over collection and calls callback on every iteration

reduce(collection, func, acc)Any

Reduces collection to single value

filter(collection, func, reverse)Arrray | Object | String

Filter collection by criteria

reject(collection, func)Arrray | Object | String

Reject collection's items by criteria

all(collection, func)Arrray | Object | String

Checks if all collection's items fit criteria

any(collection, func)Arrray | Object | String

Checks if any collection's items fit criteria

times(num, func)

Calls the function a specified number of times

find(collection, func)Arrray | Object | Undefined

Searches element in collection

contains(collection, valOrKey)Boolean

Checks if element is in collection

destroy(collection, key)Boolean

Deletes property from collection

groupBy(collection, criteria)Object

Group collection's elements by given criteria

orderBy(collection, criteria, direction)Array

Order collection's elements by given criteria and direction

uniq(collection)Object

Drops all collection's duplicates

toArray(arrayLike)Array

Converts array like structures to array

debounce(fn, wait, asap)function

Creates debounced version of the function given

pluck(collection, key)Array

Creates new collection from the old one by the given key

omit(collection, key)Object

Drops values from collection

extend(collection, source)Object

Extends collection

clone(collection)Object

Clones collection

mixin(collection, ...sources)Object

Ads mixin's props to the collection

chunk(collection, size, start)Object

Gets collection chunk

size(collection)Number

Calculates collection size

walk(collection, func, parent, depth)

Walks collection recursively

flatten(collection, flatArr)

Makes multidimensional arrays flat

inject(obj, stuff)Object

Injects logic from purr to given object

namespace(parent, nsstring)Object

Creates namespace on the given object or new object

ensureImplements(obj, methods)Boolean

Ensures than object implements given interface

randomNum(min, max)Number

Generates random number

_checkType(thing) ⇒ Boolean

Checks entity's type

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check type for

_throwIfNotObjectOrArrayOrString(thing)

Throws if entity is not Object, Array or String. Wrapper method over _throwIfNotOneOfTypes

Kind: global function

Param Type Description
thing Any Entity to check type for

_throwIfNotObjectOrArray(thing)

Throws if entity is not Object or Array. Wrapper method over _throwIfNotOneOfTypes

Kind: global function

Param Type Description
thing Any Entity to check type for

_throwIfNotOneOfTypes(thing, types)

Throws if entity is not of one of types provided

Kind: global function

Param Type Description
thing Any Entity to check type for
types Array Array of types to check against

_throwWrongType(expected, given)

Throws exception with given explanations

Kind: global function

Param Type Description
expected String Expected type(s)
given String Type provided

_checkArity(args, arity) ⇒ Boolean

Checks if args given fits arity provided

Kind: global function
Returns: Boolean - true or false

Param Type Description
args Array Arguments array
arity Number Arity of a function

_expose(global, item, name)

Makes any object available in global scope

Kind: global function

Param Type Description
global Object Any global object to include exposable
item Any Entity for expose
name String The name of the exposed entity

_inspect(collection, deeper) ⇒ String

Inspects objects

Kind: global function
Returns: String - stringified Stringified collection representation

Param Type Description
collection Object Can be array or object
deeper Boolean Wether we need trailing coma

_setRecursionMaxDepth(value)

Sets maximum recursion depth (useful for walk method)

Kind: global function

Param Type Description
value Number New recursion depth

isObject(thing) ⇒ Boolean

Checks if entity is an Object

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check type for

isArray(thing) ⇒ Boolean

Checks if entity is an Array

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check type for

isFunction(thing) ⇒ Boolean

Checks if entity is an Function

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check type for

isBoolean(thing) ⇒ Boolean

Checks if entity is an Boolean

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check type for

isNumber(thing) ⇒ Boolean

Checks if entity is an Number

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check type for

isString(thing) ⇒ Boolean

Checks if entity is an String

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check type for

isNull(thing) ⇒ Boolean

Checks if entity is an Null

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check type for

isUndefined(thing) ⇒ Boolean

Checks if entity is an Undefined

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check type for

isSymbol(thing) ⇒ Boolean

Checks if entity is an Symbol

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check type for

is(thing, type) ⇒ Boolean

Checks if entity has a given type

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check type for
type String Entity's type to check against

isOneOfTypes(thing, types) ⇒ Boolean

Checks if entity has one of the given types

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check type for
types Array Entity's types to check against

isTruthy(thing) ⇒ Boolean

Checks if entity has a truthy value

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check

isEmpty(thing) ⇒ Boolean

Checks if entity has an empty value ('', [], {})

Kind: global function
Returns: Boolean - true or false

Param Type Description
thing Any Entity to check

curry(func, arity, context) ⇒ function | Any

Performs function currying

Kind: global function
Returns: function | Any - Returns curried function

Param Type Default Description
func function Function to curry
arity Number 2 Number of arguments curried function expected
context Object Context to apply curried function on

compose(...args) ⇒ function

Composed functions

Kind: global function
Returns: function - Curried function

Param Type Description
...args * Functions to compose

noop(thing) ⇒ Any

Function placeholder in case you need some callback. Simply returns given value

Kind: global function
Returns: Any - thing Some argument

Param Type Description
thing Any Some argument

each(collection, func)

Iterates over collection and calls callback on every iteration

Kind: global function

Param Type Description
collection Arrray | Object | String Collection to iterate over
func function Callback function to to call

map(collection, func) ⇒ Arrray | Object | String

Iterates over collection and calls callback on every iteration

Kind: global function
Returns: Arrray | Object | String - collectionMapped New mapped collection

Param Type Description
collection Arrray | Object | String Collection to iterate over
func function Callback function to call

reduce(collection, func, acc) ⇒ Any

Reduces collection to single value

Kind: global function
Returns: Any - acc Reduced value

Param Type Description
collection Arrray | Object | String Collection to reduce
func function Callback function to call
acc Any Some initial accumulator value

filter(collection, func, reverse) ⇒ Arrray | Object | String

Filter collection by criteria

Kind: global function
Returns: Arrray | Object | String - result Filtered collection

Param Type Default Description
collection Arrray | Object | String Collection to filter
func function | Array | Object Callback function to call
reverse Boolean false Determines whether filter should invert condition

reject(collection, func) ⇒ Arrray | Object | String

Reject collection's items by criteria

Kind: global function
Returns: Arrray | Object | String - Rejected collection

Param Type Description
collection Arrray | Object | String Collection to reject
func function | Array | Object Callback function to call

all(collection, func) ⇒ Arrray | Object | String

Checks if all collection's items fit criteria

Kind: global function
Returns: Arrray | Object | String - Checked collection

Param Type Description
collection Arrray | Object | String Collection to check
func function Callback function to call

any(collection, func) ⇒ Arrray | Object | String

Checks if any collection's items fit criteria

Kind: global function
Returns: Arrray | Object | String - Checked collection

Param Type Description
collection Arrray | Object | String Collection to check
func function Callback function to call

times(num, func)

Calls the function a specified number of times

Kind: global function

Param Type Description
num Number Number of times to call the function
func function Callback function to call

find(collection, func) ⇒ Arrray | Object | Undefined

Searches element in collection

Kind: global function
Returns: Arrray | Object | Undefined - Value found or undefined

Param Type Description
collection Arrray | Object | String Collection to check
func function | Array | Object Iteratee for checking

contains(collection, valOrKey) ⇒ Boolean

Checks if element is in collection

Kind: global function
Returns: Boolean - true or false

Param Type Description
collection Arrray | Object | String Collection to check
valOrKey Number | String Value for checking

destroy(collection, key) ⇒ Boolean

Deletes property from collection

Kind: global function
Returns: Boolean - true or false

Param Type Description
collection Arrray | Object | String Collection to operate
key String Property to delete

groupBy(collection, criteria) ⇒ Object

Group collection's elements by given criteria

Kind: global function
Returns: Object - result Groupped collection

Param Type Description
collection Object Collection to operate
criteria String Property to order collection by

orderBy(collection, criteria, direction) ⇒ Array

Order collection's elements by given criteria and direction

Kind: global function
Returns: Array - result Ordered collection

Param Type Description
collection Array Collection to operate
criteria String Property to order collection by
direction String Ascendant or Descendant

uniq(collection) ⇒ Object

Drops all collection's duplicates

Kind: global function
Returns: Object - result Unique collection

Param Type Description
collection Array Collection to operate

toArray(arrayLike) ⇒ Array

Converts array like structures to array

Kind: global function
Returns: Array - result Converted value

Param Type Description
arrayLike Object Array like to convert

debounce(fn, wait, asap) ⇒ function

Creates debounced version of the function given

Kind: global function
Returns: function - Debounced function

Param Type Default Description
fn function The function to debounce
wait Number 200 Timeout value
asap Boolean false Whether function shuld be called immediately

pluck(collection, key) ⇒ Array

Creates new collection from the old one by the given key

Kind: global function
Returns: Array - result New collection of plucked values

Param Type Description
collection Array | Object The collection to pluck
key String The key to pluck collection by

omit(collection, key) ⇒ Object

Drops values from collection

Kind: global function
Returns: Object - obj Mutated collection

Param Type Description
collection Object The collection to omit
key String The property to delete

extend(collection, source) ⇒ Object

Extends collection

Kind: global function
Returns: Object - collection Extended collection

Param Type Description
collection Object The collection to extend
source Object The extension source

clone(collection) ⇒ Object

Clones collection

Kind: global function
Returns: Object - clone Clone of the collection

Param Type Description
collection Object The collection to clone

mixin(collection, ...sources) ⇒ Object

Ads mixin's props to the collection

Kind: global function
Returns: Object - collection Mutated collection

Param Type Description
collection Object The collection to mutate
...sources * The mixin sources

chunk(collection, size, start) ⇒ Object

Gets collection chunk

Kind: global function
Returns: Object - Collection chunk

Param Type Default Description
collection Array | String The collection to operate
size Number Chunk size
start Number 0 Chunk start position

size(collection) ⇒ Number

Calculates collection size

Kind: global function
Returns: Number - Collection size

Param Type Description
collection Array | String The collection to operate

walk(collection, func, parent, depth)

Walks collection recursively

Kind: global function

Param Type Default Description
collection Array | Object The collection to operate
func function Callback to call
parent Array | Object Parent entity
depth Number 0 Walk's depth

flatten(collection, flatArr)

Makes multidimensional arrays flat

Kind: global function

Param Type Description
collection Array The Array to flat
flatArr Array New flattened array

inject(obj, stuff) ⇒ Object

Injects logic from purr to given object

Kind: global function
Returns: Object - obj Mutated object

Param Type Description
obj Object Object to inject logic
stuff Array | String Properties to inject

namespace(parent, nsstring) ⇒ Object

Creates namespace on the given object or new object

Kind: global function
Returns: Object - parent Mutated object

Param Type Description
parent Object Object create namespace
nsstring String String representation of namespace

ensureImplements(obj, methods) ⇒ Boolean

Ensures than object implements given interface

Kind: global function
Returns: Boolean - true or false

Param Type Description
obj Object Object to operate
methods Array | String Interface to implement

randomNum(min, max) ⇒ Number

Generates random number

Kind: global function
Returns: Number - randNum Random number generated.

Param Type Description
min Number Minimum number boundary.
max Number Maximum number boundary.

Release History

  • 2017-12-08   v1.0.0   v1.0.0 release
  • 2013-08-07   v0.1.0   First release

Package Sidebar

Install

npm i purrjs

Weekly Downloads

0

Version

1.0.0

License

ISC

Last publish

Collaborators

  • happycoda