x-utils-es
TypeScript icon, indicating that this package has built-in type declarations

2.4.0 • Public • Published

x-utils-es

Statements Branches Functions Lines
Statements Branches Functions Lines

  Simple javascript utility, lodash alternative, to help with type validation, with no dependencies.

  • esmodule supports esnext, es2015 and umd
  • Lightweight, minified  
     

Documentation

Website docs at: utils.eaglex.net  
 

Coverage

Full coverage details at: utils.eaglex.net/coverage  
 

Install

$/ npm i x-utils-es

 

Why use it

  • Validate data
  • Good with naming conventions
  • Similar to lodash
  • No dependencies
  • UMD support so you can use in most environments: (AMD, common.js/Node, or browser)
  • @types supported, can be used with typescript  
     

@types

Definitly typed (DT) support on all version  
 

Version support

For production with gulp/webpack ..etc, use source (1) version, otherwise use any other.

import {} from 'x-utils-es' // src e-module  (1)
import {} from 'x-utils-es/esm' // (minified) (2)
import {} from 'x-utils-es/umd' // for browser and commonjs support (minified) (3)
const {} require('x-utils-es/umd') // with node/commonjs support 

// browser
<script src="..path/umd"></script>
<script>
    const {...} = window.xutils // get access to all utils
</script>

 
 

Example overview

For full detail refer to website docs: utils.eaglex.net

 


import { ... } from 'x-utils-es' 
# objectSize()

Check item is an array

# stringSize()

Test the length of string

# head()

Get first item from array

# shuffle()

Randomise items in array

# flatten()

Flatten 2 level array to 1 level

# flattenDeep()

Flatten all array levels to 1

# last()

Gets last item from array

# copy()

Makes item copy

# copyBy()

Copy object by property name

# copyDeep()

Makes deep copy including nested items

# asJson()

Returns in pretty json fromat

# isFunction()

Check if item is a function

# timer()

Timer callback executes on timeout

# interval()

Execute callback every interval, then exit on endTime

# validID()

Convert to string, remove spaces, toLowerCase

# isNumber()

Check item is a number

# sq()

SimpleQ / instanceof Promise, deferred simplified promise

# isPromise()

Check for Promise / q.defer / and xutils promise sq()

# isQPromise()

Tests for the q.defer() node.js promise version

# cancelPromise()

Cancelable synchronous process, determines how long to wait before we exit

# uniq()

Returns new array of unique values

# uniqBy()

Selects first match ignoring others of those which prop values are repeated

# isObject()

Test item is a true object, and not array

# isArray()

Test item is a true array, and not object

# arraySize()

Test item is an array, and check the size

# chunks()

Split array to chunks by providing size number

# isString()

Test item is a string type

# isRegExp()

Check pattern is an expression of RegExp

# isFalsy()

Check if any item type is falsy, object, array, class/instance, having no props set

# isTrue()

Check if item is gth > 0, true, basically opposite of isFalse()

# isFalse()

Check if item is lt < 1, false, null or undefined

# isBoolean()

Check if item is a boolean

# isNull()

Check if item is ===null

# isUndefined()

Check if item is ===undefined

# delay()

Delay a sync/async process, to be executed after delay is resolved

# truthFul()

Return new object excluding all undefined values in top level

# inIndex()

Test accuracy of a match[x] in a string

# matched()

Match string value by expression

# someKeyMatch()

Test if ANY keys match between object{} and source{}

# exactKeyMatch()

Test if ALL keys match between object{} and source{}

# trueVal()

Exclude any falsy values from array, such as: [0,null,false,{},undefined, -1,'',[]]

# trueValDeep()

Exclude any falsy values from array: [0,null,false,{},undefined, -1,'',[]], but testing 1 level deeper, compared to trueVal()

# trueProp()

Object with true entities will be returned

# typeCheck()

Examines element for its type, provided value, and primitive value

# isEmpty()

Check item has some value, set of props, or length

# isError()

Check item is of Error object family

# isInstance()

Testing if item{} is a new Item{}, instance of a class

# isClass()

Test item is a class{} constractor, that can be initiated

# hasPrototype()

Test item is a class{} constractor, that can be initiated, ( alias of isClass() )

# hasProto()

Check if item has access to __proto__

# validDate()

Evaluate if data is an actual Date

# selectiveArray()

Select data from array of objects by reference, and go down recursively in order of selectBy ['a.b'] ref

# arrayWith()

Mixed array of objects and values, grab items[] that include specific prop.

# exFromArray()

Exclude items from array matchd by excludes[], and replace with undefined keeping index position

# pickFromArray()

Array selection tool. Filter items in array[item,item] by picks[Types|primitives,values] conditions

# dispatcher()

Lightweight Event Dispatcher, allowing dispatch anywhere in code, very handy in callback/hell situations, deep promises, or other computations.

# withHoc()

High order caller, concept taken from React HOC. Supports promises

# resolver()

Run some method that returns value in future, checking updates until timeout, or exit when data becomes available.

# dupes()

Duplicate item x:number of times

# loop()

Looping each item inside of callback

# noop()

No operation function

# trim()

Trim boths sides of string, including new lines, and multiple spaces to single space

# xError()

Extended Error(...) with extra {id,name,fileName,lineNumber} used to throw exception.

# referenceError()

Extended ReferenceError(...) with extra {name,fileName,lineNumber,columnNumber}, used to throw exception.

# xrequire()

Extended NodeRequire, does not throw when argument ref=ERR_NO_THROW is provided. THIS METHOD ONLY WORK FOR COMMON.JS modules, and not for browser

# loggerSetting()

Allow enabling and disabling of loggers: log/warn/error/onerror/attention/debug/alert

# resetLogging()

Change state of xutils loggers when calling at top of hoist level. Effects: log/warn/error/onerror/attention/debug/alert

# log()

Extends console.log with [log] prefix

# debug()

Extends console.log with [debug] prefix, produces green color output

# onerror()

Extends console.error with [error] prefix, produces red color output

# warn()

Extends console.log with [warn] prefix, produces bright white color output

# attention()

Extends console.log with [attention] prefix, produces blue color output

# alert()

Extends console.log with [alert] prefix, produces yellow color output. Does not work on window object ( for obvious reasons! )

# stack()

For stack tracing, prefixed with [STACK TRACE]

# errorTrace()

For stack tracing, prefixed with [ERROR]

# unsubscribe()

Unsubscribe from an RX/subscription, by providing array of active subs

# includes()

Compare match array items with the id, if any were found return true

# spread()

Spread data of an object as you would ...data, but with selected prop names that match the object

[#][id:77] spreadWith()

Spread only selected array items matching index number

 

Contact

Have questions, or would like to submit feedback contact eaglex.net

Dependents (0)

Package Sidebar

Install

npm i x-utils-es

Weekly Downloads

5

Version

2.4.0

License

MIT

Unpacked Size

221 kB

Total Files

23

Last publish

Collaborators

  • anon101