1.5.0 • Published 7 years ago

@deloittesolutions/stdlib v1.5.0

Weekly downloads
15
License
UNLICENSED
Repository
github
Last release
7 years ago

stdlib

Everything missing from the standard library

Install

Install the profile with npm:

npm i -S @deloittesolutions/stdlib

Usage

Array

Flatten an array:

const stdlib = require('stdlib');

// stdlib.array.flatten(source);
const destination = stdlib.array.flatten([1, [2, 3], [4, 5], 6]);

// destination = [1, 2, 3, 4, 5, 6]

Create an array of numbers:

const stdlib = require('stdlib');

// stdlib.array.range(size);
const destination = stdlib.array.range(10);

// destination = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Sample from an array:

const stdlib = require('stdlib');

// stdlib.array.sample([1,2,3,4])
const sample = stdlib.array.sample([1, 2, 3, 4])

// (sample in [1, 2, 3, 4]) === true

Element

Generate an ID:

const stdlib = require('stdlib');

// stdlib.element.generateId();
const id = stdlib.element.generateId();

// id = '1'

Executor

Debounce a function:

const stdlib = require('stdlib');

// stdlib.executor.debounce(function, wait);
const fn = stdlib.executor.debounce(() => { console.log('hello'); }, 150);

Memoize a function:

const stdlib = require('stdlib');

// stdlib.executor.memoize(function);
const fn = stdlib.executor.memoize(() => new Date());

const d1 = fn();

// d1 = '2017-04-11T10:25:18.161Z'

const d2 = fn();

// d2 = '2017-04-11T10:25:18.161Z' (d2 === d1)

Retry a function:

const stdlib = require('stdlib');

// stdlib.executor.retry(function, options);
const fn = stdlib.executor.retry(() => Promise.resolve(), {maxRetries: 5, retryTimeout: 1000});

Object

Clone an object:

const stdlib = require('stdlib');

// stdlib.object.clone(source);
const clone = stdlib.object.clone({foo: 'bar'});

// clone = {foo: 'bar'}

Merge various sources objects into a destination object:

const stdlib = require('stdlib');

// stdlib.object.merge(destination, ...sources);
const destination = stdlib.object.merge({foo: 'bar'}, {foo: 'baz', baz: [1, 2]}, {baz: [3]});

// destination = {foo: 'baz', baz: [3]}

Replace the properties of a destination object by the properties of a source object:

const stdlib = require('stdlib');

// stdlib.object.replace(destination, source);
const destination = stdlib.object.replace({foo: 'bar', baz: 1}, {foo: 'baz', bar: 2});

// destination = {foo: 'baz', bar: 2}

Update the properties of a destination object by the properties of various source objects:

const stdlib = require('stdlib');

// stdlib.object.update(destination, ...sources);
const destination = stdlib.object.update({foo: 'bar'}, {foo: 'baz', baz: [1, 2]}, {baz: [3]});

// destination = {foo: 'baz', baz: [3, 2]}

String

Convert a source object to camel case:

const stdlib = require('stdlib');

// stdlib.string.camelCase(source);
const destination = stdlib.string.camelCase('Hello World');

// destination = 'helloWorld'