Skip to content

Global ​

ajax ​

js
ajax(url, [options])

Since

0.1.0

Arguments

  • url (string): The request url.
  • [options] (Object): The ajax options.
    • [async = true] (boolean): If the request is send asynchronously.
    • [beforeSend] (Function): The callback called before the request sent. If it returns false, then the request will not be sent.
    • [data = null] (string|Object): The data sent.
    • [headers = null] (Object): The request headers.
    • [method = "get"] (string): The request method.
    • [responseType = "json"] (string): How to parse the response.
    • [timeout = 0] (number): The timeout.

Return

  • (Promise)

classNames ​

js
classNames(...args)

Generate the className value of an element by any number of arguments. It is same as JedWatson/classnames.

Since

0.10.0

Arguments

  • [args] (any[]): See the below example.

Return

  • (string)

Example

js
classNames('foo', 'bar'); // => 'foo bar'
classNames('foo', { bar: true }); // => 'foo bar'
classNames({ 'foo-bar': true }); // => 'foo-bar'
classNames({ 'foo-bar': false }); // => ''
classNames({ foo: true }, { bar: true }); // => 'foo bar'
classNames({ foo: true, bar: true }); // => 'foo bar'

// lots of arguments of various types
classNames('foo', { bar: true, duck: false }, 'baz', { quux: true }); // => 'foo bar baz quux'

// other falsy values and none of string, object and array are just ignored
classNames(null, false, 'bar', undefined, 0, 1, true, { baz: null }, ''); // => 'bar'

// Arrays will be recursively flattened as per the rules above
const arr = ['b', { c: true, d: false }];
classNames('a', arr); // => 'a b c'

css ​

js
css(el, [prop])

Get the value of the specified or all CSS properties.

Since

0.1.0

Arguments

  • el (Element|string): an element or a CSS selector string.
  • [prop] (string): CSS property name.

Return

  • (string|Object)

Example

js
const el = document.getElementById('el');

// Get all properties
css(el);
// => CSSStyleDeclaration { ... }

// Passing a selector string
css('#el');
// => CSSStyleDeclaration { ... }

// Get the specified properties' value
css('#el', 'width');
// => '100px'

delay ​

js
delay(duration)

Return a promise, it will be resolved after the duration time.

Since

0.1.0

Arguments

  • duration (number): The duration.

Return

  • (Promise)

download ​

js
download(file, [fileName])

Download a url or a Blob object or a File object. This function originates from eligrey/FileSaver.js.

Arguments

  • file (string | Blob | File): a url string or a Blob object or a File object.
  • [fileName] (string): Prefer use this argument as file name, then the name of file if file is type of File, and finally the 'download' string.

Example

js
// Download the file located by a url string
download('https://micell.org/logo.svg', 'micell-logo.svg')

// Download the Blob
const blob = new Blob(['Hello, world!'], { type: 'text/plain;charset=utf-8' })
download(blob, 'hello-world.txt')

jsonp ​

js
jsonp(url, [options])

Since

0.1.0

Arguments

  • url (string): The request url
  • [options] (Object): The options.
    • [callback] (string): The callback called after the request success or failed.
    • [responseType = "json"] (string): How to parse the response.
    • [timeout = 0] (number): The request timeout.

Return

  • (Promise)

md5 ​

js
md5(input)

Since

0.4.0

Arguments

  • input (string | number[] | Uint8Array)

Return

  • (string)

Example

js
md5('hello 你好')
// => '429f2c0b03ebc9911455cbec2a09bc6f'

noop ​

This is an empty function, accepting no argument, returning no value.

Since

0.1.0

numberFormat ​

js
numberFormat(number, [digits], [dot], [sep])

Format a number.

Since

0.1.0

Arguments

  • number (number): The number to be formatted.
  • [digits = -1] (number): The length of decimal part. If it's -1, then the original decimal part will be preserved. It it's greater than -1, the the last of the preserved digits will be obtained with Math.round.
  • [dot = "."] (string): The delimiter of the integer and decimal part.
  • [sep = ","] (string): The thousand separator.

Return

  • (string)

Example

js
numberFormat(3.1415);
// => '3.1415'
numberFormat(3.1415, 3);
// => '3.142'

raf ​

js
raf(callback)

It is same as requestAnimationFrame when supported. Or, use setTimeout to simulate.

Since

0.2.0

Arguments

  • callback (Function): The function to be invoked before the next repaint. A DOMHighResTimeStamp similar to be returned by performance.now() is passed to be as the first argument.

Return

  • (number): The timer id to be used to cancel the next callback.

Example

js
raf(time => console.log(time))
// => 120.123

const timerId = raf(() => console.log('never happen'))
raf.cancel(timerId)

randomNumbers ​

js
randomNumbers(start, end, length)

Return an array of random integer which is greater than or equal to start and less than or equal to end. In array, each other is not equal.

Since

0.8.0

Arguments

  • start (number): The minimum integer.
  • end (number): The maximum integer.
  • length (number): The number of integers.

Return

  • (numbers[])

Example

js
randomNumbers(1, 10, 5)
// => [9, 4, 1, 5, 7]

randomString ​

js
randomString([len], [chars])

Return a random string which consists of the characters specified by chars.

Since

0.1.0

Arguments

  • [len = 32] (number): The length of random string, default is 32.
  • [chars] (string): The character set, default is lower letters, upper letters and digits.

Return

  • (string)

Example

js
randomString();

// Generate an 8 length string.
randomString(8);

// Generate a random digit string.
randomString(undefined, '0123456789');

uuid ​

js
uuid()

Generate a UUID based on random numbers, see algorithm in rfc4122.

Since

0.1.0

Return

  • (string)

Example

js
uuid();
// => 'fedb3747-4208-475d-b473-e51b583cddaf'

Released under the MIT License.