everyday-utils
TypeScript icon, indicating that this package has built-in type declarations

1.8.0 • Public • Published

everyday-utils

Everyday utilities

npm i everyday-utils pnpm add everyday-utils yarn add everyday-utils

API

# EventEmitter src/eventemitter.ts#L16

# off(eventName, callback) src/eventemitter.ts#L98

    # eventName
    # callback

    off<K>(eventName, callback)  =>

# on(eventName, callback, options) src/eventemitter.ts#L69

    # eventName
    # callback
    # options

      EventEmitterOptions

    on<K>(eventName, callback, options)  =>

# once(eventName, callback) src/eventemitter.ts#L122

    # eventName
    # callback

    once<K>(eventName, callback)  =>

# MapFactory src/everyday-utils.ts#L528
# ctor src/everyday-utils.ts#L539

    Class<V>

# defaultArgs  =  [] src/everyday-utils.ts#L545

    never []

# get(key, args) src/everyday-utils.ts#L529

    # key
    # args

      any []

    get(key, args)  =>

# toJSON() src/everyday-utils.ts#L556
# MapMap src/everyday-utils.ts#L459
# delete(keyA, keyB) src/everyday-utils.ts#L477

    # keyA
    # keyB

    delete(keyA, keyB)  =>

      boolean
# get(keyA, keyB) src/everyday-utils.ts#L473

    # keyA
    # keyB

    get(keyA, keyB)  =>

      undefined | V
# has(keyA, keyB) src/everyday-utils.ts#L481

    # keyA
    # keyB

    has(keyA, keyB)  =>

      boolean
# set(keyA, keyB, value) src/everyday-utils.ts#L462

    # keyA
    # keyB
    # value

      any

    set(keyA, keyB, value)  =>

      number
# MapMapSet src/everyday-utils.ts#L490
# clear() src/everyday-utils.ts#L518

    clear()  =>

      void
# delete(keyA, keyB, value) src/everyday-utils.ts#L510

    # keyA
    # keyB
    # value

      any

    delete(keyA, keyB, value)  =>

      boolean
# get(keyA, keyB) src/everyday-utils.ts#L506

    # keyA
    # keyB

    get(keyA, keyB)  =>

      undefined | Set<V>
# has(keyA, keyB, value) src/everyday-utils.ts#L514

    # keyA
    # keyB
    # value

      any

    has(keyA, keyB, value)  =>

      boolean
# MapSet src/everyday-utils.ts#L385
# clear() src/everyday-utils.ts#L423

    clear()  =>

      void
# create(key) src/everyday-utils.ts#L399

    # key

    create(key)  =>

      void
# delete(key, value) src/everyday-utils.ts#L411

    # key
    # value

      any

    delete(key, value)  =>

      boolean
# get(key) src/everyday-utils.ts#L407

    # key

    get(key)  =>

      undefined | Set<V>
# has(key, value) src/everyday-utils.ts#L415

    # key
    # value

      any

    has(key, value)  =>

      boolean
# hasKey(key) src/everyday-utils.ts#L419

    # key

    hasKey(key)  =>

      boolean
# values() src/everyday-utils.ts#L403

    values()  =>

      V []
# WeakMapFactory src/everyday-utils.ts#L564
# WeakMapSet src/everyday-utils.ts#L432
# get(key) src/everyday-utils.ts#L446

    # key

    get(key)  =>

      undefined | Set<V>
# has(key, value) src/everyday-utils.ts#L454

    # key
    # value

      any

    has(key, value)  =>

      boolean
# set(key, value) src/everyday-utils.ts#L435

    # key
    # value

      any

    set(key, value)  =>

      number
# Deferred src/everyday-utils.ts#L320
# resolve src/everyday-utils.ts#L314

    # (value)

      # value

      (value)  =>

        void

# value src/everyday-utils.ts#L316
# when src/everyday-utils.ts#L313

    # (fn)

      # fn()

        fn()  =>

          void

(fn)  =>

    void
# Fluent

    C & [K in keyof T ]-?: T [K] extends boolean ? Fluent<C, T> : Fn<[ T [K] ], Fluent<C, T>> & {

    # not

      [K in keyof T ]-?: T [K] extends boolean ? Fluent<C, T> : never

    }
# ObjectFilterFn

    # (entry)

      # entry

        [ string, unknown ]

      (entry)  =>

        boolean

# Off src/eventemitter.ts#L11

    # ()

      ()  =>

        void

# Promised src/everyday-utils.ts#L370

    # (args)

      # args

      (args)  =>

        Promise<T>

# bool

    boolean

# Deferred() src/everyday-utils.ts#L320
# KeyedCache(getter) src/everyday-utils.ts#L356

    # getter(key, args)

      # key

        string

      # args

      getter(key, args)  =>

        Promise<T>

KeyedCache<T, U>(getter)  =>

    # (key, args)

      # key

        string

      # args

      (key, args)  =>

        Promise<T>
# accessors(target, source, fn, filter) src/everyday-utils.ts#L49

    # target
    # source
    # fn(key, value)

      # key

        Narrow<keyof S, string>

      # value

        S [Narrow<keyof S, string>]

      fn(key, value)  =>

        PropertyDescriptor

# filter(key, value)

    # key

      Narrow<keyof S, string>

    # value

      S [Narrow<keyof S, string>]

    filter(key, value)  =>

      boolean

accessors<S, T>(target, source, fn, filter)  =>

    # ()

      ()  =>

        void
# ansiColorFor(string) src/everyday-utils.ts#L167

    # string

      string

    ansiColorFor(string)  =>

      string
# asyncFilter(array, fn) src/everyday-utils.ts#L248

    # array

      T []

    # fn(item)

      # item

      fn(item)  =>

        Promise<boolean>

asyncFilter<T>(array, fn)  =>

    Promise<T []>
# asyncSerialMap(arr, fn) src/everyday-utils.ts#L127

    # arr

      T []

    # fn(item, index, arr)

      # item
      # index

        number

      # arr

        T []

      fn(item, index, arr)  =>

        Promise<U>

asyncSerialMap<T, U>(arr, fn)  =>

    Promise<U []>
# asyncSerialReduce(arr, fn, prev) src/everyday-utils.ts#L136

    # arr

      T []

    # fn(prev, next, index, arr)

      # prev
      # next
      # index

        number

      # arr

        T []

      fn(prev, next, index, arr)  =>

        Promise<U>

# prev

asyncSerialReduce<T, U>(arr, fn, prev)  =>

    Promise<U>
# attempt(x, quiet) src/everyday-utils.ts#L700

    # x()

      x()  =>

        void

# quiet  =  false

    boolean

attempt(x, quiet)  =>

    void
# bindAll(obj, target) src/everyday-utils.ts#L587

    # obj
    # target  =  obj

    bindAll<T, U>(obj, target)  =>

# chainSync(args) src/everyday-utils.ts#L182

    # args

      # ()

        ()  =>

          any

[]

chainSync(args)  =>

    # ()

      ()  =>

        void
# cheapRandomId() src/everyday-utils.ts#L45

    cheapRandomId()  =>

      string
# checksum(str) src/everyday-utils.ts#L621

    # str

      string

    checksum(str)  =>

      number
# chunk(arr, size) src/everyday-utils.ts#L13

    # arr

      T []

    # size

    chunk<T, L>(arr, size)  =>

      Chunk<T, L> []
# colorHash(string, minColorHex) src/everyday-utils.ts#L153

    # string

      string

    # minColorHex  =  '888'

      string

    colorHash(string, minColorHex)  =>

      string
# colorOf(id, sat, lum) src/everyday-utils.ts#L163

    # id

      string

    # sat  =  100

      number

    # lum  =  65

      number

    colorOf(id, sat, lum)  =>

      string
# debugObjectMethods(obj, ignoreKeys, { after, before }, name) src/everyday-utils.ts#L630

    # obj
    # ignoreKeys  =  []

      string []

    # hooks

# before src/everyday-utils.ts#L631

    # (key, args, stackErr)

      # key

        string

      # args

        any []

      # stackErr

        Error

      (key, args, stackErr)  =>

        void

}
# name  =  'anonymous'

    string

debugObjectMethods<T>(obj, ignoreKeys, { after, before }, name)  =>

# deepMutate(obj, walkFn)

    # obj

      any

    # walkFn(key, value, holder)

      # key

        string

      # value

        any

      # holder

        any

      walkFn(key, value, holder)  =>

        [ string, any ]

deepMutate(obj, walkFn)  =>

    any
# defineProperty(object, name, value) src/everyday-utils.ts#L255

    # object

      object

    # name

      PropertyKey

    # value

    defineProperty<T>(object, name, value)  =>

      object
# entries(obj) src/everyday-utils.ts#L20

    # obj

    entries<K, V, T>(obj)  =>

      readonly [ K, V ] []
    # obj

    entries<K, V, T extends  ArrayLike<any, T>>(obj)  =>

      readonly [ K, V ] []
# filter(obj, fn)
# filterMap(array, fn) src/everyday-utils.ts#L275

    # array

      T [] | readonly T []

    # fn(item, index, array)

      # item
      # index

        number

      # array

        T [] | readonly T []

      fn(item, index, array)  =>

        undefined | null | false | U

filterMap<T, U>(array, fn)  =>

    U []
# fromEntries(entries) src/everyday-utils.ts#L41

    # entries

      readonly [ K, V ] []

    fromEntries<K, V>(entries)  =>

      Record<K, V>
# getOwnProperty(object, name) src/everyday-utils.ts#L204

    # object

      object

    # name

      string

    getOwnProperty(object, name)  =>

      any
# getStringLength(str) src/everyday-utils.ts#L215

    # str

      string | number

    getStringLength(str)  =>

      number
# hexToRgb(hex) src/rgb.ts#L106

    # hex

      string

    hexToRgb(hex)  =>

      RGB
# hslToRgb(HSL) src/rgb.ts#L16

    HSL

    hslToRgb(HSL)  =>

      RGB
# includesAny(str, predicates) src/everyday-utils.ts#L244

    # str

      string

    # predicates

      string []

    includesAny(str, predicates)  =>

      boolean
# isClass(fn) src/everyday-utils.ts#L583

    # fn

      any

    isClass(fn)  =>

      boolean
# isEqual(x, y) src/is-equal.ts#L12

    # x

      any

    # y

      any

    isEqual(x, y)  =>

      boolean
# kebab(s) src/everyday-utils.ts#L110

    # s

      string

    kebab(s)  =>

      string
# keys(obj) src/everyday-utils.ts#L32

    # obj

    keys<K, T>(obj)  =>

      readonly K []
    # obj

    keys<K, T extends  ArrayLike<any, T>>(obj)  =>

      readonly K []
# luminate(color, amount) src/rgb.ts#L66

    # color

      string

    # amount

      number

    luminate(color, amount)  =>

      string
# memoize(fn, map) src/everyday-utils.ts#L302

    # fn

      Fn<P, R>

    # map  =  ...

      any

    memoize<P, R>(fn, map)  =>

# modWrap(x, N) src/everyday-utils.ts#L712

    # x

      number

    # N

      number

    modWrap(x, N)  =>

      number
# mutable(array) src/everyday-utils.ts#L523

    # array

      readonly T []

    mutable<T>(array)  =>

      T []
# nonNull(obj)

    # obj

    nonNull<T>(obj)  =>

      Pick<T, keyof NonNull<T>>
# noop() src/everyday-utils.ts#L710

    noop()  =>

      void
# omit(obj, props)

    # obj
    # props

    omit<T, K>(obj, props)  =>

      Omit<T, K extends readonly U [] ? U : never>
# once(fn) src/everyday-utils.ts#L606

    # fn

    once<T>(fn)  =>

# padCenter(str, length) src/everyday-utils.ts#L208

    # str

      string | number

    # length

      number

    padCenter(str, length)  =>

      string
# padEnd(str, length, char) src/everyday-utils.ts#L224

    # str

      string | number

    # length

      number

    # char  =  ' '

      string

    padEnd(str, length, char)  =>

      string
# padStart(str, length, char) src/everyday-utils.ts#L219

    # str

      string | number

    # length

      number

    # char  =  ' '

      string

    padStart(str, length, char)  =>

      string
# pick(obj, props)

    # obj
    # props

    pick<T, K>(obj, props)  =>

      Pick<T, K extends readonly U [] ? U : never>
# promisify(fn) src/everyday-utils.ts#L372

    # fn

      any

    promisify(fn)  =>

      # (this, args)

        # this

          any

        # args

          any []

        (this, args)  =>

          Promise<any>
# removeFromArray(arr, el, quiet) src/everyday-utils.ts#L172

    # arr

      T []

    # el
    # quiet  =  false

      boolean

    removeFromArray<T>(arr, el, quiet)  =>

      T [] | void
# repeatString(s, x) src/everyday-utils.ts#L229

    # s

      string

    # x

      number

    repeatString(s, x)  =>

      string
# rgbToHex(rgb) src/rgb.ts#L129

    # rgb

      RGB

    rgbToHex(rgb)  =>

      string
# rgbToHsl(RGB) src/rgb.ts#L44

    RGB

    rgbToHsl(RGB)  =>

      HSL
# saturate(color, amount) src/rgb.ts#L86

    # color

      string

    # amount

      number

    saturate(color, amount)  =>

      string
# shallowEqual(a, b) src/everyday-utils.ts#L189

    # a

      object

    # b

      object

    shallowEqual(a, b)  =>

      boolean
# shallowEqualArray(a, b) src/everyday-utils.ts#L193

    # a

      unknown

    # b

      unknown

    shallowEqualArray(a, b)  =>

      boolean
# shuffle(arr) src/everyday-utils.ts#L123

    # arr

      T []

    shuffle<T>(arr)  =>

      T []
# sortCompare(a, b) src/everyday-utils.ts#L280

    # a

      string | number

    # b

      string | number

    sortCompare(a, b)  =>

      0 | 1 | -1
# sortCompareKeys([ string, any ], [ string, any ]) src/everyday-utils.ts#L284

    [ string, any ][ string, any ]

    sortCompareKeys([ string, any ], [ string, any ])  =>

      0 | 1 | -1
# sortObjectInPlace(data) src/everyday-utils.ts#L288

    # data

    sortObjectInPlace<T extends  Record<string, any>>(data)  =>

# splitAt(string, index) src/everyday-utils.ts#L298

    # string

      string

    # index

      number

    splitAt(string, index)  =>

      readonly [ string, string ]
# stripAnsi(str) src/everyday-utils.ts#L238

    # str

      string | number

    stripAnsi(str)  =>

      string
# styleToCss(style) src/everyday-utils.ts#L114

    # style

      CSSStyleDeclaration

    styleToCss(style)  =>

      string
# tick() src/everyday-utils.ts#L149

    tick()  =>

      Promise<void>
# toFluent(Schema, cb)

    # Schema
    # cb(settings)

      # settings

      cb(settings)  =>

toFluent<T extends  Class<any>, C extends  Fn<any, any>, S>(Schema, cb)  =>

# wait(ms) src/everyday-utils.ts#L145

    # ms

      number

    wait(ms)  =>

      Promise<void>

Credits

Contributing

Fork or edit and submit a PR.

All contributions are welcome!

License

MIT © 2023 stagas

Readme

Keywords

none

Package Sidebar

Install

npm i everyday-utils

Weekly Downloads

73

Version

1.8.0

License

MIT

Unpacked Size

289 kB

Total Files

29

Last publish

Collaborators

  • stagas