Miss any of our Open RFC calls?Watch the recordings here! »

@practicaloptimism/uniplexer

0.0.1 • Public • Published

🦄 Uniplexer

npm version downloads coverage report pipeline status

💻 Interactive Demos (planned, please wait awhile) | 🎬 Video Development Journal

Uniplexer is a Multiplexer for 3rd party service providers and application protocols.

This project is a work-in-progress.

About

Multiplexers are instruments or tools that allow you to toggle or select from a list of multiple services and protocols including heavifying from one feature or another from service to service at the cost of providing a credential or set of credentials for those services you're using.

3rd Party Services such as database, computer, and distributed ledger technology services are numerous in availability in the community and yet having a multiplexer provide a single interface to all those services helps to reduce the complexity of accessing the services you need when you need them.

Application Protocols are diverse and require various needs depending on the application. A common protocol interface for any set of specific protocols is tremendously useful to make transitioning to new protocols easy and fast for development time experience measures.

Benefits

  • 🌈 Programmatically Select Program Architecture: The application can select the operations to perform by an application protocol or provider by calling the program indirectly through a multiplexer function that selects the operation based on the list of credential ids provided by the application program. Instead of hardcoding a specific service provider like a particular database engine you are free to change database providers by selecting another credential id from your list of initialized credential ids.

Features

  • 🌿 Multiple Provider Types: Multiplex between multiple provider types such as database, asymmetric cryptography, network protocols, computer services, distributed ledger technology, file system, hash function and text search (work-in-progress)

Limitations

  • 🍼 Experimental: Lots of love and care from grandma and newborn scientists means this project is a work-in-progress. Grandmas need more time to understand the next best boxing moves to make and babies just like to play around to see how things could work even better, not sure what it means to step.

Table of Contents

Additional Notes

Development Journal

Keep track of how this project is working as we roll out more features in our development journal.

Browser Compatibility

Uniplexer supports all browsers that are ES5-compliant (IE8 and below are not supported).

Installation Guide

Install the library using Node Package Manager (NPM)

If you're just getting started with Node.js and NPM, read this introduction or install both programs by visiting nodejs.org

npm install @practicaloptimism/uniplexer --save
Import the library using a JavaScript-based Programming Language

If you're just getting started programming in a language like JavaScript, you may learn how to setup an import statement in your local programming environment by visiting these resources: (1) JavaScript Import Export Tutorial with Examples, (2) import - javascript | mozilla

import * as uniplexer from '@practicaloptimism/uniplexer'
Or import the library using an HTML script tag
<script src="https://unpkg.com/@practicaloptimism/uniplexer@latest/compiled/index.js"></script>

Application Programmable Interface (API) Reference

Table of Contents:

Analytics API Reference
Asymmetric Cryptography API Reference
Chat Messaging API Reference
Computer Service API Reference
Database API Reference

This API Reference demonstrates a way to request and retrieve information from a database.

Distributed Ledger Technology API Reference
File System API Reference
Hash Function API Reference
Network Protocol API Reference
Provider Credential API Reference
Text Search API Reference

3rd Party Service Providers and Application Protocols

Table of Contents:

Asymmetric Cryptography Providers
Chat Messaging Providers
Computer Service Providers
Database Providers
Distributed Ledger Technology Providers
File System Providers
Hash Function Providers
Network Protocol Providers
Provider Credential Providers
Text Search Providers

Contribution

Everyone is free to welcome new members to contribute. Trust in yourself to know what to do and don't be afraid to ask for help when you need it. Read more about our contribution guide.

Documentation

Your pancake recipe matters. So please share how to improve ours by visiting our documentation page and sharing your latest findings on what makes pancakes tastey.

Acknowledgements

Thank you to everyone who contributes to the open ecosystem of software development. Your work is very important and a multiplexer cannot exist without the options ordered by the people and projects that enable you and I to select between those options.

Related Work

A list of some known (*)All-Purpose Multiplexers include: Uniplexer

A list of some known Asymmetric Cryptography Multiplexers include:

A list of some known Database Multiplexers include: Localforage

A list of some known Hash Function Multiplexers include:

A list of some known File System Multiplexers include: BrowserFS

A list of some known Network Protocol Multiplexers include: libp2p

A list of some known Distributed Ledger Technology Multiplexers include:

(*) The All-Purpose Multiplexer that Uniplexer seeks to be is "all-purpose" with respect to being general enough to be a useful software package for daily chores that people need being done in their application projects.

License

MIT

Install

npm i @practicaloptimism/uniplexer

DownloadsWeekly Downloads

0

Version

0.0.1

License

MIT

Unpacked Size

776 kB

Total Files

178

Last publish

Collaborators

  • avatar