Home Reference Source

Function

Static Public Summary
public

IDFactory(startValue: Number): Function

public
public

addKey(collection: Array<Object>, prefix: String): Array<Object>

usage - react list render

public

angle2deg(angle: *): *

public

assert(condition: *, message: *)

public

batchSetStyle(args: ...*)

public

charLength(str: String, charset: String): Number

public

compact(array: Array): Array

public

compose(fns: ...*): *

public
public

dashToCamel(dashStr: *): *

public

debounce(func: Function, wait: Number, immediate: Boolean): Function

public

deepCopy(obj: *): *

public

deepEqual(a: *, b: *): boolean

a way to tell if two object hold the same value recursively.

public

deg2angle(deg: *): *

public

delay(func: Function, wait: Number, args: ...any): Number

public

drawArc(objectPattern: {"innerRadius": *, "outerRadius": *, "startAngle": *, "endAngle": *}): *

public

drawEquilateral(objectPattern: {"radius": *, "startAngle": *, "sidesNum": *}): *

public

drawLine(points: *): string

public

echo(arg: Any): Any

mimic command echo

public

excludeProps(obj: *, exclude: *[]): *

public

extend(target: *, args: ...*): *

public

getProp(obj: *, nameArray: *, defaultValue: string): *

public

guard(test: *, safeValue: *): *

public

head(list: *, size: number): *

public

isArray(obj: *): *

public

isEmail(emailAddress: *): Boolean

check the format for the input email

public

isEmpty(any: *): boolean

public

isEmptyArray(arr: *): *

public

isEmptyObject(obj: *): *

public

isEmptyString(str: *): *

public

isFunction(obj: *): *

public

isNumber(obj: *): *

public

isObject(obj: *): *

public

isSet(value: *): Boolean

we assume Undefined or Null as unsetted value

public

isString(obj: *): *

public

isUInt(uint: Number | String): *

public

isUnset(value: *): Boolean

we assume Undefined or Null as unsetted value

public

midIndex(list: Array): Int

public

middle(list: Array): Any

public

nlargest(list: Array, num: Number): Array

public

noop()

a empty function doing nothing when called

public

nsmallest(list: Array, num: Number): Array

public
public

padZero(num: Number | String, size: NUmber): String

public

parseQuery(queryString: *): *

public

propCompact(obj: *): *

public

queryJoin(left: String, right: String): String

public

quickSort(list: Array, func: Function): Array

public

randInt(min: Number, max: Number): Number

public

randStr(size: Number, sourceCode: String): String

public

rem(objectPattern: {"designWidth": *, "designDPR": *, "rem2px": *, "bodyFontSize": *, "win": *, "doc": *})

public

reverse(obj: *): *

public

selectProps(obj: *, select: *[]): *

public

setStyle(ele: HTMLElement, name: String, value: String | Number)

public

shallowEqual(a: *, b: *): boolean

public

shuffle(list: Array): Array

public

strToDate(dateString: String, format: String): Date

public

strToTime(dateString: Sting, format: String, seconds: Boolean): String

public

tail(list: Array, size: Number): Any | Array

public

timeToStr(time: String | Number, format: String): String

public

timestamp(): *

  • like currentTime but its seconds not miniseconds
public

trim(str: String): String

public

typeOf(obj: *): *

public

uniq(array: Array): Array

Static Public

public IDFactory(startValue: Number): Function source

import {IDFactory} from 'mytoolkit/src/utils.js'

Params:

NameTypeAttributeDescription
startValue Number
  • optional

start value for generating ids

Return:

Function

id will plus 1 at each call of the func

public addComma(num: String | Number): String source

import {addComma} from 'mytoolkit/src/utils.js'

Params:

NameTypeAttributeDescription
num String | Number

1000 | 10000000.001

Return:

String

1,000 | 10,000,000.001

public addKey(collection: Array<Object>, prefix: String): Array<Object> source

import {addKey} from 'mytoolkit/src/array.js'

usage - react list render

Params:

NameTypeAttributeDescription
collection Array<Object>

a list of plain object

prefix String
  • optional

add prefix for each key

Return:

Array<Object>

return a copy list of plain object who's 'key' property has been setted

public angle2deg(angle: *): * source

import {angle2deg} from 'mytoolkit/src/utils.js'

Params:

NameTypeAttributeDescription
angle *

Return:

*

public assert(condition: *, message: *) source

import {assert} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
condition *
message *

public batchSetStyle(args: ...*) source

import {batchSetStyle} from 'mytoolkit/src/dom.js'

Params:

NameTypeAttributeDescription
args ...*

public compact(array: Array): Array source

import {compact} from 'mytoolkit/src/array.js'

Params:

NameTypeAttributeDescription
array Array

a simple array

Return:

Array

a new array without false value

public compose(fns: ...*): * source

import {compose} from 'mytoolkit/src/func.js'

Params:

NameTypeAttributeDescription
fns ...*

Return:

*

public currentTime(): Number source

import {currentTime} from 'mytoolkit/src/utils.js'

Return:

Number

miniseconds since 00:00:00 UTC on January 1, 1970

public dashToCamel(dashStr: *): * source

import {dashToCamel} from 'mytoolkit/src/string.js'

Params:

NameTypeAttributeDescription
dashStr *

Return:

*

public debounce(func: Function, wait: Number, immediate: Boolean): Function source

import {debounce} from 'mytoolkit/src/func.js'

Params:

NameTypeAttributeDescription
func Function

any function

wait Number

the duration that get off multiple call

immediate Boolean

if immediate set true, the func will get called by the first time call and won't called during the wait time

Return:

Function

a wrapper of func, multiple called wrapper during wait time, it will only call func one time.

public deepCopy(obj: *): * source

import {deepCopy} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
obj *

any type in javascript

Return:

*

the copy of obj

public deepEqual(a: *, b: *): boolean source

import {deepEqual} from 'mytoolkit/src/base.js'

a way to tell if two object hold the same value recursively.

Params:

NameTypeAttributeDescription
a *
b *

Return:

boolean

public deg2angle(deg: *): * source

import {deg2angle} from 'mytoolkit/src/utils.js'

Params:

NameTypeAttributeDescription
deg *

Return:

*

public delay(func: Function, wait: Number, args: ...any): Number source

import {delay} from 'mytoolkit/src/func.js'

Params:

NameTypeAttributeDescription
func Function

this is function param

wait Number

miniseconds of delay

args ...any

arg list for the func when it called after wait time

Return:

Number

relay of whate setTimeout returns

public drawArc(objectPattern: {"innerRadius": *, "outerRadius": *, "startAngle": *, "endAngle": *}): * source

import {drawArc} from 'mytoolkit/src/draw.js'

Params:

NameTypeAttributeDescription
objectPattern {"innerRadius": *, "outerRadius": *, "startAngle": *, "endAngle": *}
  • default: {"innerRadius":null,"outerRadius":null,"startAngle":null,"endAngle":null}

Return:

*

public drawEquilateral(objectPattern: {"radius": *, "startAngle": *, "sidesNum": *}): * source

import {drawEquilateral} from 'mytoolkit/src/draw.js'

Params:

NameTypeAttributeDescription
objectPattern {"radius": *, "startAngle": *, "sidesNum": *}
  • default: {"radius":null,"startAngle":null,"sidesNum":null}

Return:

*

public drawLine(points: *): string source

import {drawLine} from 'mytoolkit/src/draw.js'

Params:

NameTypeAttributeDescription
points *

Return:

string

public echo(arg: Any): Any source

import {echo} from 'mytoolkit/src/func.js'

mimic command echo

Params:

NameTypeAttributeDescription
arg Any

currently only accept and return the first arg

Return:

Any

arg

public excludeProps(obj: *, exclude: *[]): * source

import {excludeProps} from 'mytoolkit/src/object.js'

Params:

NameTypeAttributeDescription
obj *
exclude *[]
  • optional
  • default: []

Return:

*

public extend(target: *, args: ...*): * source

import {extend} from 'mytoolkit/src/object.js'

Params:

NameTypeAttributeDescription
target *
args ...*

Return:

*

public getProp(obj: *, nameArray: *, defaultValue: string): * source

import {getProp} from 'mytoolkit/src/object.js'

Params:

NameTypeAttributeDescription
obj *
nameArray *
defaultValue string
  • optional
  • default:

Return:

*

public guard(test: *, safeValue: *): * source

import {guard} from 'mytoolkit/src/func.js'

Params:

NameTypeAttributeDescription
test *
  • optional
  • default: defaultTest
safeValue *

Return:

*

public head(list: *, size: number): * source

import {head} from 'mytoolkit/src/array.js'

Params:

NameTypeAttributeDescription
list *
size number
  • optional
  • default: 1

Return:

*

public isArray(obj: *): * source

import {isArray} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
obj *

Return:

*

public isEmail(emailAddress: *): Boolean source

import {isEmail} from 'mytoolkit/src/base.js'

check the format for the input email

Params:

NameTypeAttributeDescription
emailAddress *

Return:

Boolean

true | false

public isEmpty(any: *): boolean source

import {isEmpty} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
any *

Return:

boolean

public isEmptyArray(arr: *): * source

import {isEmptyArray} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
arr *

Return:

*

public isEmptyObject(obj: *): * source

import {isEmptyObject} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
obj *

Return:

*

public isEmptyString(str: *): * source

import {isEmptyString} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
str *

Return:

*

public isFunction(obj: *): * source

import {isFunction} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
obj *

Return:

*

public isNumber(obj: *): * source

import {isNumber} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
obj *

Return:

*

public isObject(obj: *): * source

import {isObject} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
obj *

Return:

*

public isSet(value: *): Boolean source

import {isSet} from 'mytoolkit/src/base.js'

we assume Undefined or Null as unsetted value

Params:

NameTypeAttributeDescription
value *

Return:

Boolean

if typeOf value is Undefined or Null return false, else return true

public isString(obj: *): * source

import {isString} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
obj *

Return:

*

public isUInt(uint: Number | String): * source

import {isUInt} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
uint Number | String

unsigned int

Return:

*

(true | false)

public isUnset(value: *): Boolean source

import {isUnset} from 'mytoolkit/src/base.js'

we assume Undefined or Null as unsetted value

Params:

NameTypeAttributeDescription
value *

Return:

Boolean

if typeOf value is Undefined or Null return true, else return false

public midIndex(list: Array): Int source

import {midIndex} from 'mytoolkit/src/array.js'

Params:

NameTypeAttributeDescription
list Array

a simple array

Return:

Int

the index of the middle item in the list

public middle(list: Array): Any source

import {middle} from 'mytoolkit/src/array.js'

Params:

NameTypeAttributeDescription
list Array

a simple array

Return:

Any

any type in the list

public nlargest(list: Array, num: Number): Array source

import {nlargest} from 'mytoolkit/src/array.js'

Params:

NameTypeAttributeDescription
list Array

a simple array

num Number

the size of the largest list

Return:

Array

the larget list

public noop() source

import {noop} from 'mytoolkit/src/func.js'

a empty function doing nothing when called

public nsmallest(list: Array, num: Number): Array source

import {nsmallest} from 'mytoolkit/src/array.js'

Params:

NameTypeAttributeDescription
list Array

a simple array

num Number

the size of the smallest list

Return:

Array

the smallest list

public obj2qs(obj: Object): String source

import {obj2qs} from 'mytoolkit/src/object.js'

Params:

NameTypeAttributeDescription
obj Object

a plain object

Return:

String

a query string

public padZero(num: Number | String, size: NUmber): String source

import {padZero} from 'mytoolkit/src/string.js'

Params:

NameTypeAttributeDescription
num Number | String

the number going to be padded

size NUmber
  • optional

the length of the return string after padding

Return:

String

the padded string

public parseQuery(queryString: *): * source

import {parseQuery} from 'mytoolkit/src/utils.js'

Params:

NameTypeAttributeDescription
queryString *

Return:

*

public propCompact(obj: *): * source

import {propCompact} from 'mytoolkit/src/object.js'

Params:

NameTypeAttributeDescription
obj *

Return:

*

public queryJoin(left: String, right: String): String source

import {queryJoin} from 'mytoolkit/src/utils.js'

Params:

NameTypeAttributeDescription
left String

a url or query string

right String

a query string

Return:

String

a combined string

public quickSort(list: Array, func: Function): Array source

import {quickSort} from 'mytoolkit/src/array.js'

Params:

NameTypeAttributeDescription
list Array

a simple array

func Function

a compare function

Return:

Array

a sorted list

public randInt(min: Number, max: Number): Number source

import {randInt} from 'mytoolkit/src/utils.js'

Params:

NameTypeAttributeDescription
min Number

a simple int

max Number

a simple int

Return:

Number

a random int between min and max, maybe include min but not max

public randStr(size: Number, sourceCode: String): String source

import {randStr} from 'mytoolkit/src/utils.js'

Params:

NameTypeAttributeDescription
size Number

the size of the return string

sourceCode String

the source characters from which to generate the random string

Return:

String

a random string

public rem(objectPattern: {"designWidth": *, "designDPR": *, "rem2px": *, "bodyFontSize": *, "win": *, "doc": *}) source

import {rem} from 'mytoolkit/src/dom.js'

Params:

NameTypeAttributeDescription
objectPattern {"designWidth": *, "designDPR": *, "rem2px": *, "bodyFontSize": *, "win": *, "doc": *}
  • default: {"designWidth":null,"designDPR":null,"rem2px":null,"bodyFontSize":null,"win":null,"doc":null}

public reverse(obj: *): * source

import {reverse} from 'mytoolkit/src/utils.js'

Params:

NameTypeAttributeDescription
obj *

Return:

*

public selectProps(obj: *, select: *[]): * source

import {selectProps} from 'mytoolkit/src/object.js'

Params:

NameTypeAttributeDescription
obj *
select *[]
  • optional
  • default: []

Return:

*

public setStyle(ele: HTMLElement, name: String, value: String | Number) source

import {setStyle} from 'mytoolkit/src/dom.js'

Params:

NameTypeAttributeDescription
ele HTMLElement

dom element

name String

the style property name, it also can be an object to set multiple style properties

value String | Number

the value of the style property

Example:


setStyle(document.body, 'fontSize', '16px')
setStyle(doucment.body, {
 backgroundColor: '#ffffff',
 minHeight: '100vh'
})

public shallowEqual(a: *, b: *): boolean source

import {shallowEqual} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
a *
b *

Return:

boolean

public shuffle(list: Array): Array source

import {shuffle} from 'mytoolkit/src/array.js'

Params:

NameTypeAttributeDescription
list Array

a simple array

Return:

Array

return a reordered list

public strToDate(dateString: String, format: String): Date source

import {strToDate} from 'mytoolkit/src/utils.js'

Params:

NameTypeAttributeDescription
dateString String
format String

Return:

Date

instance of Date

public strToTime(dateString: Sting, format: String, seconds: Boolean): String source

import {strToTime} from 'mytoolkit/src/utils.js'

Params:

NameTypeAttributeDescription
dateString Sting
format String

supported formats

seconds Boolean

true | false

Return:

String

'1543047456700'

public tail(list: Array, size: Number): Any | Array source

import {tail} from 'mytoolkit/src/array.js'

Params:

NameTypeAttributeDescription
list Array

a simple array

size Number

the size of the trancated list

Return:

Any | Array

the trancated list or the last item

public timeToStr(time: String | Number, format: String): String source

import {timeToStr} from 'mytoolkit/src/utils.js'

Params:

NameTypeAttributeDescription
time String | Number

timestamp, maybe miniseconds

format String
  • optional

supported format as follow: 'yyyy-mm-dd hh:mm:ss' 'yyyy-mm-dd hh:mm' 'yyyy-mm-dd' 'yyyy-mm' 'hh:mm:ss' 'hh:mm'

Return:

String

date string 2018-11-28, 2018-11-28 14:03:23, 2000-01-01 01:01

public timestamp(): * source

import {timestamp} from 'mytoolkit/src/utils.js'
  • like currentTime but its seconds not miniseconds

Return:

*

seconds since 00:00:00 UTC on January 1, 1970

public trim(str: String): String source

import {trim} from 'mytoolkit/src/string.js'

Params:

NameTypeAttributeDescription
str String

a string that to be trim spaces at begin or end of the string.

Return:

String

a string without spaces at begin or end of itself.

public typeOf(obj: *): * source

import {typeOf} from 'mytoolkit/src/base.js'

Params:

NameTypeAttributeDescription
obj *

Return:

*

public uniq(array: Array): Array source

import {uniq} from 'mytoolkit/src/array.js'

Params:

NameTypeAttributeDescription
array Array

a simple array

Return:

Array

return a new array without doubled values