Signals

SignalsPlugin.

interface Signal  {
  boolean?: boolean
  cssString?: string
  id: SignalId
  number?: number
  property: Property
  scalar?: Scalar
  string?: string
  sub: (func: SignalFunction) => Signal
  subs: Array<SignalFunction>
  unsub: (func: SignalFunction) => Signal
}
type SignalFunction = (signal: Signal) => void
interface SignalIdsEventDetail  {
  signalIds: Array<SignalId>
  target: string
}
type SignalRecord = Record<string, Signal>
type SignalScalarRecord = Record<SignalId, Scalar>
interface SignalsPlugin 
extends Plugable {
  install: function
  signal: SignalsSignalFunction
  signals: SignalsRecord
}
type SignalsRecord = Record<string, SignalRecord>
type SignalsSignalFunction = (arg: string | SignalId | PropertyObject, nameOrTarget?: string, type?: string) => ArrayOf2<Signal, boolean>
/** @implements Signal */
class SignalClass {
  assurePropertyType: (typeDefault: string) => void
  boolean?: boolean
  cssString?: string
  id: SignalId
  number?: number
  property: Property
  scalar?: Scalar
  string?: string
  sub: (func: SignalFunction) => Signal
  subs: Array<SignalFunction>
  unsub: (func: SignalFunction) => Signal
}
/** @implements SignalsPlugin */
class SignalPluginClass {
  install: function
  signal: SignalsSignalFunction
  signals: SignalsRecord
}