Options
All
  • Public
  • Public/Protected
  • All
Menu

Index

Functions

  • Type Parameters

    • T

    Parameters

    • Rest ...functions: Handle<T>[]

      Handle

    Returns Handle<T>

    T

    import { patterns } from "@stephen-shopopop/standard"
    import assert from 'assert/strict'

    const createEmailByName = patterns.compose(
    (name: string) => name + 'example.org',
    (name: string) => name + '@',
    )

    const email = createEmailByName('jean')

    assert.equal(email, 'jean@example.org')
  • match<T>(value: T): (<O>(...patterns: Pattern<T, O>[]) => ((defaultEvent?: Function<T, O>) => O))
  • Pattern matching

    import { patterns } from "@stephen-shopopop/std"
    import assert from 'assert/strict'

    const predicate = (name: string) => typeof name === 'string'
    const execution = (name: string) => name.toUpperCase()
    const pattern = patterns.when(predicate)(execution)

    const name = patterns.match('lorem')(pattern)()

    assert.equal(name, 'LOREM')

    Type Parameters

    • T

    Parameters

    • value: T

    Returns (<O>(...patterns: Pattern<T, O>[]) => ((defaultEvent?: Function<T, O>) => O))

      • Type Parameters

        • O

        Parameters

        Returns ((defaultEvent?: Function<T, O>) => O)

          • Parameters

            Returns O

  • Type Parameters

    • T

    Parameters

    • Rest ...functions: Handle<T>[]

      Handle

    Returns Handle<T>

    T

    import { patterns } from "@stephen-shopopop/standard"
    import assert from 'assert/strict'

    const sanitizeName = patterns.pipe(
    (name: string) => name.trim(),
    (name: string) => name.charAt(0).toUpperCase() + name.slice(1)
    )

    const name = sanitizeName(' jean ')

    assert.equal(name, 'Jean')
    • ```ts import { patterns } from "@stephen-shopopop/standard" import assert from 'assert/strict'

    const sanitizeName = patterns.pipe( (name: string) => name.trim(), (name: string) => name.charAt(0).toUpperCase() + name.slice(1), async(name: string) => await Promise.resolve(name + '!') )

    const name = await sanitizeName(' jean ')

    assert.equal(name, 'Jean!')

    
    
  • Pattern for pattern matching

    import { patterns } from "@stephen-shopopop/standard"

    const predicate = (name: string) => typeof name === 'string'
    const execution = (name: string) => name.toUpperCase()
    const pattern = patterns.when(predicate)(execution)

    Type Parameters

    • T

    Parameters

    Returns (<O>(execution: Function<T, O>) => Pattern<T, O>)

Generated using TypeDoc