Options
All
  • Public
  • Public/Protected
  • All
Menu

External module "Observable"

Index

Functions

Observable

  • Observable<T>(value: T): [T, Emitter]
  • Returns a proxied object and an emitter which will emit 'added', 'changed' and 'deleted' events whenever changes are made to the returned proxy. Useful for a simple state store.

    import { Observable } from 'goodish'
    const [o, bus] = Observable({ a: 1 })
    
    bus.on('added', (path: string[], value: any) => {})
    bus.on('deleted', (path: string[]) => {})
    bus.on('changed', (path: string[], value: any) => {})
    
    o.b = 2          // Fires 'added' event
    o.a = 2          // Fires 'changed' event
    delete o.a       // Fires 'deleted' event
    o.a = undefined  // Fires 'deleted' event

    Type parameters

    • T: object | any[]

    Parameters

    • value: T

    Returns [T, Emitter]

Private observeArray

  • observeArray<T>(arr: T, bus: Emitter, path?: string[]): T
  • template

    T

    Type parameters

    • T: any[]

    Parameters

    • arr: T
    • bus: Emitter
    • Default value path: string[] = []

    Returns T

Private observeObject

  • observeObject<T>(obj: T, bus: Emitter, path?: string[]): T
  • template

    T

    Type parameters

    • T: object

    Parameters

    • obj: T
    • bus: Emitter
    • Default value path: string[] = []

    Returns T

Generated using TypeDoc