Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

dataccom

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dataccom

JavaScript library that allows you to build a request to multiple sources, combine responses and transform the result according to a scheme.

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Dataccom

JavaScript library that allows you to build a request to multiple sources, combine responses and transform the result according to a scheme.

Installation

Install library via npm:

$ npm install dataccom

Concept

The main idea is to allow the developer to compose a query to multiple sources, retrieve the data and transform it according to the scheme.

How to Use

First of all, you need to open an interface and then you can build a chain of functions with lazy method fetch. Feel free to pass both simple and asynchronous functions. If you want to apply a scheme, use method apply to pass it. Note, if you call this method multiple times the scheme will be rewrited. Finally, if you ready to get the data - use method collect that returns a promise.

const dataccom = require('dataccom');

const scheme = {
  name: String,
  age: Number,
  university: String,
  specialty: String,
};

const userId = 10;

const result = dataccom
  .chain()
  .fetch(getUserData, userId)
  .fetch(getUserEducation, userId)
  .apply(scheme)
  .collect();

console.log(result);

/*
  The result is:
  {
    name: 'John',
    age: 20,
    university: 'Stanford University',
    specialty: 'Software Engineering'
  }
*/

How to build a scheme

Scheme is an object that contains fields names and it types (constructors). It can contain inner objects and arrays. All items of arrays must be of the same type. To specify an array type - use the next syntax:

const scheme = {
  faculty: String,
  specialty: String,
  students: [String], // Array of Strings
};

Note, if you want to use a specific constructor (like User class) you should pass a function that returns User instance, instead of passing User type.

Author

Yehor Bublyk: GitHubTwitter

Keywords

FAQs

Package last updated on 04 Jan 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc