@devnetic/utils
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.1 • 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): 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')
     
    const HOUR = 60 * 60 * 1000
    const MINUTE = 60 * 1000
    const SECOND = 1000
     
    utils.msToTime((22 * HOUR) + (26 * MINUTE) + (43 * SECOND)) // 22:26:43.0
    utils.msToTime((10 * HOUR) + (26 * MINUTE) + (43 * SECOND)) // 10:26:43.0
    utils.msToTime(MINUTE + (25 * SECOND)) // 00:01:25.0
    utils.msToTime(MINUTE + 500) // '00:01:00.5'

    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

    65

    Version

    1.2.1

    License

    MIT

    Unpacked Size

    36.3 kB

    Total Files

    19

    Last publish

    Collaborators

    • aagamezl