@mobilabs/overslash

1.0.9 • Public • Published

Overslash

NPM version GitHub last commit Github workflow Test coverage npm bundle size License

A tiny modular Javascript utility library

Overslash is an utility library as Underscore and Lodash. However, Overslash doesn't pretend to compete with these honorable libraries. Overslash implements only a small subset of the functions that can be found in these library.

Overslash ambition is quite different. Overslash is modular. You can build a version with only the subset of the functions you need.

Then, you can embed it in your own library. So, you can ship your library without any external dependencies.

Overslash is intended to run on both Node.js and ECMAScript 2015 (ES6) compliant browsers.

API

Method                  | Description
_.isUndefined(n)        | Returns true if the variable n is undefined (else false),
_.isNull(n)             | Returns true if the value of n is null,
_.isBoolean(n)          | Returns true if the value of n is a boolean,
_.isString(n)           | Returns true if the value of n is a string,
_.isNumber(n)           | Returns true if the value of n is a number,
_.isNaN(n)              | Returns true if the value of n is a NaN,
_.isOdd(n)              | Returns true if the value of n is an odd number,

_.isObject(n)           | Returns true if the variable n is an object,
_.isLiteralObject(n)    | Returns true if the variable n is a literal object,
_.isFunction(n)         | Returns true if the variable n is a function,
_.isArray(n)            | Returns true if the variable n is an array,
_.isMath(n)             | Returns true if the variable n is a Math object,
_.isDate(n)             | Returns true if the variable n is a Date,
_.isEmpty(n)            | Returns true if the a given array, string or object is empty,

_.clone(o)              | Clones (deep) a literal object or an array,
_.extend(o, s)          | Extends a given object with all the properties in passed-in, object(s),
_.keys(o)               | Retrieves all the names of the object's own enumerable properties,
_.forPropIn             | Parses all the names of the object's own enumerable properties,
_.assign                | extends source with target(s),

_.contains(arr, value)  | Returns true if the array contains the passed-in value,
_.flatten(arr)          | Flattens a nested array (the nesting can be to any depth),
_.max(arr)              | Returns the maximum value in the array,
_.min(arr)              | Returns the minimum value in the array,
_.share(arr)            | Returns the list of the elements the passed-in arrays have in common,
_.pull(arr, ...args)    | Removes the passed-in items from the array,
_.include(arr, ...args) | Returns the passed-in items included in the array,
_.partition(arr, crit)  | returns two list with metching and not matching criteria,

_.token()               | Returns a unique string pattern in base 36 ([0-9a-z]),
_.makeid()              | Returns a unique string pattern with a predefined length,
_.csv2array(csv)        | Converts an csv block to an array or arrays,

_.delay(fn, ...args)    | Executes the passed-in function after a delay,
_.inRange(n, min, max)  | Checks if a number is between a range of numbers,


Nota: We assume here that _ is a reference to Overslash.

How to embed Overslash in your library

Overslash is included in a Javascript module pattern. It exports only the variable Overslash outside this module. Thus, you can safely embed Overslash in your library without any risk to pollute your namespace.

Overslash module pattern looks like this:

(function(root, factory) {
  'use strict';

  if (typeof define === 'function' && define.amd) {
    define([''], factory);
  } else if (typeof exports === 'object') {
    module.exports = factory();
  } else {
    // Browser globals.
    root.Overslash = factory();
  }
}(this, function() {
  'use strict';

  var Overslash = {
    // ...
  };

  return Overslash;
}));

You just need to replace this by a specific namespace. For instance:

const $__ES6GLOB = {}; // <--- this is the namespace you defined
(function(root, factory) {
  // ...
    // Browser globals.
    root.Overslash = factory();
  }
}($__ES6GLOB, function() { // <--- replace this by your library namespace
  // ...

  // Returns the library name:
  return Overslash;
}));

const _ = $__ES6GLOB.Overslash; // <-- from here Overslash is available in
                                //     your library under the variable '_'

Or in a very simple way if you use a bundler that support import and export:

import _ from '@mobilabs/overslash';

...

License

MIT.

Dependencies (0)

    Dev Dependencies (11)

    Package Sidebar

    Install

    npm i @mobilabs/overslash

    Weekly Downloads

    3

    Version

    1.0.9

    License

    MIT

    Unpacked Size

    224 kB

    Total Files

    17

    Last publish

    Collaborators

    • jclo