npm.io
1.8.0 • Published 2 years ago

everyday-utils

Licence
MIT
Version
1.8.0
Deps
4
Size
283 kB
Vulns
0
Weekly
0
Stars
1

everyday-utils

Everyday utilities

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

API

# EventEmitter src/eventemitter.ts#L16
# MapFactory src/everyday-utils.ts#L528
# MapMap src/everyday-utils.ts#L459
# MapMapSet src/everyday-utils.ts#L490
# MapSet src/everyday-utils.ts#L385
# WeakMapFactory src/everyday-utils.ts#L564
# WeakMapSet src/everyday-utils.ts#L432
# Deferred src/everyday-utils.ts#L320
# 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
    # 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)  =>

# 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
    # 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)  =>

# 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)  =>

# 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