2.0.0 • Published 10 months ago

simply-pub-sub v2.0.0

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

simply-pub-sub

A simple pub/sub system. Pass the publisher factory your main function, and use the return function in its place. Use it's methods to subscribe and unsubscribe other functions, and it's as simple as that.

API

Publisher

Publisher(mainFnc) -> publish()

  • A factory that returns a publish function, who has several methods and custom properties attached to it.
  • Returns publish function, read below about functionality.
  • Terminates program if no function is passed.

subscribe(subName, fnc)

  • adds function to subscribers object with the key subName.
  • Terminates program if none string function are passed as arguments.

unsubscribe(subName)

  • removes a subscriber from the subscribers object.

unsubscribeAll()

  • removes all subscribers from the subscribers object.
  • it iterates the subcribers object, calling unsubscribe on all properties.

publish(...args)

  • calls and stores result of the main function, passing it args. Calls all subscribers with the result.
  • is returned from Publisher factory.
  • has all of the above methods and the below properties as properties.

subscribers

  • an object containing all the functions subscribed to publisher.

mainFunction

  • the function passed to Publisher factory.

Event

Event() -> event(...args)

  • Has the same API and functionality as Publisher, but doesn't accept or call main function, and instead passes arguments directly to subscribers.
ansi-escapesansi-stylesansi-regexanymatchbabel-jestargparsebabel-plugin-istanbulbabel-plugin-jest-hoistbabel-preset-current-node-syntaxbabel-preset-jestbalanced-matchbrace-expansionbracesbrowserslistbserbuffer-fromcamelcasecallsiteschalkchar-regexcaniuse-liteci-infocjs-module-lexercliuicocollect-v8-coveragecolor-convertcolor-nameconvert-source-mapconcat-mapcross-spawndebugdedentdeepmergedetect-newlinediff-sequenceselectron-to-chromiumemitteryemoji-regexerror-exescaladeescape-string-regexpesprimaexecaexitexpectfb-watchmanfast-json-stable-stringifyfill-rangefind-upfs.realpathfunction-bindgensyncget-caller-fileget-package-typeget-streamglobglobalsgraceful-fshashas-flaghtml-escaperimport-localhuman-signalsimurmurhashinflightinheritsis-arrayishis-core-moduleis-fullwidth-code-pointis-generator-fnis-numberis-streamisexeistanbul-lib-coverageistanbul-lib-instrumentistanbul-lib-reportistanbul-lib-source-mapsistanbul-reportsjest-changed-filesjest-circusjest-clijest-configjest-diffjest-docblockjest-eachjest-environment-nodejest-get-typejest-haste-mapjest-leak-detectorjest-matcher-utilsjest-message-utiljest-mockjest-pnp-resolverjest-regex-utiljest-resolvejest-resolve-dependenciesjest-runnerjest-runtimejest-snapshotjest-utiljest-validatejest-watcherjs-tokensjest-workerjs-yamljson-parse-even-better-errorsjsescjson5kleurlevenlines-and-columnslocate-pathlru-cachemake-dirmakeerrormerge-streammicromatchmimic-fnminimatchmsnatural-comparenode-int64node-releasesnormalize-pathoncenpm-run-pathonetimep-limitp-locatep-tryparse-jsonpath-existspath-is-absolutepath-keypath-parsepicocolorspicomatchpiratespkg-dirpretty-formatpromptspure-randreact-isrequire-directoryresolveresolve-cwdresolve-fromsemverresolve.exportsshebang-commandshebang-regexsignal-exitsisteransislashsource-mapsource-map-supportsprintf-jsstack-utilsstring-lengthstrip-ansistring-widthstrip-bomstrip-final-newlinestrip-json-commentssupports-colorsupports-preserve-symlinks-flagtest-excludetmplto-fast-propertiestype-detectto-regex-rangetype-festupdate-browserslist-dbv8-to-istanbulwalkerwhichwrap-ansiwrappywrite-file-atomicy18nyargsyallistyargs-parseryocto-queue
2.0.0

10 months ago

1.1.0

10 months ago

1.0.1

11 months ago

1.0.0

11 months ago