ostrio:jsextensions

v0.0.4Published 10 years ago

This package has not had recent updates. Please investigate it's current state before committing to using it in your project.

Useful Object Extensions for Meteor

Date:

  • Date.now() - Fix for ES if Date object has not now() method

Math:

  • Math.getRandom(min, max) - Get random number between max and min values, by default max is 1000 and min is 0

Object

  • Object.defineReactiveProperty(target, prop, value, callback, getCallback, setCallback) - define Reactive property with callbacks:
    • set callback before Setter and Getter
    • set callback on Setter
    • set callback on Getter
  • someArray.inArray(needle, searchInKey, searchByKey) - Extend Object prototype within inArray function
  • someArray.diff(comparableArray) - Compare two array, if matches found - return array of matches. If second parameter is true returns true/false if matches found/doesn't found
  • someObj.walk(callback) - Extend Object prototype within walk function callback, callback(object, value, key){}
  • Object.Merge - Merge the enumerable attributes of two objects deeply
  • someArray.random() - Extend Object prototype within random value pick up functionality for arrays

RegExp:

  • RegExp.escape(string) - Function is used to escape all dangerous/reserved symbols in strings before creating RegExp with it

String:

  • String.generate(length, symbols) - Generate random string from 1 to 10 symbols length, or with provided length, and made of provided symbols
  • String.random(Boolean) - Generate random string from 2 to 111 symbols length, if the only parameter is true - generate string without unsafely chars. Additionally you can provide length, and symbols as first and second parameter, so this function will act as alias for String.generate(length, symbols)
  • someString.clone() - Clone (a.k.a. create singleton) of String object. This method allows to resolve issue with variable's referencing. See performance here

clone() example:

1var str = 'abc';
2var str2 = str.clone();
3str = 'cde';
4console.log(str2); //-> 'abc'