bijection

0.6.1 • Public • Published

bijection

NPM version Build status Dependency Status

Map an input Object x to an output Object y via a bijective function f, i.e. f: X -> Y

Install

$ npm install bijection --save

Usage

var Bijection = require('bijection');
var LegacyAccount = {
  identity: 'crmacct',
  attributes: {
    crmacct_id: 'integer',
    crmacct_name: 'string'
  }
};
var Account = {
  identity: 'Account',
  attributes: {
    id: 'integer',
    sobriquet: 'string',
  }
};
var AccountBijection = new Bijection({
  domain: Account,
  codomain: [ LegacyAccount ],
  mapping: {
    id: 'crmacct_id',
    sobriquet: 'crmacct_name'
  }
});
var tjwebbLegacyAccount = AccountBijection.map({ id: 1, sobriquet: 'tjwebb' });
/**
 * tjwebbLegacyAccount = {
 *   crmacct_id: 1,
 *   crmacct_name: 'tjwebb'
 * };
 */

API

new Bijection(f)

Create a new bijection between two domains

@param description
f.domain The input domain
f.codomain The output domain
f.mapping Declarative object that indicates the mapping from X -> Y

.map(x)

Map an input Object x to an output Object y via a bijective function f, i.e. f: X -> Y

@param description
x The input object to map onto codomain Y
@return description
y A particular image of codomain Y resulting from mapping an input x onto it

License

MIT

Package Sidebar

Install

npm i bijection

Weekly Downloads

3

Version

0.6.1

License

MIT

Last publish

Collaborators

  • tjwebb