bijection
![Dependency Status](http://img.shields.io/david/tjwebb/bijection.svg?style=flat-square)
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' });
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