1.0.5 • Published 7 years ago
uti-js v1.0.5
UtiJs
Light-weight Js Utilities
Installation
npm i -S uti-jsUsage
const uti = require('uti-js');
uti.isDate(new Date()) // trueAPI
isString
uti.isString("hello world") === trueisEmptyString
uti.isEmptyString("") === true uti.isEmptyString("hello world") === falseisNull
uti.isNull(nulll) === trueisBoolean
uti.isBoolean(true) === trueisUndefined
uti.isUndefined(undefined) === trueisDate
uti.isDate(new Date()) === trueisObject
uti.isObject({}) === true uti.isObject([]) === falseisNumber
uti.isNumber(3) === trueisArrayAndHasLength
uti.isArrayAndHasLength([1,2,3]) === true uti.isArrayAndHasLength([]) === falseisFunction
uti.isFunction(function(){return 0}) === trueisAllPass
uti.isAllPass([1, 2, 3], uti.isNumber) === trueisInRange
uti.isInRange([1, 12], 5) === truelastDayOfMonth
uti.lastDayOfMonth(1, 2018) === 31formatDateHour
uti.formatDateHour(new Date()) === '2018-12-24 20:59:00'formatDate
uti.formatDate(new Date()) === '2018-12-24'formatHour
uti.formatHour(new Date()) === '20:59:00'makeArray
uti.makeArray(3, 0) // [0, 0, 0]ascending
[3, 1, 2].sort(uti.ascending) // [1, 2, 3]ascendingByProp
[{age: 10}, {age: 5}, {age: 20}].sort(uti.ascendingByProp('age')) // [{age: 5}, {age: 10}, {age: 20}]descending
- descendingByProp
descendingByIdx
[['bob', 5], ['alice', 10]].sort(uti.descendingByIdx(1)) // [['bob', 10], ['alice', 5]]descendingByIdxIdx
[['bob', [5]], ['alice', [10]]].sort(uti.descendingByIdxIdx(1, 0)) // [['bob', [10]], ['alice', [5]]]descendingByIdxProp
[['bob', {age: 5}], ['alice', {age: 10}]].sort(uti.descendingByIdxProp(1, 'age')) // [['bob', {age: 10}], ['alice', {age: 5}]]words
uti.words("hello world") // ["hello", "world"]uniqueWords
uti.words("hello hello world") // ["hello", "world"]diffOfSecs
uti.diffOfSecs(new Date(2018, 10, 1), new Date(2018, 10, 2)) // 24 * 60 * 60convTimeUnitCombToNum
uti.convTimeUnitCombToNum('3h') === 3 * 60 * 60percent
uti.percent(0.543) === "54.3%"noop
uti.noop() // nothing happensupperFirstChar
uti.upperFirstChar('hello') === 'Hello'isTheSameStrIgnoreCase
uti.isTheSameStrIgnoreCase('abc', 'AbC') === trueparseDate
uti.parseDate('2018-10-10').valueOf() === new Date(2018, 10, 10) uti.parseDate('2018-10').valueOf() === new Date(2018, 10) uti.parseDate('2018').valueOf() === new Date(2018,0) uti.parseDate('2018-2-30') instanceof Error === true uti.parseDate('2018-13-30') instanceof Error === true uti.parseDate('2018-13-30sd') instanceof Error === truerepeat
uti.repeat('-', 3) // '---'swap
uti.swap([1, 2, 3], 1, 2) // [1, 3, 2]randRange
uti.randRange(1, 5) // 3map
uti.map.call([1, 2], x => 2 * x) // [2, 4]slice
uti.slice.call([1, 2, 3], 0, 1) // 1range
uti.range(1, 5) // [1, 2, 3, 4, 5]execute
uti.execute(function(a, b) {console.log(a, b)}, 2, 1, 3) // 1 3 // 1 3inherit
function List() {} uti.inherit(List, Array) const list = new List() list.push(3) console.log(list) // List { '0': 1, length: 1}shuffle
uti.shuffle([1, 9, 8, 6]) // [9, 6, 8, 1]groupArr
const arr = [ {tag: 'one', content: 'A'}, {tag: 'one', content: 'B'}, {tag: 'two', content: 'C'}, {tag: 'two', content: 'D'}, {tag: 'three', content: 'E'}, {tag: 'three', content: 'F'} ]; // group by the `tag` property uti.groupArr(arr, 'tag') /* { one: [ {tag: 'one', content: 'A'}, {tag: 'one', content: 'B'} ], two: [ {tag: 'two', content: 'C'}, {tag: 'two', content: 'D'} ], three: [ {tag: 'three', content: 'E'}, {tag: 'three', content: 'F'} ] } */