1.0.0 • Published 2 months ago

@crabas0npm/nihil-fuga-aut v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

little-pubsub

Small publish & subscribe class

INSTALL

npm

npm i --save @crabas0npm/nihil-fuga-aut

USAGE

import PubSub from '@crabas0npm/nihil-fuga-aut'
const pubsub = new PubSub()

Example

import PubSub from '@crabas0npm/nihil-fuga-aut'
const pubsub = new PubSub()

pubsub.subscribe('event', (value) => {
  console.log(value)
})

pubsub.publish('event', 'hello')
// always runs handler
// (can use to overide littlePubsub.verbose setting without changing the behavior of the rest)
pubsub.publishVerbose('event', 'hello')

pubsub.unsubscribe('event', (value) => {
  console.log(value)
})

pubsub.hasSubscribers('event')

await pubsub.once('event')

API

pubsub(options)

verbose: when false only fires after value change

pubsub = new PubSub({
  verbose: false // default: true
})

subscribe

name: name of the channel to subscribe to handler: method context: context

pubsub.subscribe('event-name', (data) => {
  console.log(data)
})

unsubscribe

name: name of the channel to unsubscribe handler: method context: context

pubsub.unsubscribe('event-name', (data) => {
  console.log(data)
})

publish

name: name of the channel to publish to handler: method verbose: boolean

pubsub.publish('event-name', 'data')

publish

name: name of the channel to publish to handler: method

pubsub.publishVerbose('event-name', 'data')

once

name: name of the channel to publish to

await pubsub.once('event-name')

hasSubscribers

name: name of the channel to publish to

pubsub.hasSubscribers('event-name')
minimalcompilerStyleSheetajvcomputed-typesnativeObjectspringcontainscallbindredux-toolkitpasswordhigher-orderpathsequencevariables in csseslintpluginWebSocketsObject.fromEntriesArrayBuffer.prototype.slicees2016dayjsqueuefindhasOwneventDispatchermergestdliboperating-systemvalidatordeepemojiconsoleregexpFunction.prototype.nametrimRightgdprupjasminewalkingstatelesstestinglookPushECMAScript 2021webquotevariablesArrayBuffer#slicejavascripteventstyped arrayloggerlintthroatlesscssprivate dataserializetypeerrorcollection.es6RxJStoobjectirqasserttermspinnersdirchineseframeworkpropbind[[Prototype]]toolsbundlerflattenArray.prototype.findLastIndexcensorbootstrap cssvalidationassertionl10nTypeScriptpopmotiontaskES2022numberbuffersnegative zerotddreadablestreamES3Reflect.getPrototypeOfutilArrayBufferwritableURLArray.prototype.flattenastdescriptionchannelsliceprettytypeofexpressionbannerECMAScript 2016BigUint64Arraynamees-abstracttraversecompareguidmake dirmkdirpkarmaECMAScript 6tostringtagwatchFiletestshellqueueMicrotaskuser-streamsMapoutputmiddlewareforEachfixed-widthRxregular expressionswidthWeakMapmomentwhatwgtypedarraymime-dbUnderscorefastrgbcurlECMAScript 2022formsclientequalharmonygetintrinsicrmdirttysameValueZerosigtermwatchjsonschemaa11ydescriptorpackagescompile lessairbnboptimistformattingArrayFloat32Arrayconcatrm -frequalityString.prototype.trimES2015URLSearchParamscodestypesbootstrap lesssetPrototypeOffindLastdategradients css3iterateUint8ArrayYAMLuninstalllinuxcommandawesomesaucemulti-packagelrudebugsuperagentcommand-linewordbreakeast-asian-widthansiCSSStyleDeclarationsortedterminalwgetRegExp#flagsfast-copyECMAScript 2018Array.prototype.flatMappipeserializercryptofile systemtoStringTagaccessorvaluepromisevalidatethrottlefsgenericsphoneflagsES2016nodeimmutablemakeObject.valuesformfetch__proto__emitweakmapserializationdefinebrowserlistargv_.extendreadconfigsyntaxerrormkdirdataviewhookformcirculardefinePropertykeyfilterrequirepolyfillmatchAllfilestyleyamlapikoreancolumnslogESstyleguideconcurrency
1.0.0

2 months ago