Miss any of our Open RFC calls?Watch the recordings here! »

@devnetic/utils

1.2.0 • Public • Published

utils

Common utils for every single day tasks.

Node CI npm (scoped) npm bundle size (scoped) npm js-standard-style GitHub issues GitHub

Usage

dateFormat(time: Date, format: string, monthNames: string[] = [], dayNames: string[] = []): string

Year, month, and day tokens

Tokens are case-sensitive.

Input Example Description
YYYY 2014 4 or 2 digit year
YY 14 2 digit year
M MM 1..12 Month number
MMM MMMM Jan..December Month name in default English locale or set by function parameter
DD 01..31 Day of month

Hour, minute, second, millisecond, and offset tokens

Tokens are case-sensitive.

Input Example Description
H HH 0..23 Hours (24 hour time)
h hh 1..12 Hours (12 hour time used with a A.)
a A am PM Post or ante meridiem
m mm 0..59 Minutes
s ss 0..59 Seconds
u 436 Fractional seconds
const date = new Date('2020-04-24T18:12:02.432')
 
utils.dateFormat(date, 'HH:mm:ss') // 18:12:02
utils.dateFormat(date, 'hh:mm:ss a') // 06:12:02 pm

msToTime(milliseconds: number, format = 'HH:mm:ss'): string

This function receive a milliseconds parameter and an optional format parameter; format parameter is any valid dateFormat() function format string.

const date = new Date('2020-04-24T18:12:02.432')
 
utils.msToTime(1587871603551) // 22:26:43
utils.msToTime(1587871603551, 'hh:mm:ss A') // 10:26:43 PM

camelCase(value: string): string

utils.camelCase('someValue')  // someValue
utils.camelCase('some value')  // someValue
utils.camelCase('some  value')  // someValue
utils.camelCase('SOME VALUE')  // someValue

kebabCase(value: string): string

utils.kebabCase('someValue')  // some-value
utils.kebabCase('some value')  // some-value
utils.kebabCase('some  value')  // some-value
utils.kebabCase('SOME VALUE')  // some-value

pascalCase(value: string): string

utils.pascalCase('someValue')  // SomeValue
utils.pascalCase('some value')  // SomeValue
utils.pascalCase('some  value')  // SomeValue
utils.pascalCase('SOME VALUE')  // SomeValue

snakeCase(value: string): string

utils.snakeCase('someValue')  // some_value
utils.snakeCase('some value')  // some_value
utils.snakeCase('some  value')  // some_value
utils.snakeCase('SOME VALUE')  // some_value

titleCase(value: string): string

utils.titleCase('someValue')  // Somevalue
utils.titleCase('some value') // Some Value
utils.titleCase('some  value')  // Some_value
utils.titleCase('SOME VALUE')  // Some Value

fromEntries(entries: IterableIterator<[string, string]>): Object

This function transforms a list of key-value pairs into an object.

utils.fromEntries([['0', 'a'], ['1', 'b'], ['2', 'c']])  // { 0: 'a', 1: 'b', 2: 'c' }
 
const entries = new Map([
  ['foo', 'bar'],
  ['baz', 42]
])
utils.fromEntries(entries)  // { foo: 'bar', baz: 42 }

getType(value: any): string

This function returns the value type, but this function is not just a typeof wrapper, because actually can determinate a more detailed data type. The data type is always a string starting with capital letter.

utils.getType({})  // 'Object'
utils.getType(new Date())  // 'Date'
utils.getType(String())  // 'String'
utils.getType('')  // 'String'
utils.getType('123')  // 'String'
utils.getType(123)  // 'Number'
utils.getType(123.4)  // 'Number'
utils.getType(true)  // 'Boolean'
utils.getType(false)  // 'Boolean'
utils.getType(BigInt(1))  // 'BigInt'
utils.getType([])  // 'Array'
utils.getType(new Int16Array(3))  // 'Int16Array'

isEqual(value: any, other: any): boolean

This function evaluate equality between two values, the values could by any data type, including nested object.

utils.isEqual(1, 1)  // true
utils.isEqual(1.23, 1.23)  // true
utils.isEqual('1', '1')  // true
utils.isEqual(true, true)  // true
utils.isEqual(undefined, undefined)  // true
utils.isEqual(null, null)  // true
utils.isEqual({}, {})  // true
utils.isEqual({ foo: 'bar' }, { foo: 'bar' })  // true
utils.isEqual([], [])  // true
utils.isEqual(['foo'], ['foo'])  // true
utils.isEqual(['foo', { foo: 'bar' }, 1, 'a'], ['foo', { foo: 'bar' }, 1, 'a'])  // true
utils.isEqual(['foo', { foo: 'bar' }, 1, 'a'], ['foo', { foo: 'baz' }, 1, 'a'])  // false
utils.isEqual(true, 1)  // false
utils.isEqual({ foo: 'bar' }, {})  // false

isFloat(value: any): boolean

This function check is a value is a valid float value.

utils.isFloat(123.4)  // true
utils.isFloat(-123.4)  // true
utils.isFloat(Math.PI)  // true
utils.isFloat('123')  // false
utils.isFloat(123)  // false
utils.isFloat(-123)  // false
utils.isFloat('-123')  // false
utils.isFloat('a')  // false
utils.isFloat({})  // false
utils.isFloat('')  // false
utils.isFloat([])  // false

isInteger(value: any): boolean

This function check is a value is a valid float value.

utils.isInteger(42) // true
utils.isInteger('42') // true
utils.isInteger(4e2)  // true
utils.isInteger('4e2')  // true
utils.isInteger(' 1 ')  // true
utils.isInteger(0.0)  // true
utils.isInteger(Math.PI)  // false
utils.isInteger('') // false
utils.isInteger(' ')  // false
utils.isInteger('a')  // false
utils.isInteger(42.1) // false
utils.isInteger('1a') // false
utils.isInteger('4e2a') // false
utils.isInteger({}) // false
utils.isInteger('') // false
utils.isInteger([]) // false
utils.isInteger(null) // false
utils.isInteger(undefined)  // false
utils.isInteger(NaN)  // false

isJSON(value: any): boolean

This function check is a value is a valid JSON value.

utils.isJSON({})  // true
utils.isJSON({ foo: 'bar' })  // true
utils.isJSON(true)  // false
utils.isJSON(false)  // false
utils.isJSON(new Date())  // false
utils.isJSON('')  // false
utils.isJSON(1)  // false
utils.isJSON(1.23)  // false
utils.isJSON({ foo: BigInt(9007199254740991) })  // false

isNumeric(value: any): boolean

This function check is a string value is a valid numeric value.

utils.isNumeric('123')  // true
utils.isNumeric(123)  // true
utils.isNumeric(123.4)  // true
utils.isNumeric('-123.4')  // true
utils.isNumeric(-123)  // true
utils.isNumeric('-123')  // true
utils.isNumeric(Math.PI)  // true
utils.isNumeric('a')  // false
utils.isNumeric({})  // false
utils.isNumeric('')  // false
utils.isNumeric([])  // false

matchAll(value: string, regex: RegExp): RegExpMatchArray[]

This function returns all matches for the given RegEx.

utils.matchAll('Lorem', /[aeiou]/g)  // [... two matches objects]
utils.matchAll('Lorem', /[abcd]/g)  // []

uuid(): string

This function returns all matches for the given RegEx.

utils.uuid()  // Version 4 UUID Example: // 056e34a3-f88e-4d48-a001-bf70c9aefa40

Install

npm i @devnetic/utils

DownloadsWeekly Downloads

1

Version

1.2.0

License

MIT

Unpacked Size

35 kB

Total Files

19

Last publish

Collaborators

  • avatar